最近在学计算机组成原理,要用Verilog进行实验,但是Quartus的界面并不是很好看,后来了解到,在VScode上也可以写Verilog,并且可以自动生成testbench,于是开始了我的探索之路。
将iverilog和相应的VScode插件安装好,在命令行中输入testbench,执行命令,但是命令行中并没有生成testbench,而是出现下面的状况:
虽然显示generate testbench successfully,但是并没有正确的输出,在网上找了很多方法,都没有什么效果,最后决定——自力更生!!!
按住Ctrl键,点开命令行中所描述的文件 "c:\Users\10192\.vscode\extensions\truecrab.verilog-testbench-instance-0.0.5\out\vTbgenerator.py",在第150行并没有看出什么问题,直到我看到第224行中的代码(如下图)
writeTestBench(sys.argv[1])
我凭借着探索精神,在网上找了一下sys.argv[1]是什么意思,这才知道sys.argv[0]接收的是文件名(如果运行文件和运行终端不在同一路径下会接收其的路径及文件名)
sys.argv[1] 接收的的在终端传入的第一个参数
sys.argv[1]接收的的在终端传入的第二个参数
具体可以参考:关于python的sys模块sys.argv[0]、sys.argv[1]、sys.argv[2]的探讨
于是我将第224行代码改成如下图所示的样子
writeTestBench(sys.argv[0])
再在命令行中输入testbench,执行命令,成功产生testbench。