本文主要描述了如何在QUARTUS II 中输入程序文件,生成网表及标准延时文件,然后通过MODELSIM 进行功能仿真与后仿真的过程,主要为图解,含全部代码及仿真波形。 工具:
- Quartus II 5.0 sp1
- ModelSim SE 6.1b
- 芯片:MAX II :EMP570T100I5
- 语言:Verilog HDL
- 程序功能:太简单了,自己看源程序吧
源程序: module sim(reset,clk_in,clk_o1,clk_o2); input reset,clk_in; output clk_o1,clk_o2; reg clk_o2; assign clk_o1 = clk_in; always @(negedge reset or posedge clk_in) // begin if(!reset) clk_o2 = 0; else clk_o2 = ~clk_o2; end endmodule
测试程序: `timescale 1ns/1ns module testsim; reg reset,clk_in; wire clk_o1,clk_o2; sim aa(.reset(reset),.clk_in(clk_in),.clk_o1(clk_o1), .clk_o2(clk_o2)); //sim aa(reset,clk_in,clk_o1,clk_o2); always #5000 clk_in = ~clk_in; initial begin clk_in = 0; reset = 0; #10000; reset = 1; #1000000 $stop; end endmodule 测试程序注意: 例化时,最好用名称关联的方法进行例化,我曾试过用位置关联的方法,但后仿真不正常。不知道是不是Modelsim 在语法上的要求。
一、 程序输入与网表、延时文件的生成,相关库文件的拷贝 在建立Quartus II 源文件时,选择modelsim 作为仿真工具,这个不详说了。 输入文件sim.v,testsim.v,开始编译Start Complation,源文件在QII 的工程目录sim 下,
下图为生成的网表文件及延时文件,在目录QII 工程sim\simulation\modelsim\work,其中,maxii_atoms.v 是MAX II系列CPLD 的库文件,在QII 安装目录\quartus50\eda\sim_lib 下拷贝过来,同时,将sim 工程目录下的测试文件testsim.v 拷到该目录,为后仿真做准备。
二、 前仿真 1、选择QII 工程目录sim 为当前工作目录
2、编译源文件 sim.v , testsim.v
3、新建一个work 库
4、编译源文件 sim.v , testsim.v
5、将信号加到波形窗口
6、点击RUN ALL 按钮,进行仿真,功能仿真完成

三、 后仿真 1、前面已经生成相关网表、延时文件,并已经拷贝需要的文件了。现在,将工作目录变换到生成的网表文件、延时文件所在目录,这里为 ..sim/simulation/modelsim并新建一个工作库,与功能仿真一样操作。
2、编译以下三个文件
3、选择菜单simulate —> start simulation。选择SDF 卡片,点击browse,选择延时文件sim_v.sdo Apply to Region 中,填写测试文件中例化用的名字,这里为aa。点击OK。
4、再选择Design 卡片页选择 WORK—>testsim点击OK,到下一步选择要显示的信号
5、将要显示的信号加入波形窗口。
6、点击RUN ALL,开始仿真,后仿真步骤完成

|