Linux下shell脚本运行编译、仿真、看波形

本文详细介绍了如何在Iverilog中进行代码编译,生成sim.out和VCD波形文件,并通过gtkwavesim查看波形的过程。关键步骤包括设置宏定义和模块路径,以及在testbench中使用$dumpfile和$dumpvars生成VCD文件。
摘要由CSDN通过智能技术生成

        一段编写好的代码

iverilog -I ../core -y ../core -o sim.out $1
echo "Generate waveforms"
vvp -n sim.out
echo "View waveforms"
gtkwave sim_out.vcd

 调用时在包含sim.sh和testbench.v的文件夹下打开终端,输入:(默认二者在同一文件夹下)

./sim.sh testbench.v

之后就可以进行波形查看。

具体的每一句的含义为:

iverilog -I ../core -y ../core -o sim.out $1

#################################################################
本过程进行编译,输出sim.out文件
基本格式为iverilog [options] filelist

iverilog表明执行综合命令
-I ../core指明宏定义文件位置,编译器会在这个目录下查找include文件。
-y ../core指明所有模块位置,编译器会在这个目录下查找模块。
-o sim.out指定输出文件名为sim.out,输出在当前文件夹下,省略则生成a.out
$1代表脚本的第一个参数,在上例中代表当前文件夹下的testbench.v
echo "Generate waveforms"
vvp -n sim.out

######################################################
本过程进行仿真,输出sim_out.vcd文件
echo类似于print
vvp是运行IVerilog仿真命令。
-n选项表示以非交互模式运行仿真。
sim.out之前综合出的文件
需要确保testbench.v中有$dumpfile和$dumpvars调用,以生成VCD波形文件。
输出文件sim_out.vcd是在testbench.v中通过 $dumpfile("timer_tb.vcd")命名
echo "View waveforms"
gtkwave sim_out.vcd

######################################
调用gtkwave查看生成的vcd文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值