VsCode与Vivado的灵活使用

VsCode与Vivado的灵活使用

引言

​ 现在大二了,在接触硬件描述语言。Vivado自带的编辑器实在很难用,为了能够“极客”一些,当然是去Google了一下有哪些方法可以取而代之。

​ 网络上的答案大同小异,基本上都是用的Sublime Text.(我的学长们也几乎都是) 平时码代码的过程中,我习惯使用VsCode,尤其是在微软收购GitHub之后,Code 简直就是神器了。于是乎…一个大胆的想法出现了。

站在前人的肩膀上

​ 在网络上,是找了一些古老的这样的文章,关于VsCode替换掉Vivado原本的编辑器的。我稍作尝试,其实也很简单。前辈们的努力让我们现在有着更加舒适的体验,我所做的一切都是站在前人的肩膀上。

步骤一、更换Vivado自带文本编辑器

​ 打开你的vivado,在Tools->Setting->Text Editor选择Custom Editor,指令为"…(自己电脑的地址)//Microsoft VS Code//Code.exe" -g [file name]:[line number]。

步骤二、用VsCode舒适的编写verilog

在这里插入图片描述

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

步骤三、自动生成Testbench

​ 前人已经在VsCode编写过自动生成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系统下

​ 在学院的电脑里装了一个ubuntu系统,发现vivado也有ubuntu的支持,那么为了能够有更好的编程体验,我又对上述过程进行了linux的移植(虽然上述截图以及本文的撰写都是在ubuntu系统下进行的)。

​ 首先,安装vscode

​ 其次,把更换vivado中文本编辑器的命令换成 code [filename] , 这样你的vivado文本编辑器就换成vscode了。

​ 然后,在您的系统里安装powershell。

​ 再然后在设置里搜索terminal,把终端在linux上使用的路径换成pwsh所在路径。

​ 最后修改powershell的profile文件,不过与windows的略有不同,这里贴上代码。

#以后要 使用 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

​ 其他就能和原来一样喽~

写在最后的

​ 至此,我深深体会到了作为一名verilog编程者的辛酸,请大家都去学py吧,不要和我竞争了!

​ 我的github主页:https://github.com/NjtechPrinceling

​ 欢迎大家点评与指正,互相学习!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章