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

目录

一、前言

二、准备工作

三、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.mzph.cn/news/6916.shtml

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

相关文章

#pragma region用法

简介 #pragma region 是VS(Visio Studio)所特有的预处理语法(其他IDE或者Cmake会报错),其可以用来收缩或者展开一段代码。 #pragma region MyRegion// ...Code content #pragma endregion 其中,MyRegion 即给这代码块所定义的名…

工业边缘网关HiWoo Box的4G/5G CPE功能:为现场无线设备提供网络

引言 随着工业物联网的快速发展,现场设备的无线连接需求越来越迫切。然而,在一些室外或者不方便布网的场景下,为现场的无线设备提供网络仍然是一个挑战。为了满足这一需求,工业边缘网关HiWoo Box引入了4G/5G CPE(Cust…

【计算机网络】简易TCP网络小程序

文章目录 1. 简易TCP网络程序1.1 服务端1.1.1 服务端创建套接字1.1.2 服务端绑定1.1.3 服务端监听1.1.4 服务端获取连接1.1.5 服务端处理请求 1.2 客户端1.2.1 客户端创建套接字1.2.2 客户端连接服务器1.2.3 客户端发起请求 1.3 服务器测试1.4 单执行流服务器的弊端 2. 多进程版…

【Java】 服务器cpu过高如何排查和解决?

文章目录 前言一、常见能够引起CPU100%异常的情况都有哪些?二、服务器CPU使用率飙升异常,黄金4步排查法三、排查 CPU 故障的常用命令四、什么场景会造成 CPU 低而负载确很高呢?五、监控发现线上机器内存占用率居高不下,如何分析进…

网络性能测试诊断参考工具表

性能指标工具说明吞吐量(BPS)sar nethogs iftop分别可以查看网络接口、进程以及 IP 地址的网络吞吐量PPSsar /proc/net/dev查看网络接口的 PPS连接数netstat ss查看连接数延迟ping hping3通过 ICMP、TCP 等测试网络延迟连接跟踪数conntrack查看和管理连接…

django groupby踩坑

django groupby踩坑 前言坑 ~~参考~~ 前言 django的orm作为简单查询 使用简直是太爽了,所见即所得,但是groupby时候缺有一些坑点 坑 from django.db.models import Count from w.models import www # 在不加order by的时候 会默认按照id分组 print(TaskPort.obje…

webpack require.context

require.context((directory: String),(includeSubdirs: Boolean) /* 可选的,默认值是 true */,(filter: RegExp) /* 可选的,默认值是 /^\.\/.*$/,所有文件 */,(mode: String) /* 可选的, sync | eager | weak | lazy | lazy-onc…

RPA界面元素定位与操控技术详解-达观数据

RPA 入门介绍 什么是 RPA?RPA 是机器人流程自动化 Robotic Process Automation 的简写。在《智能RPA实战》中,我们这样定义:通过特定的、可模拟人类在计算机界面上进行操作的技术,按照规则自动执行相应的流程任务,代替…

【Ubuntu】完全卸载通过deb包安装的jenkins

要完全卸载通过Deb包安装的Jenkins,可以按照以下步骤操作: 停止Jenkins服务:首先,停止Jenkins服务,以确保它不再运行。 sudo systemctl stop jenkins禁用Jenkins服务:将Jenkins服务设置为在系统启动时不自动…

Linux QT通过NFS挂载到Linux开发板上

Linux QT通过NFS挂载到Linux开发板上 说明:这里使用的Linux开发板是正点原子的阿尔法开发板 创建NFS 环境 NFS简介 网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议 (presentation layer protocol)&…

【面试】MySQL 中InnoDB与MyISAM的区别是什么?

文章目录 前言一、数据库存储引擎二、如何知道自己的数据库用的什么引擎呢?三、存储引擎原理四、B 树和 B 树五、MyISAM六、InnoDB七、InnoDB与MyISAM的区别总结 前言 许多同学都把 MySQL 作为自己的数据库,但是可能用过最多的就是 SQL 语句&#xff0c…

【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 💥1 概述 基于LIME(Local Interpretable Model-Agnostic Explanations)的CNN图像分类研究是一种用于解释CNN模型的方法。LIME是一…

redis作为缓存的选用及优缺点

Redis vs. Memcached: 持久化支持: Redis支持两种持久化方式(RDB和AOF),而Memcached不支持持久化。这意味着Redis可以在服务器重启后恢复数据,而Memcached在重启后数据会丢失。 数据结构: Redis的数据结构…

安装nvm 切换node版本

1. 安装 nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash 验证nvm安装完成 command -v nvm 如果安装完成,就会显示如下 nvm 2. 查看 nvm 可以安装的 node 版本 查看可以安装的版本 nvm ls-remote 查看所有可以安装的…

SpringBoot启动时通过启动参数指定logback的位置

虽然springboot可以通过简单的配置使用日志系统,但是由于业务往往很复杂,对日志的多样性配置要求比较高,还是习惯于依赖于logback框架本身的配置文件。在spring boot中,使用logback配置的方式常用的有以下几种: 第一种…

【javaSE】 程序逻辑控制练习代码

目录 练习1 练习2 练习3 练习4 练习5 练习6 练习7 练习8 练习9 总结 练习1 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上) import java.util.Scanner;public class Age {public static void main(String[] args) {Scanner…

node中间件-express框架

文章目录 前置 Express安装1. 基本使用2. 中间件2.1 中间件应用 3. 中间件的注册方式3.1 普通中间件的注册3.2 path匹配中间件3.3 method与路径匹配3.4 案列中间件匹配与执行方法 4. 中间件request数据解析4.1 解析request body中间件4.2 urlencoded解析 5. 第三方中间件5.1 mo…

echarts图表如何自定义鼠标悬浮样式

样式调整 // formatter: {a}: {b}<br />{c}: {d}: {e} formatter: function (params) {// <i style"display:inline-block;border-radius:50%;width:4px;height:4px;background-color: #0ECB81;"></i>// ${console.log(params[0])}return <d…

android studio JNI开发

一、JNI的作用&#xff1a; 1.使Java与本地其他类型语言&#xff08;C、C&#xff09;交互&#xff1b; 2.在Java代码调用C、C等语言的代码 或者 C、C调用Java代码。 由于JAVA具有跨平台的特点&#xff0c;所以JAVA与本地代码的交互能力弱&#xff0c;采用JNI特性可以增强JA…

【收藏】用Vue.js来构建你的Web3应用,就像开发 Web2 一样熟悉

作为一名涉足去中心化网络的前端 JavaScript 开发人员&#xff0c;您可能遇到过许多 Web3 开发解决方案。但是&#xff0c;这些解决方案通常侧重于钱包集成和交易执行&#xff0c;这就造成了学习曲线&#xff0c;偏离了熟悉的 Web2 开发体验。 但不用担心&#xff01;有一种解…