1.icarus verilog(iverilog),用于仿真,验证(verify)。
2.'timescales xx/yy,xx代表你这个tb里的刻度,yy代表精度。
3.如果tb里想模拟一个12Mhz(12 000 000hz)的晶振,假如刻度yy是1ns,由于1/(2*41.67*1ns)≈12Mhz,这样就模拟晶振(这玩意是叫晶振吗)频率了。因此可以写成如下
4.仿真结束后这个波形文件是可以保存的,为了防止一直仿真下去,对于仿真时间要做个约束
5.假如一个分频器对于12Mhz晶振的每6个周期分一次频,那就是T=(1/12Mhz)*6。
6.
这个代表把仿真结果写入这个.vcd文件。dumpvars中的0参数表示保存所有参数的仿真曲线,如果设置为1,就只保存top module的参数的仿真结果,如果设置2,就是top module + 比top module小一级的module。