打印
[ISE]

ISE联合modelsim功能仿真和综合后仿真

[复制链接]
3029|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ISE联合modelsim功能仿真和综合后仿真
1、代码输入
(1)、新建一个ISE工程,名字为count4。
(2)、新建一个verilog文件

(3)、选择verilog module 输入file name为count4,单击next默认知道finish。

(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。

(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



使用特权

评论回复

相关帖子

沙发
gaochy1126|  楼主 | 2022-5-31 21:10 | 只看该作者
修改属性,simulation为testbench    .implementation为正常的verilog文件


2、功能仿真
功能仿真放在综合前面,是因为大型程序综合需要很长的时间,而功能仿真不需要综合,可以先功能仿真,确保代码的正确性。功能仿真正确后,再综合,然后进行综合后仿真。
(1)、切换到simulation。选择behavioral。


(2)、单击选中count4_tb文件,然后双击simulate behavioral model。


使用特权

评论回复
板凳
gaochy1126|  楼主 | 2022-5-31 21:10 | 只看该作者
(2)、进行实现,双击 Implement Design ,完成后,双击Generate Post-Place & Route Simulation Model.。生成布局布线后仿真模型。


(3)、切换到 Simulation ,选中Post-route。


(4)、然后选中count4_tb文件,双击下面的Simulate Post-Place&Route Model,启动modelsim。


使用特权

评论回复
地板
gaochy1126|  楼主 | 2022-5-31 21:11 | 只看该作者
(5)、在modelsim中观察仿真波形。可以看到输出out有明显的延时。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1061

主题

11320

帖子

26

粉丝