VsCode与Vivado的灵活使用
引言
站在前人的肩膀上
步骤一、更换Vivado自带文本编辑器
步骤二、用VsCode舒适的编写verilog

在vscode扩展商店搜索verilog ,安装Verilog HDL的拓展即可以舒适的编写Verilog代码。他能帮你实现的功能主要有:语法高亮,自动补齐。
步骤三、自动生成Testbench

扩展商店搜索Verilog_TestBench,安装过后,任意编写一段verilog程序。按下ctrl+shift+p,选择testbench即可生成testbench对应的程式。

效果如上图所示。执行脚本之后,其出结果导向powershell的输出结果之中。其帮我们自动生成了了时钟信号,复位信号,以及进行了模块的例化。
步骤四、进一步优化
可以看到,美中不足的是,生成的文本你还需复制粘贴到新建的testbench文件中去,真是有些麻烦了!但是?从命令行执行的命令可以看到,这个脚本是用python编写的!顺着文件目录找到原本的python源文件,即可修改输出内容,至于自动生成新的文本文件?那就简单了,上一段powershell脚本~
理清一下我们的思路:脚本需要将命令执行,输入的第一个参数为文件名a.v,输出的文件名为tb_a.v.可以将整个脚本的初始化条件写入powershell的profile文件中(就和bash里的.bashrc一样,ps在启动时会自动加载此配置文件的内容)。
那么profile文件在哪儿呢?打开你的powershell。输入 echo $profile 即可。想编辑文件,直接在命令行输入 code $profile 。 前提是你的vscode添加进系统环境变量了,如果没有,就顺着文件所在地,直接编辑。
那么奉献上我最后写的脚本吧。
function createtb_function{ param( [Parameter(ValueFromPipeline=$true)] $InputObject ) $FileName = $InputObject $tbFileName = "tb_" + $FileName.split("\")[-1] echo $tbFileName python $env:TestBenchPath $FileName >> $tbFileName } set-alias ll Get-ChildItemColor $env:TestBenchPath="C:\Users\22306\.vscode\extensions\truecrab.verilog-testbench-instance-0.0.5\out\vTbgenerator.py" set-alias createtb createtb_function
修改过后,重启vscode的powershell命令行。输入命令createtb xxx.v,即可输出生成文件。

最后testbench脚本就自动生成啦!
如果你的vivado在ubuntu系统下
#以后要 使用 ll 而不是 ls了。 function createtb_function{ param( [Parameter(ValueFromPipeline=$true)] $InputObject ) $FileName = $InputObject $tbFileName = "tb_" + $FileName.split("/")[-1] echo $tbFileName python $env:TestBenchPath $FileName >> $tbFileName } set-alias ll Get-ChildItemColor $env:TestBenchPath="/home/princeling/.vscode/extensions/truecrab.verilog-testbench-instance-0.0.5/out/vTbgenerator.py" set-alias createtb createtb_function
写在最后的
文章来源: https://blog.csdn.net/qq_39498701/article/details/84668833