超详细-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 即给这代码块所定义的名…

【计算机网络】简易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 低而负载确很高呢?五、监控发现线上机器内存占用率居高不下,如何分析进…

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实战》中,我们这样定义:通过特定的、可模拟人类在计算机界面上进行操作的技术,按照规则自动执行相应的流程任务,代替…

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是一…

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;有一种解…

导读页——记忆之路

记忆方法千千种&#xff0c;本栏意在梳理其中道道来&#xff0c;旦有小得&#xff0c;肥肠幸耶。从不同角度分析学习记忆。 文章目录 按方法分按有无逻辑分有逻辑用思维导图 无逻辑用记忆宫殿理论模仿借鉴 按方法分 学习方法–找书&#xff0c;背书&#xff0c;利器 按有无逻…

FastReport.Net FastReport.Core 2023.2.23 Crack

FastReport.Net & FastReport.Core 2023.2.23适用于 .NET 7、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可用于 Microsoft Visual Studio 2022 和 JetBrains Rider。 利用数据呈现领域专家针对 .NET 7、.NET Core、Blazor、ASP.NET、MVC、Windo…

Jenkins从配置到实战(二) - Jenkins如何在多台机器上自动化构建

前言 jenkins除了支持在本机上进行项目构建&#xff0c;还可以将构建任务分发到其他远程服务器上去执行&#xff0c;可以实现在不同平台和架构的机器上来完成项目的自动化构建任务&#xff0c;也能减轻jenkins服务器的压力。本文章就主要介绍下此流程。 准备工作 准备两台机…

Redis—分布式系统

Redis—分布式系统 &#x1f50e;理解分布式&#x1f50e;分布式—应用服务与数据库服务分离引入更多的应用服务节点理解负载均衡 引入更多的数据库服务节点缓存分库分表 微服务 &#x1f50e;常见概念应用(Application) / 系统(System)模块(Module) / 组件(Component)分布式(D…

2023年最全OCR技术指南!预训练OCR大模型呼之欲出

OCR是一项科技革新&#xff0c;通过自动化大幅减少人工录入的过程&#xff0c;帮助用户从图像或扫描文档中提取文字&#xff0c;并将这些文字转换为计算机可读格式。这一功能在许多需要进一步处理数据的场景中&#xff0c;如身份验证、费用管理、自动报销、业务办理等都显得尤为…

【Linux】多线程概念理论

目录 1 什么是线程&#xff1f; 2 线程的优点 3 线程的缺点 4 线程异常 5 线程用途 6 Linux线程和进程对比 1 什么是线程&#xff1f; 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波&#xff1f;——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测&#xff0c;对系统下一步要做什么进行推测&#xff0c;且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

VS Code 设置大小写转换快捷键

VS Code 设置大小写转换快捷键 前言&#xff1a;VS Code 没有默认的大小写转换快捷键&#xff0c;需要我们自己添加。 一 、打开快捷键设置面板 二、添加快捷键 在搜索框输入 “转换为大写”&#xff0c;如果您的VS Code没有汉化&#xff0c;此处输入“Transform to Uppercase…