原创 FPGA流水灯之仿真波形

2009-10-30 14:13 3604 7 7 分类: FPGA/CPLD
上一篇日志给出了关于流水灯的代码,这篇文章介绍一下如何对其进行仿真。
仿真工具:ModelSim
1、双击ModelSim图标,打开ModelSim;
2、点击File->New->Project;创建一个工程,取名LED_test,接着点击Browse,选取工程所存放的位置;最后点击OK;
3、这是将会弹出一个对话框,我们暂时不管它,把它关掉;
4、在工程标签的空白处点击右键,选择Add to Project->Existing File,将我们的要仿真的文件添加进去;其实上面我们关闭的对话框也是执行相同的功能;
5、在工程标签的空白处点击右键,选择Add to Project->New File,取名LED_test,创建一个新的的Verilog文件,然后将下面这段代码添加进去;
`timescale 1ns/1ns

module LED_test();
reg rst_n,clk50M;
wire[9:0] led;

LED u1(.rst_n(rst_n),.clk50M(clk50M),.led(led));

//产生复位信号
initial
begin
   rst_n=1'b1;
   #20 rst_n=1'b0;
   #60 rst_n=1'b1;
end

//产生时钟信号
parameter clk_period=4'd10;
initial
begin
    clk50M=1'b0;
    forever #clk_period clk50M=~clk50M;
end

endmodule
上面这段代码就是所谓的测试平台(testbench);
6、继续在工程标签的空白处点击右键,选择Compile->Compile All,这是可以看到工程面板的状态一栏两个文件都打上了勾;
7、双击LED_test.v,这时将出现一个叫做object的窗口,在其空白处点击右键,在弹出的菜单中选择Add to Wave->Signal in Design,这时候就会出现波形窗口了;
8、在菜单栏选择Simulte->Run->Run,这是将默认运行100ns;
9、在下面Transcript栏中输入run @ 1000000,这时候仿真就会运行1000000ns,注意run 1000000和run @ 1000000命令是有区别的,前者是在原来的基础上接着运行1000000ns,后者是仿真就运行到1000000ns;
10、下面是上一篇日志第一种代码的仿真波形,为了缩短仿真时间,将reg[23:0] cnt改为reg[7:0] cnt,当然下面也要做相应的修改,这里就不啰嗦了。
点击看大图
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条