前言
之前在Vscode中一直使用powershell手摁命令进行编译,如果有错就需要重新修改,在工程量变大之后这样的开发方式变得非常繁琐并且消磨精力,因此本文主要针对在Vscode中的makefile配置进行一个简单介绍,解放双手。
在windows下使用iverilog+GTKwave进行仿真的实例在网上已经有不少教程,主要可以参考:
全平台轻量开源verilog仿真工具iverilog+GTKWave使用教程
使用轻量级linux仿真工具iverilog
WINDOWS上使用IVERILOG+GTKWAVE仿真
具体参数说明及安装过程可见上文,本文不再赘述。
准备工作
Vscode就不必赘述,为了在vscode中可以直接使用make命令进行编译,需要下载cygwin作为vscode调用的终端。
cygwin的下载地址及参考链接
cygwin的下载地址,具体安装步骤可见Windows:安装cygwin教程。
cygwin的安装步骤
直接下一步没啥好说的, 接下来会出现三种安装模式:
1 Install from Internet,这种模式直接从Internet安装,适合网速较快的情况; 2 Download Without Installing,这种模式只从网上下载Cygwin的组件包,但不安装; 3 Install from Local Directory,这种模式与上面第二种模式对应,当你的Cygwin组件包已经下载到本地,则可以使用此模式从本地安装Cygwin。
我选择了internet安装,下一步是选择安装路径,直接一直下一步到源选择:
可选阿里镜像或者网易镜像(图中选中部分),接下来是选择需要安装的组件:
推荐Devel全部安装+wget,前者包含make,是编译中必须使用到的命令,后者可以通过wget命令安装apt-cyg,进行包管理。使用wget安装包可参考:Cygwin的安装及使用apt-cyg管理软件包。
如果apt-cyg的下载源出问题,请参考Win10安装cygwin并添加apt-cyg
是否安装在new中可选择。
接下来等待安装完成就可以了,整个devel内容装下来好像也挺大的,我的cygwin有差不多7个G,如果不需要其中很多内容可以仅勾选make和wget进行下一步。
VScode配置
自动报错、自动编译
1.在扩展里搜索"verilog",找到下载人数最多的这个插件:Verilog-HDL/System
2.安装ctags,并在目录中指定ctags的PATH到你的ctags文件夹
右键-转到定义,来验证是否成功安装ctags(好像需要重启vscode)
3.指定linting为iverilog
4.更改输入参数
如果在一个module中实例化了一个模块,而这个模块并没有在这个.v中引用的话就会出现如下错误:
建议方法:在linting的参数里增加-Y ./*.v
自动例化
推荐使用Verilog_Testbench插件进行自动例化,作者truecrab,需要安装python3以上的运行环境
在cygwin中需要安装python3,若未安装python3,可调用windows中的python3,具体内容请见:Cygwin中自带的python使用
并且在插件中需要修改两项内容:
打开C:\Users\你的用户名\.vscode\extensions\truecrab.verilog-testbench-instance-0.0.5,修改package.json中的
为./out/extension.js,图中是我已经修改好的内容,默认应为 ./out/extension;
并修改extension.js中的
ter1.sendtext内容为
ter1.sendText((`python3 ${__dirname}\vInstance_Gen.py ${editor.document.fileName}`).replace(/\/g,"/"));
ter1.sendText((`python3 ${__dirname}\vTbgenerator.py ${editor.document.fileName}`).replace(/\/g,"/"));
防止powershell变为Cygwin时出现的转义问题。
修改默认终端为Cygwin
打开Vscode的设置-功能-终端,在setting.json中编辑默认终端为cygwins,具体可参考vscode配置bash终端作为默认终端
"terminal.integrated.env.windows": {
"CHERE_INVOKING": "1"
},
"terminal.integrated.profiles.windows":{
"cygwin":{
"path":["你的根目录\cygwin64\bin\bash.exe"],
"args": ["-l"],
}
},
到此,VScode的设置就告一段落了,接下来就可以直接使用make进行编译了