超详细-Vivado配置Sublime+Sublime实现VHDL语法实时检查

news2024/9/20 9:41:24

目录

一、前言

二、准备工作

三、Vivado配置Sublime

3.1 Vivado配置Sublime

3.2 环境变量添加

3.3 环境变量验证

3.4 Vivado设置

3.5 配置验证

3.6 解决Vivado配置失败问题

四、Sublime配置

4.1 Sublime安装Package Control

4.2 Sublime安装VHDL插件

4.3 语法检查工具插件SublimeLinter-contrib-xvhdl

4.4 结果验证

五、Sublime常见操作

5.1 查看已安装插件

5.2 删除插件


一、前言

    对于使用过其他IDE或编辑工具如Sublime,Vim等小伙伴,在使用Vivado时会发现自带的编辑器很不友好,如缩进功能不友好,不支持高亮显示,不支持自动补全等常用功能。因次,使用第三方编译的需求是很强,但在网上搜索了相关的博文后,发现很多不全或场景不符,在踩了能踩的坑后,终于将整个流程整明白,配置成功,下面将分享整个配置的过程,希望后面的小伙伴能避坑,配置一步到位。注:本文是针对VHDL语言进行设置的,verilog的设置存在差异,可参照文章https://blog.csdn.net/zyp626/article/details/131878425

二、准备工作

    软件准备

1、sublime安装包(版本不做要求,可自行网上下载,本人使用的是2022版)

2、Vivado(已安装),使用的是Vivado2019.1

3、操作系统window10

    关于Sublime的安装就不做说明了,傻瓜式地一键点击,Vivado也是在已安装的前提,如果没有安装需要Vivado的安装包及安装说明可参见之前的文章https://blog.csdn.net/zyp626/article/details/128357763,里面有相关安装说明,并且Vivado是安装后就已破解,无需其他破解操作。

三、Vivado配置Sublime

3.1 Vivado配置Sublime

主要是指在Vivado中将Sublime配置为默认的编辑器,此部分之前写过文章Vivado配置外部编辑器,CSDN路径: https://blog.csdn.net/zyp626/article/details/128357763。为不用跳转方便查看,也将其主要内容搬运过来。

3.2 环境变量添加

    进行配置前,需要电脑上已安装外部编辑器,并且已添加到环境变量中,因为Vivado是通过命令方式进行启用外部编辑器,环境变量设置以window10系统为例,搜索框直接输入环境变量,最上方将出现搜索结果

 

添加已安装程序的环境变量,进入“高级-》环境变量-》Administrator-》Path”

 

   在Path变量中新增,此处已添加Notepad++和sublime。需注意添加时只要到可执行程序的路径即可,不能加上可执行文件名称如Sublime_text.exe等

 

3.3 环境变量验证

    打开命令窗口,直接输入编辑器名称,按Enter键后如果能直接打开编辑器说明配置成功,否则会报错,编辑器名称通常在编辑器安装路径的bin目录下,以sublime为例,名称为sublime_text,如果只输入sublime,则提示非内部或外部命令

 

验证结果

 

3.4 Vivado设置

    以Vivado2019.1版本为例,配置路径为“Tools->Settin->Tool Settings->Text Editor”,Current Editor中设置的即为当前使用的编辑器,默认为Vivado Text Editor,表示自带的编辑器。

 

点击下拉框展示可选择项,显示了一些常用编辑器,选择的前提是电脑已安装该编辑器并且已配置环境变量。

 

    此处选择Sublime为例,点击apply,ok设置完毕,如果要确认是否设置成功可直接再次进入查看,显示为Sublime说明设置成功

 

3.5 配置验证

    设置完毕后验证是否配置成功,进入到Vivado的source目录,双击任意任意一个.v或.vhd文件,提示如下,打开失败

 

将报错信息中的命令复制到命令窗口执行,根据报错可知是命令有问题,此处原因是应用名称并非sublimetext,应为sublime_text

 

将名称修改为sublime_text后执行成功,使用sublime打开了指定文件Divider.v文件。

 

3.6 解决Vivado配置失败问题

    根据2.4可知直接配置项选择sublime存在Vivado默认的编辑器名称和实际安装的存在差异,导致打开失败。解决办法为Current Editor中设为Custom Editor,再点击方框2,弹出Custom Editor Definition设置窗口,在Editor输入命令“sublime_text +[line number] [file name]”,sublime_text表示执行程序的名称,根据实际应用安装的名称来,设置完后进行保存

查看sublime的应用名称,如此处为“sublime_text”

 

此处需只有红框3处的名称需与上述应用名称对应一致,否则就会打开失败

 

重新进入Vivado的source窗口双击xxx.v文件后,会自动使用sublime打开文件。

四、Sublime配置

    在第三部分完成了Vivado配置Sublime为外部编辑器后,接下来就是对Sublime配置。Sublime的配置总体也比较简单,其实就是需要安装2个关键性的插件:VHDL,SublimeLinter-contrib-xvhdl,VHDL用于支持VHDL语言,SublimeLinter-contrib-xvhdl用于进行语法检查

Sublime支持的插件可在网站Browse - Package Control查看。

4.1 Sublime安装Package Control

    对于之前未安装过sublime,第一次安装时,先进入Tools安装Package Control,双击install Package Control,几秒后有弹框弹出提示安装成功,安装后在Preference可看到Package Control选项。

 

安装package control后在preference查看到

 

4.2 Sublime安装VHDL插件

Sublime默认支持的Syntax语言中是没有VHDL,需安装支持VHDL语言的插件

 

此时打开VHDL的代码是不会进行语法格式检查,如下图红框有明显语法错误

 

打开Sublime,进入"Preference->Package Control"

 

    进入Package Control界面后,在后面的输入框中输入install后,下方会自动显示可选项,双击选择install package,将进入安装界面

 

   在安装界面后,输入框输入VHDL,下方会自动显示候选项,双击下方第一个“VHDL”进行安装

 

几秒中后即可完成安装,重新进入View->Syntax,此时语言中已有VHDL,说明安装成功,注:安装过程页面是没有任何变化的,容易误以为安装失败

安装后从vivado打开vhd文件仍无法识别VHDL语法,是因为没有将语言设为VHDL。

 

    ​进入View->Syntax中选择VHDL语言,然后关闭sublime。

 

    ​再次从vivado中打开vhd文件,此时已能高亮显示关键字,但如下图42行 and右侧缺少操作数是无任何提示的,因为此时无法进行语法正确性检查。

 

4.3 语法检查工具插件SublimeLinter-contrib-xvhdl

进入安装界面输入“XVHDL”查找插件SublimeLinter-contrib-xvhdl,双击插件安装包

 

安装成功后自动进入Package Control Messages文件,文件中显示安装的插件名,下图中插件名正确,说明安装成功。

 

4.4 结果验证

    在完成上述配置后,关闭sublime后重新在vivado中双击vhd文件打开,如下图示例,有两处错误,报错的位置行数左侧有红点,39行和42均存在语法错误,鼠标箭头移动到报错位置的红色小框内,会弹出浮框显示报错原因,所以语法检查插件安装成功

 

五、Sublime常见操作

5.1 查看已安装插件

有时需要查看sublime已安装的插件,进入Preference->Package Settings->Package Control->Settings

 

自动弹出新的settings窗口,右侧中installed_packages下面列出已安装的插件,此处已安装了

5个插件:"Alignment","Package Control","SublimeLinter","SublimeLinter-contrib-xvhdl","VHDL",

 

5.2 删除插件

    ​删除插件和安装插件类似,进入到package control界面后,输入remove,弹出相关候选项,单击选择第二个remove package

 

进入删除界面,此时下拉框中显示的都是已安装的插件,双击即可删除该插件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/977742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

排序相关问题

本篇博客在B站做了内部分享,标题为「排序相关问题」 MySQL的ORDER BY有两种排序实现方式: 利用有序索引获取有序数据 (不得不进行)文件排序 在explain中分析时,利用有序索引获取有序数据显示Using index,文件排序显示Using filesort。 1. 能够…

macm1环境下jdk版本切换

macm1环境下jdk版本切换 本文目录 macm1环境下jdk版本切换下载jdk安装动态切换jdk终端生效全局生效 参考 下载jdk oracle官方源下载地址 https://www.oracle.com/java/technologies/downloads/#jdk17-mac Azul下载地址 https://www.azul.com/downloads/?packagejdk#download…

Autosar-Runnables(可运行实体)

文章目录 Runnable entities (简称Runnables)一、Runnables的定义二、Runnables的作用三、DaVinci配置总结Runnable entities (简称Runnables) 包含实际实现的函数(具体的逻辑算法或者操作) Runables由RTE周期性、或事件触发调用(如,当接收到数据、被操作调用) 一、Runna…

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来 目录 时序预测 | MATLAB实现ELM极限学习机时间序列预测未来预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现ELM极限学习机时间序列预测未来; 2.运行环境Matlab2018及以上,data为数…

MYSQL MHA实现故障转移和自动切换

目录 1、MHA理论: 1.1、MHA概述 1.2、MHA的组成: 1.3、特点: 1.4、传统的MySQL主从架构存在一些常见的问题: 1.5、MHA工作原理总结如下 1.6、 故障切换备选主库的算法: 2、 故障转移实验 2.1、搭建 MySQL MHA…

Linux知识点 -- 网络编程套接字

Linux知识点 – 网络编程套接字 文章目录 Linux知识点 -- 网络编程套接字一、预备知识1.认识端口号2.套接字3.TCP协议与UDP协议4.网络字节序 二、socket编程接口1.socket常见API2.sockaddr结构 三、UDP套接字编程1.直接打印客户端信息2.执行客户端发来的指令3.多用户聊天4.在wi…

ALBEF、VLMO、BLIP、BLIP2、InstructBLIP要点总结(WIP)

ALBEF(ALign BEfore Fuse) 为什么有5个loss? 两个ITC两个MIM1个ITM。ITM是基于ground truth的,必须知道一个pair是不是ground truth,同时ITM loss是用了hard negative,这个是和Momentum Distillation&…

优化爬虫效率:利用HTTP代理进行并发请求

网络爬虫作为一种自动化数据采集工具,广泛应用于数据挖掘、信息监测等领域。然而,随着互联网的发展和网站的增多,单个爬虫往往无法满足大规模数据采集的需求。为了提高爬虫的效率和性能,我们需要寻找优化方法。本文将介绍一种利用…

(位运算) 剑指 Offer 56 - I. 数组中数字出现的次数 ——【Leetcode每日一题】

❓剑指 Offer 56 - I. 数组中数字出现的次数 难度:中等 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是 O ( n ) O(n) O(n),空间复杂度是 O ( 1 ) O(1) O(1)。 示例 …

开源对象存储系统minio部署配置与SpringBoot客户端整合访问

文章目录 1、MinIO安装部署1.1 下载 2、管理工具2.1、图形管理工具2.2、命令管理工具2.3、Java SDK管理工具 3、MinIO Server配置参数3.1、启动参数:3.2、环境变量3.3、Root验证参数 4、MinIO Client可用命令 官方介绍: MinIO 提供高性能、与S3 兼容的对…

MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression

MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression MPDIoU:一个有效和准确的边界框损失回归函数 摘要 边界框回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割,是目标定位的重要步骤。然而,当预测框与边界框具有相同的…

vue3 + elementplus Cannot read properties of null (reading ‘isCE‘)

使用命令行直接下载的element-plus,使用时会报错。 卸载掉,然后在项目根目录下,使用vue ui安装依赖, 即可使用

逆向大漠插件/用VB6.0实现后台鼠标移动和后台鼠标左键点击

自动化设计软件,在一款做门的设计软件CypCut6.3 上实现了自动化勾选了 复选框。一切都是基于后台的。 Private Const GW_CHILD 5 Private Const GW_HWNDFIRST 0 Private Const GW_HWNDNEXT 2 Public Declare Function FindWindow Lib "user32" Alias &…

数据结构笔记:MX四叉树 VS PR 四叉树

个人理解,不一定对,还望批评指教! 比如我们分别建一个数 MX四叉树PR四叉树插入(1.5,5.5)插入(6.5,15.5)插入(9.5,5.5)插入(11.5,3.5&#xff09…

华为云云服务器评测|云耀云服务器实例基础使用实践

🦖我是Sam9029,一个前端 Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-JS学习,CSS学习,Vue-2领域博主 **🐱‍🐉🐱‍🐉恭喜你,若此文你认为写的不错,不要吝啬你的赞扬,求…

Java复习-20-接口(1)

接口的定义及使用 如果相对外部隐藏全部的实现细节,就要通过接口来实现。 接口的定义 使用interface关键字来定义。由于接口描述的是一个公共的定义标准,所以在接口之中所有的抽象方法的访问权限都为public interface IMessage{ // 为了区分接口&…

一步一步分析将数据响应式实现出来

写在前面 vue2 的数据响应式已经非常成熟且过时了,但是相信很多人还是对原理的东西一知半解,甚至还是不知道他究竟是怎么实现的,今天我们就试着一步一步分析看看响应式需要解决哪些问题,具体的问题难点是什么? 数据响应…

【计算机组成 课程笔记】5.1 处理器的设计步骤

课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 5 - 1 - 501-处理器的设计步骤(14-49--)_哔哩哔哩_bilibili 处理器,或者说是CPU,是现代计算机中最为复杂的一个部件。不过先不要劝退,要设计一个简单但是…

1343. 大小为 K 且平均值大于等于阈值的子数组数目

1343. 大小为 K 且平均值大于等于阈值的子数组数目 C代码&#xff1a;滑动窗口 // 窗口长度固定、返回窗口平均值>threshold的窗口个数int numOfSubarrays(int* arr, int arrSize, int k, int threshold){int cnt 0;int l 0;int sum 0;for (int r 0; r < arrSize; r…

轻松制作玩具小程序商城

随着移动互联网的快速发展&#xff0c;小程序成为了各行各业的新宠儿。想要快速搭建一个属于自己的小程序商城吗&#xff1f;乔拓云平台将为你提供最简单的解决方案。下面就跟随我的步骤&#xff0c;一起来学习如何搭建一个玩具小程序商城吧&#xff01; 首先&#xff0c;我们需…