仿真对于FPGA开发非常之重要,所以重头来过的必不可少的过程便是Modelsim的使用学习。于是不可避免的要学习testbench的编写了。
testbench编写就需要Verilog语法基础了。默默的翻书看语法去。。。这时就能体会到·timescale 1ns/1ns的作用了。这里主要用到initial块,initial模块只运行一次,每个initial模块是并行处理的。还有一个最通用的大概就是时钟激励,基本上用一个
initial
begin
forever
#10ns
clk = ~clk;
end
就能产生一个50Mhz时钟。
testbench的格式:
1.文件头
2.module列表
3.实例化模块
4.各种激励,包括时钟的产生。一些小仿真基本用initial模块就能解决。
modelsim使用体验:
首先是modelsim的使用。1.新建仿真工程,目录为分好的FPGA工程子目录下的sim文件夹,方便管理;2.复制要仿真的目标文件xx.v到sim中,然后再modelsim工程目录下将之添加existing file,再新建testbench文件,xx_TB.v.
其次是compile。语法错误时,按照错误报告修改再编译即可。
然后编译通过,start simulation,添加testbench激励文件,开始进入仿真模式。若要观察信号波形,需要将信号add 至右侧波形窗口。Transcrip栏输入run 1000ns,则仿真开始运行直至1000ns结束。
最后,终于可以看到波形了。
当然,modelsim的强大之处肯定完全不止这些,在以后学习中慢慢探索和开发吧。
理解可能很菜很肤浅,但所有的这些都是为了不再菜。
用户1749260 2015-5-17 00:26