Vscode + modelsim 环境搭建
1.Vscode配置
首先在vscode中安装支持Verilog的插件:
- 在vscode的Extension 中搜索verilog,安装如下图所示的插件;
该插件支持以下文件的语法高亮,并且支持部分自动补全输入; - Verilog-HDL;
- SystemVerilog;
- Bluespec SystemVerilog;
- Vivado UCF constraints;
- Synopsys Design Constraints;
该插件的语法检查需要一下之一软件的支持: - Icarus Verilog - iverilog;
- Vivado Logical Simulation - xvlog;
- Modelsim - modelsim;
- Verilator - verilator;
兼容性方面如下图所示:
本文就windows 下的modelsim进行了集成,以下就modelsim进行集成;
2.Modelsim语法检查器集成
modelsim的安装破解本文不再赘述,可选的Modelsim有与Quartusii集成的Modelsim-Atera和单独的Modelsim,安装Quartusii可以进行简单的仿真和FPGA的开发,集成一些FPGA的IP等,根据自己的需求进行安装,任意一个软件都可以;
2.1 Modelsim-Atera配置
将modelsim-atera安装目录下的win32aloem文件夹加入系统变量,因为要使用其中的vlog.exe的语法检查功能;
2.2 Modelsim配置
将modelsim安装目录下的含有vlog.exe的win64文件夹加入系统变量;
在完成以上之一的配置之后启动modelsim-atera或者modelsim软件,因为都是一样的,所以一下统一称为modelsim,启动modelsim后创建任意一个新的项目,如下图:
创建新项目后会在Project Location下创建一个名为$default library name的文件夹,里面将会包含一个_info文件,将该目录复制到vscode设置中的verilog > Linting > Modelsim: Work的设置之中,并将linter的设置改为modelsim,如下图:
以上就完成了modelsim的语法检查和vscode的整合,将vscode设置成自动保存则可以实时地观察到文件的语法错误,利用vlog命令可以在vscode 的命令行进行编译,倘若没有语法错误,基本都可以通过编译;
需要注意的是,该功能只是提供基本的语法检测,不能依赖该功能,编译通过不代表程序是对的,有些错误是vlog检测不出来的;
3.自动例化生成
首先需要Python3程序的支持,Python3的安装此处不再赘述;
其次需要python中chardet的支持,可以安装python对应的pip工具,利用pip install chardet进行安装,有关安装和加速问题此处不再赘述;
最后只需要在vscode中安装verilog_testbench插件,如下图:
该插件主要支持实例化的生成和testbench的生成,在安装好该插件后,切换到需要生成instance或者testbench的文件下,同时按下Ctrl + Shift + P,打开搜索栏,在搜索栏输入instance即可启动instance的生成程序,输入testbench即可启动testbench的生成程序,如下图所示:
生成的代码可以直接复制使用;
需要注意的一点是该testbench的生成只是简单的testbench框架的编写,对于大项目的testbench还是建议自己码,不差这一点时间,另一方面倘若需要对生成的代码格式进行修改,该插件的源码是由python写的,可以直接在插件目录下找到这两个文件,根据自己的需要进行修改;
以上就是在windows系统下进行vscode和modelsim功能整合的介绍,在利用vscode写好代码后,便可以切换窗口进行modelsim仿真,这在前端进行小规模设计时具有较好的便捷性;
另一方面vscode在linux下也是具有很好的兼容性的,但本文并没有进行具体的探索,有兴趣的可以尝试在linux下集成vscode和verilator等仿真器。