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

1 篇文章 0 订阅
1 篇文章 0 订阅

       自从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,而且VSCode具有snippets的功能,可以提高效率,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,欢迎大家下载使用,有问题可以在博客留言。

       关于Vivado的其他技巧,可参考:Vivado工程经验与时序收敛技巧

评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值