Xilinx ISE 联合 modelsim 进行功能和时序仿真
1、代码输入
(1)、新建一个ISE工程,名字为。
(2)、新建一个文件
(3)、选择 输入file name为,单击next默认知道。
(4)、在.v文件中输入以下代码
module count4(out,reset,clk);output [3:0] out;input reset,clk;reg [3:0] out;always@(posedge clk) beginif(reset)out<=0;elseout<=out+1;
endendmodule
(5)、新建一个文件(综合时,不参与综合),和第(2)步骤相同
(6)、选择 Test 。
(7)、创建完成后,输入以下代码
module count4_tb;reg clk,reset;wire [3:0] out;parameter DELY=100;count4 mycount(.out(out),.reset(reset),.clk(clk));//count4 mycount(out,reset,clk); 若简写,功能仿真正确,时序仿真会因为端口不匹配,//会出错always #(DELY/2) clk=~clk;initial beginclk=0;reset=0;#DELY reset=1;#DELY reset=0;#(DELY*200) $finish;
endinitial $monitor($time,,,"clk=%d reset=%d out=%d",clk,reset,out);
endmodule
注:可以修改文件的属性,是否为或者为文件。右击要修改的文件。选择
修改属性,为 .为正常的文件
2、功能仿真
功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
(1)、切换到。选择。
(3)、在,查看波形等内容。
3、时序(综合后)仿真
时序仿真将时延考虑进去,包括综合后产生的(与、或、非)门时延,还有布局布线产生的时延。
综合(),就是将HDL语言设计输入翻译成由与、或、非门和RAM、触发器等逻辑单元组成的网表。综合后可生成综合后仿真模型( Post- Model)。
综合后,进行ISE的实现(),包括翻译、映射、布局布线。在这三个过程中都可以生成一个仿真模型(翻译和映射不会产生延时,因此常用布局布线后产生的仿真模型进行时序仿真)
(1)、进行综合,双击 – XST ,想生成 Post- Model,双击 Post- Model即可,会在工程文件夹下生成\\.v等文件
(2)、进行实现,双击 ,完成后,双击 Post-Place & Route Model.。生成布局布线后仿真模型。
(3)、切换到 ,选中Post-route。
(4)、然后选中文件,双击下面的 Post-Place&Route Model,启动。
(5)、在中观察仿真波形。可以看到输出out有明显的延时。
本文出自 “李海川” 博客,请务必保留此出处