ise和modelsim联合仿真
2014-11-27 21:30
337 查看
今天晚上看了一下网上的资源,找到一篇很好的文章,帮了我大忙,让我分清了仿真的几个阶段的区别,以及一些基本概念。产生的文件的位置。
(1)、新建一个ISE工程,名字为count4。
(2)、新建一个verilog文件
![](http://img1.51cto.com/attachment/201209/215922615.png)
(3)、选择verilog module 输入file name为count4,单击next默认知道finish。
![](http://img1.51cto.com/attachment/201209/220051200.png)
(4)、在count4.v文件中输入以下代码
module count4(out,reset,clk
);
output [3:0] out;
input reset,clk;
reg [3:0] out;
always@(posedge clk) begin
if(reset)
out<=0;
else
out<=out 1;
end
endmodule
(5)、新建一个testbench文件(综合时,不参与综合),和第(2)步骤相同
(6)、选择 verilog Test Fixture。
![](http://img1.51cto.com/attachment/201209/220128840.png)
(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 begin
clk=0;
reset=0;
#DELY reset=1;
#DELY reset=0;
#(DELY*200) $finish;
end
initial $monitor($time,,,"clk=%d reset=%d out=%d",clk,reset,out);
endmodule
注:可以修改文件的属性,是否为testbench或者为verilog文件。右击要修改的文件。选择source properties
![](http://img1.51cto.com/attachment/201209/220229129.png)
修改属性,simulation为testbench .implementation为正常的verilog文件
![](http://img1.51cto.com/attachment/201209/220325429.png)
2、功能仿真
功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
(1)、切换到simulation。选择behavioral。
![](http://img1.51cto.com/attachment/201209/220348818.png)
(2)、单击选中count4_tb文件,然后双击simulate behavioral model。
![](http://img1.51cto.com/attachment/201209/220420452.png)
(3)、在modelsim,查看波形等内容。
![](http://img1.51cto.com/attachment/201209/220733678.jpg)
3、时序(综合后)仿真
时序仿真将时延考虑进去,包括综合后产生的(与、或、非)门时延,还有布局布线产生的时延。
综合(Synthesize),就是将HDL语言设计输入翻译成由与、或、非门和RAM、触发器等逻辑单元组成的网表。综合后可生成综合后仿真模型(Generate Post-Synthesis Simulation Model)。
![](http://img1.51cto.com/attachment/201209/221105477.png)
综合后,进行ISE的实现(Implement),包括翻译、映射、布局布线。在这三个过程中都可以生成一个仿真模型(翻译和映射不会产生延时,因此常用布局布线后产生的仿真模型进行时序仿真)
![](http://img1.51cto.com/attachment/201209/221128588.png)
(1)、进行综合,双击 Synthesize – XST ,想生成 Post-Synthesis Simulation Model,双击Generate Post-Synthesis Simulation Model即可,会在工程文件夹下生成netgen\synthesis\count4_synthesis.v等文件
![](http://img1.51cto.com/attachment/201209/221156527.png)
(2)、进行实现,双击 Implement Design ,完成后,双击Generate Post-Place & Route Simulation Model.。生成布局布线后仿真模型。
![](http://img1.51cto.com/attachment/201209/221226479.png)
(3)、切换到 Simulation ,选中Post-route。
![](http://img1.51cto.com/attachment/201209/221253589.png)
(4)、然后选中count4_tb文件,双击下面的Simulate Post-Place&Route Model,启动modelsim。
![](http://img1.51cto.com/attachment/201209/221330578.png)
(5)、在modelsim中观察仿真波形。可以看到输出out有明显的延时。
![](http://img1.51cto.com/attachment/201209/221441671.jpg)
来源:本文出自 “李海川” 博客
总结如下:
1.在综合前进行仿真,功能仿真。功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
2.在综合,翻译,映射,布局布线后都可以生成模型的,并且在一个文件家中。
![](http://www.eefocus.com/include/picture/500/400/data/13-11/1384530069_b08eb95b.png)
3.时序仿真主要是对布局布线后的生成模型仿真。
4.生成的综合后模型实质就是xilinx原语相当于机器语言。
5.
![](http://www.eefocus.com/include/picture/500/400/data/13-11/1384530310_cbd96940.png)
注意这个不是摆设会用了吧。嘿嘿
(1)、新建一个ISE工程,名字为count4。
(2)、新建一个verilog文件
![](http://img1.51cto.com/attachment/201209/215922615.png)
(3)、选择verilog module 输入file name为count4,单击next默认知道finish。
![](http://img1.51cto.com/attachment/201209/220051200.png)
(4)、在count4.v文件中输入以下代码
module count4(out,reset,clk
);
output [3:0] out;
input reset,clk;
reg [3:0] out;
always@(posedge clk) begin
if(reset)
out<=0;
else
out<=out 1;
end
endmodule
(5)、新建一个testbench文件(综合时,不参与综合),和第(2)步骤相同
(6)、选择 verilog Test Fixture。
![](http://img1.51cto.com/attachment/201209/220128840.png)
(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 begin
clk=0;
reset=0;
#DELY reset=1;
#DELY reset=0;
#(DELY*200) $finish;
end
initial $monitor($time,,,"clk=%d reset=%d out=%d",clk,reset,out);
endmodule
注:可以修改文件的属性,是否为testbench或者为verilog文件。右击要修改的文件。选择source properties
![](http://img1.51cto.com/attachment/201209/220229129.png)
修改属性,simulation为testbench .implementation为正常的verilog文件
![](http://img1.51cto.com/attachment/201209/220325429.png)
2、功能仿真
功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
(1)、切换到simulation。选择behavioral。
![](http://img1.51cto.com/attachment/201209/220348818.png)
(2)、单击选中count4_tb文件,然后双击simulate behavioral model。
![](http://img1.51cto.com/attachment/201209/220420452.png)
(3)、在modelsim,查看波形等内容。
![](http://img1.51cto.com/attachment/201209/220733678.jpg)
3、时序(综合后)仿真
时序仿真将时延考虑进去,包括综合后产生的(与、或、非)门时延,还有布局布线产生的时延。
综合(Synthesize),就是将HDL语言设计输入翻译成由与、或、非门和RAM、触发器等逻辑单元组成的网表。综合后可生成综合后仿真模型(Generate Post-Synthesis Simulation Model)。
![](http://img1.51cto.com/attachment/201209/221105477.png)
综合后,进行ISE的实现(Implement),包括翻译、映射、布局布线。在这三个过程中都可以生成一个仿真模型(翻译和映射不会产生延时,因此常用布局布线后产生的仿真模型进行时序仿真)
![](http://img1.51cto.com/attachment/201209/221128588.png)
(1)、进行综合,双击 Synthesize – XST ,想生成 Post-Synthesis Simulation Model,双击Generate Post-Synthesis Simulation Model即可,会在工程文件夹下生成netgen\synthesis\count4_synthesis.v等文件
![](http://img1.51cto.com/attachment/201209/221156527.png)
(2)、进行实现,双击 Implement Design ,完成后,双击Generate Post-Place & Route Simulation Model.。生成布局布线后仿真模型。
![](http://img1.51cto.com/attachment/201209/221226479.png)
(3)、切换到 Simulation ,选中Post-route。
![](http://img1.51cto.com/attachment/201209/221253589.png)
(4)、然后选中count4_tb文件,双击下面的Simulate Post-Place&Route Model,启动modelsim。
![](http://img1.51cto.com/attachment/201209/221330578.png)
(5)、在modelsim中观察仿真波形。可以看到输出out有明显的延时。
![](http://img1.51cto.com/attachment/201209/221441671.jpg)
来源:本文出自 “李海川” 博客
总结如下:
1.在综合前进行仿真,功能仿真。功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
2.在综合,翻译,映射,布局布线后都可以生成模型的,并且在一个文件家中。
![](http://www.eefocus.com/include/picture/500/400/data/13-11/1384530069_b08eb95b.png)
3.时序仿真主要是对布局布线后的生成模型仿真。
4.生成的综合后模型实质就是xilinx原语相当于机器语言。
5.
![](http://www.eefocus.com/include/picture/500/400/data/13-11/1384530310_cbd96940.png)
注意这个不是摆设会用了吧。嘿嘿
相关文章推荐
- modelsim学习4——ise和modelsim联合仿真
- ISE与Modelsim联合仿真配置和技巧
- ISE联合modelsim功能仿真和综合后仿真
- ISE联合modelsim功能仿真和综合后仿真1
- ISE联合modelsim功能仿真和综合后仿真
- ise和modelsim联合仿真的一些准备
- ISE与modelsim联合仿真的问题
- Modelsim与ISE联合仿真若干须知
- Verilog中ISE联合Modelsim仿真,出现蓝线和红线的问题
- ISE和Modelsim联合仿真
- ISE和Modelsim联合仿真(转)
- FPGA开发之modelsim和ISE的联合仿真
- EDA工具使用笔记——ISE与modelsim联合仿真
- ISE12.4使用modelsim10.0版本进行仿真
- Modelsim, Debussy联合仿真Xilinx
- debussy和modelsim联合仿真设置
- vivado与modelsim的联合仿真(一)
- Xilinx FPGA 仿真环境设置(ISE + Modelsim + Debussy)
- MATLAB与ISE联合仿真的必备流程
- vivado与modelsim的联合仿真(二)