自动生成verilog模块的testbench(VSCode与Vivado结合,VSCode生成testbench插件)

       自从Xilinx官方从ISE升级为Xilinx后,无法再用软件自动生成testbench文件了,给FPGA工程师带来不少麻烦。

       不过Xilinx官方提供了tcl商店以丰富Xilinx软件功能,其中就有生成testbench的tcl脚本提供下载。但是使用起来还是比较麻烦,必须让那个模块成为顶层并进入Elaborate, Synthesize或者implement界面,然后用tcl指令生成。

       网上也有生成testbench的Perl或者Python的脚本代码,但是使用起来还是有点麻烦,因为需要在命令行敲指令才能完成testbench的生成。

       不过后来发现Vim,Sublime,Notepad++这几种比较主流的编辑器都有生成testbench的功能,直接按快捷键就可以生成了,只是自动生成的testbench比较简单,又无法自己修改插件而已。

       后来本人发现VSCode是个颜值很高的编辑器,于是转投VSCode,Vivado也可以调用VSCode,在Tools->Setting->Text Editor选择Custom Editor,指令为"...(自己电脑的地址)//Microsoft VS Code//Code.exe" -g [file name]:[line number]。

       很遗憾的是VSCode只有基础语法的插件,没有testbench自动生成插件,于是本人结合网上他人python生成testbench的脚本写了一个VSCode生成testbench的插件。由于VSCode目前只支持typescript和Javascript语言开发,但本人并不熟悉,而且官网提供的文档也并不完善,所以使用typescript建立一个命令行窗口调用python脚本生成testbench和模块例化代码。

       在编写插件代码时,当前的窗口可以用下面语句获取:

let editor = vscode.window.activeTextEditor;
       选取的内容为editor.selection; let text = editor.document.getText(selection);
       其中文本长度text.length
       当前操作的文件名为editor.document.fileName

       工程目录的out目录绝对值为__dirname

       创建命令行窗口并输入命令行指令
let terminal1 = vscode.window.createTerminal({name:'new'});
terminal1.show(true);
terminal1.sendText(`...`);

       该插件的源代码可以在github上下载:https://github.com/truecrab/VSCode_Extension_Verilog。

       现在该插件已经在VSCode的应用市场上架了,名字是Verilog_Testbench,欢迎大家下载使用,有问题可以在博客留言。

猜你喜欢

转载自blog.csdn.net/truecrab/article/details/80219846
今日推荐