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

news2024/10/7 20:28:43

目录

一、前言

二、准备工作

三、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安装Verilog插件

4.3 安装语法检查工具Iverilog

4.4 Sublime安装插件sublimelinter和sublimelinter-contrib-iverilog

4.5 Sublimelinter配置Iverilog

4.6 结果验证


一、前言

    对于使用过其他IDE或编辑工具如Sublime,Vim等小伙伴,在使用Vivado时会发现自带的编辑器很不友好,如缩进功能不友好,不支持高亮显示,不支持自动补全等常用功能。因次,使用第三方编译的需求是很强,但在网上搜索了相关的博文后,发现很多不全或场景不符,在踩了能踩的坑后,终于将整个流程整明白,配置成功,下面将分享整个配置的过程,希望后面的小伙伴能避坑,配置一步到位。

二、准备工作

    软件准备

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文件,提示如下,打开失败

 

将报错信息中的命令复制到命令窗口执行,根据报错可知是命令有问题,此处原因是应用名称并非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的配置总体也比较简单,其实就是需要安装3个关键性的插件:Verilog,SublimeLinter,Sublime_contrib_iverilog与1个语法检查工具Iverilog的安装

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

4.1 Sublime安装Package Control

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

 

4.2 Sublime安装Verilog插件

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

 

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

 

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

 

    在安装界面后,输入框输入verilog,下方会自动显示候选项,双击下方的Verilog进行安装

 

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

 

此时已能高亮显示关键字,但如23行module定义中少了一个括号是无法进行语法检查的

4.3 安装语法检查工具Iverilog

Verilog语法实时检查使用Iverilog,Iverilog下载地址:http://bleyer.org/icarus/

 

本人下载的是最新的,其他的旧版本也可以。下载后安装很简单,一键式不断点击。注意:安装路径不要带有中文

4.4 Sublime安装插件sublimelinter和sublimelinter-contrib-iverilog

安装插件sublimelinter和sublimelinter-contrib-iverilog,方法与安装verilog相同,输入ssublimelinter,双击下方的sublimelinter即可

 

再次输入ssublimelinter-contrib-iverilog,双击下方的sublimelinter-contrib-iverilog。

 

安装成功会自动跳入Package control Message界面。

 

在Preference->Package Settings中可以看到已安装的SublimeLinter-contrib-iverilog

 

4.5 Sublimelinter配置Iverilog

在完成Iverilog和插件sublimelinter和sublimelinter-contrib-iverilog的安装后,需进行配置使得sublimelinter能够调用Iverilog进行语法检查

进入“Preference->Package Settings->Sublimelinter->Settings”

 

进入如下图界面,右侧即为用户配置界面,添加红框中的内容,paths中为windows配置iverilog的安装路径。

 

可从下面代码进行复制,修改iverilog路径即可

// SublimeLinter Settings - User
{
	// "debug": true,
	"paths": {
   	"linux": [],
    "osx": [],
    "windows": [
        "D:\\iverilog\\iverilog\\bin", //iverilog的安装目录
    ],
 },

	"linters": {
    "iverilog": {
        "disable": false,
        "args": ["-i"], // add the "-i" flag
        "excludes": [],
    },    },

}

4.6 结果验证

    在完成上述配置后,关闭sublime后重新打开,如下图示例,有两处错误,报错的位置行数左侧有红点,23行模块定义少了右括号,33报错是因为41行中else拼写错误

 

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

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

相关文章

centos7中MySQL备份还原策略

目录 一、直接拷贝数据库文件 1.1在shangke主机上停止服务并且打包压缩数据库文件 1.2 在shangke主机上把数据库文件传输到localhost主机上(ip为192.168.33.157) 1.3在localhost主机上停止服务,解压数据库文件 1.4 在localhost主机上开启服务 1.5 测试 二、m…

利用@Excel实现复杂表头导入

EasyPoi导入 <a-upload name"file" :showUploadList"false" :multiple"false" :headers"tokenHeader" :action"importExcelUrl"change"handleImportExcel"><a-button type"primary" icon&quo…

【软件测试】如何选择回归用例

目录 如何在原始用例集中挑选测试用例 具体实践 总结 本文讨论一下在回归测试活动中&#xff0c;如何选择测试用例集。 回归测试用例集包括基本测试用例集&#xff08;原始用例&#xff09;迭代新增测试用例集&#xff08;修复故障引入的用例和新增功能引入的用例集&#xf…

洛必达法则和分部积分的应用之计算数学期望EX--概率论浙大版填坑记

如下图所示&#xff0c;概率论与数理统计浙大第四版有如下例题&#xff1a; 简单说就是&#xff1a;已知两个相互独立工作电子装置寿命的概率密度函数&#xff0c;将二者串联成整机&#xff0c;求整机寿命的数学期望。 这个题目解答中的微积分部分可谓是相当的坑爹&#xff0c;…

【1++的C++初阶】之适配器

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;什么是适配器二&#xff0c;栈与队列模拟实现三&#xff0c;优先级队列四&#xff0c;reverse_iterator 一&#xff0c;什么是适配器 适配器作为STL的六大组…

【高阶数据结构】跳表

文章目录 一、什么是跳表二、跳表的效率如何保证&#xff1f;三、skiplist的实现四、skiplist跟平衡搜索树和哈希表的对比 一、什么是跳表 skiplist本质上也是一种查找结构&#xff0c;用于解决算法中的查找问题&#xff0c;跟平衡搜索树和哈希表的价值是 一样的&#xff0c;可…

Windows环境Docker安装

目录 安装Docker Desktop的步骤 Docker Desktop 更新WSL WSL 的手动安装步骤 Windows PowerShell 拉取&#xff08;Pull&#xff09;镜像 查看已下载的镜像 输出"Hello Docker!" Docker Desktop是Docker官方提供的用于Windows的图形化桌面应用程序&#xff0c…

区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归多输入单输出区间预测

区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归多输入单输出区间预测 目录 区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归多输入单输出区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRBiLSTM…

odoo16 用好计量单位中的激活功能

odoo16 用好计量单位中的激活功能 根据国内常用&#xff0c;把不常用的单位去除&#xff0c;删除不了&#xff0c;提示已用&#xff0c;其实不用删除&#xff0c;每个单位后有个激活功能&#xff0c;选一下就可以了&#xff0c;显示成整洁的界面了 第一次用时&#xff0c;小伙伴…

解决spring cloud 中使用spring security全局异常处理器失效

写auth认证模块实现忘记密码与注册功能时&#xff0c;用异常抛出&#xff0c;全局异常处理器无法捕获。 无法进行异常捕捉 解决方案&#xff1a;使用WebSecurityConfigurerAdapter.configure中http实现自定义异常&#xff1a; EnableWebSecurity EnableGlobalMethodSecurity(…

87、springcloud核心组件及其作用

spring Eureka: 服务注册与发现 注册:&#xff1a;每个服务都向Eureka登记自己提供服务的元数据&#xff0c;包括服务的ip地址、端口号、版本号、通信协议等 eureka将各个服务维护在了一个服务清单中 (双层Map&#xff0c;第一层key是服务名&#xff0c;第二层key是实例名&…

macOS 源码编译 qpress

╰─➤ git clone https://github.com/PierreLvx/qpress.git ╰─➤ cd qpress ╰─➤ make g -O3 -o qpress -x c quicklz.c -x c qpress.cpp aio.cpp utilities.cpp -lpthread -Wall -Wextra -Werror ╰─➤ sudo make install …

Vue--》打造个性化医疗服务的医院预约系统(三)

今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…

Java基础小知识(待续)

类型转换、ASCII码、除法取余、三元表达式 long x 100;//int->long自动类型转换&#xff08;隐式) 1&#xff0e;特点:代码不需要进行特殊处理&#xff0c;自动完成。2&#xff0e;规则:数据范围从小到大。double y 2.5F;//2.5 float->double自动类型转换&#xff08…

pyqt5-Ctrl+鼠标滚轮实现文本区文字大小调整

技术简介 在 PyQt5 中&#xff0c;你可以使用 QTextEdit 的 wheelEvent 方法和 QKeyEvent 的 key() 方法来检测 Ctrl 键和鼠标滚轮事件&#xff0c;从而实现按下 Ctrl 键并滚动鼠标滚轮时&#xff0c;调整 QTextEdit 的字体大小。 这个示例中&#xff0c;我们创建了一个窗口&am…

模板方法模式(java)

目录 结构 案例 代码实现 抽象类 具体子类 测试类 优缺点 优点 缺点 结构 模板方法&#xff08;Template Method&#xff09;模式包含以下主要角色&#xff1a; 抽象类&#xff08;Abstract Class&#xff09;&#xff1a;负责给出一个算法的轮廓和骨架。它由一个模板…

基于SPDK-vhost的云原生Kubevirt虚拟化存储IO的优化方案

摘要 本文主要介绍针对云原生kubernetes虚拟化IO的应用场景&#xff0c;在Kubevirt中引入SPDK-vhost的支持&#xff0c;来加速虚机中IO存储性能。同时基于Intel开源的Workload Service Framework[1]平台集成部署一套端到端虚拟化IO的应用场景做基本的性能对比测试。 云原生Kube…

Failed to load response data:No data found for resource with given identifier

前言 关于跨域的另一种解释 前端Ajax访问后端&#xff0c;表单提交&#xff0c;有一个接口报错&#xff0c;其他都没问题 网上看了很多案例方法&#xff0c;均不适用&#xff1b;早上改代码过程中&#xff0c;改好了&#xff0c;话不多说&#xff0c;上原因 原因 提前关闭页…

CentOS7系统下Docker容器基于TensorFlow测试GPU

前言 当基于nvidia gpu开发的docker镜像在实际部署时&#xff0c;需要先安装nvidia docker。安装nvidia docker前需要先安装原生docker compose 1. CentOS7安装docker详细教程 安装docker 1. Docker 要求 CentOS 系统的内核版本高于 3.10 &#xff0c;查看本页面的前提条件来验…

辅助笔记-linux新增硬盘

linux新增硬盘 文章目录 linux新增硬盘步骤1&#xff1a;添加硬盘步骤2&#xff1a;对硬盘进行分区步骤3&#xff1a;对硬盘分区进行格式化步骤4&#xff1a;将硬盘分区挂载到目录上步骤5&#xff1a;设置“永久挂载” 本文主要参考B站视频“P59_韩顺平Linux_增加磁盘应用实例”…