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

 
 
修改屬性,simulation為testbench   .implementation為正常的verilog文件
 

 
2、功能仿真
功能仿真放在綜合前面,是因為大型程序綜合需要很長的時間,而功能仿真不需要綜合,可以先功能仿真,確保代碼的正確性。功能仿真正確后,再綜合,然后進行綜合后仿真。
(1)、切換到simulation。選擇behavioral。
 

 
(2)、單擊選中count4_tb文件,然后雙擊simulate behavioral model。
 

(3)、在modelsim,查看波形等內容。
 
 

 
3、時序(綜合后)仿真
時序仿真將時延考慮進去,包括綜合后產生的(與、或、非)門時延,還有布局布線產生的時延。
綜合(Synthesize),就是將HDL語言設計輸入翻譯成由與、或、非門和RAM、觸發器等邏輯單元組成的網表。綜合后可生成綜合后仿真模型(Generate Post-Synthesis Simulation Model)。
 

綜合后,進行ISE的實現(Implement),包括翻譯、映射、布局布線。在這三個過程中都可以生成一個仿真模型(翻譯和映射不會產生延時,因此常用布局布線后產生的仿真模型進行時序仿真)
 

(1)、進行綜合,雙擊 Synthesize – XST ,想生成 Post-Synthesis Simulation Model,雙擊Generate Post-Synthesis Simulation Model即可,會在工程文件夾下生成netgen\synthesis\count4_synthesis.v等文件
 

(2)、進行實現,雙擊 Implement Design ,完成后,雙擊Generate Post-Place & Route Simulation Model.。生成布局布線后仿真模型。
 

 
(3)、切換到 Simulation ,選中Post-route。
 

 
(4)、然后選中count4_tb文件,雙擊下面的Simulate Post-Place&Route Model,啟動modelsim。
 

(5)、在modelsim中觀察仿真波形。可以看到輸出out有明顯的延時。
 

本文出自 “李海川” 博客,請務必保留此出處http://lihaichuan.blog.51cto.com/498079/984870

補充:http://wenku.baidu.com/link?url=idbSvNzz2fLSl1WXiEmtIL1amhQTHmtqqQ6g1cp-oU1X3W4wF2Wdu5LSe745rwjCrM-btR44-we9zLCyMf2ofjjAt2d8wcBT7LFyIHF8Tym


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM