iVerilog简介
iVerilog,全名Icarus Verilog,是一款轻量、免费、开源的verilog编译器,基于C++开发。安装文件中已经包含GTKWave,支持verilog/VHDL文件的编译和仿真,命令行操作模式,通过testbench文件可以生成对应的仿真波形数据文件,通过GTKWave可以查看仿真波形图,使用方式类似于vcs。
iVerilog简单教程
分为编译和仿真两个阶段。
编译
iverilog -o test source.v testbench.v
-o
是产生可执行文件,以上命令是产生test可执行文件,而源文件和testbench文件则分别为 source.v
和testbench.v
。也可以将源文件和testbench文件路径写入.f
文件中,则命令如下所示:
iverilog -o test -f test.f
还有一些其他选项: -y path
编译时发现了一个没有定义的模块,会到这个参数指定的目录总查找 -I path
指定verilog中include的包含文件的搜索目录 -D
传递一个宏定义,如-DIS_DEF=1
,则可在verilog中使用IS_DEF这个宏定义
仿真
使用vvp指令vvp test
或者直接运行可执行命令./test
即可
查看波形
使用GTKWave查看波形,对于产生的.vcd
文件,使用如下命令即可:
gtkwave test.vcd
需要在testbench文件中添加产生.vcd
文件的命令
$dumpfile("test.vcd")
$dumpvars();
同时需要规定仿真结束时间,例如:
#500 $finish;
文档信息
- 本文作者:Polaris
- 本文链接:https://polaris-chn.github.io/2023/11/30/Tools-1-copy/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)