集成電路設計課件:9 modelsim仿真工具的使用_第1頁
集成電路設計課件:9 modelsim仿真工具的使用_第2頁
集成電路設計課件:9 modelsim仿真工具的使用_第3頁
集成電路設計課件:9 modelsim仿真工具的使用_第4頁
集成電路設計課件:9 modelsim仿真工具的使用_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、靜態(tài)時序分析什么是靜態(tài)時序分析(STA)FPGA設計哪些過程需要仿真?前仿真與后仿真Modelsim的不同版本Modelsim的仿真過程測試向量的編寫Modelsim仿真工具設計規(guī)范設計綜合布局布線時序分析系統(tǒng)驗證系統(tǒng)產品設計輸入RTL仿真門級仿真設計輸入Modelsim仿真工具FPGA設計過程中,主要用到的仿真是RTL仿真、門級仿真;RTL仿真就是通常所說的前仿真或者功能仿真,它只考慮在理想情況下,用戶代碼的時序的正確性;用戶可通過功能仿真,來檢驗邏輯功能的時序是否是期待的時序;門級仿真又叫后仿真,它是通過綜合、布局布線生成網表后,把各種延時信息進行綜合考慮的一種仿真;通過后仿真,用戶可知道

2、實際電路運行的情況,及相關的時序信息;Modelsim仿真工具針對不同的應用,modelsim分modelsim XE、modelsim PE、modelsim SE、modelsim_altera等版本;a,modelsim XE針對xilinx的FPGA器件的仿真應用,用戶使用時無須庫編譯;b,modelsim_altera 針對altear的FPGA器件的仿真應用,仿真庫已經編譯好,用戶可直接使用; c,modelsim PE主要是做設計驗證用,altera/Xilinx/lattice器件,都需要進行庫編譯與指定;modelsim PE不支持verilog與vhdl的混合仿真;相比SE

3、版本,仿真速度也不快;d,modelsim SE 也是做設計驗證用,使用時,需要對不同廠家的器件庫進行編譯,并且要指定相應庫路徑;modelsim SE 支持混合設計及仿真;并且仿真速度很快;另外帶許多其它附加功能,比如代碼覆蓋率等;Modelsim仿真工具窗口介紹workspaceobjectswavetranscriptModelsim仿真工具新建工程準備需要仿真的源文件及TB文件;啟動modelsim_altera 6.4,新建工程:sim_tech_tt加載源文件及TB文件點擊add exiting fileBrowseselect files源文件加載后的未編譯狀態(tài)文件未編譯源文件加

4、載后的未編譯狀態(tài)文件未編譯編譯源文件及TB文件編譯所有文件Compile All編譯的文件編譯出錯當編譯出錯時,會指示哪個源文件出錯查找錯誤通過點擊出錯的源文件,會找出源文件的錯誤點具體的錯誤定位通過點擊錯誤行,就能定位到源文件中錯誤編譯成功啟動仿真源文件全編譯成功后,就可加載仿真simulate加載庫文件altera常用的庫有:220_models/altear_mf/sgate不同的器件有不同的庫加載OK的庫開始仿真選擇要觀察的信號在objects欄時,選擇要觀察的信號;加入到wave窗口已加入的信號已加入的信號查看波形放大波形局部鼠標中鍵波形測量新增光標波形顏色設置formatcolor

5、多種顏色設置效果testbench編寫測試向量文件測試文件(Testbench)以模擬的方式來驗證邏輯時序的正確性;它以源的方式來激勵用戶編寫的邏輯功能模塊;測試激勵源測試激勵結果用戶邏輯模塊testbench編寫TB文件結構TB文件只是用來測試的模塊,對外沒有輸入輸出信號引腳;timescale 1ns/100ps/時間精度module mii_top_tb(); endmodule時間精度格式:timescale reference_time/precisionreference_time:單位時間,根據用戶模塊的輸入輸出時鐘周期來決定;precision:單位時間精確度,即參考時鐘可達的

6、最大精度;示例:timescale 1ns/100ps單位時間為1ns,可精確到0.xx位;比如1.23/3.75;testbench編寫激勵端口相對于TB文件,被測模塊的輸入是TB的輸出,而被測模塊的輸出是TB的輸入;即在TB文件中,相應于被測試模塊的輸入激勵設置為reg型,輸出相應設置為wire類型,雙向端口inout在測試中需要進行處理。 module mii_top_tb();reg clk,rstwire mii_tx_en;wire 3:0mii_tx_dat;. endmoduleTB被測試模塊testbench編寫延時單位格式:#times ns/us/ms/min示例:#2n

7、s; #40;說明:延時2ns; 延時40個單位時間;在TB文件中,通過延時#,可以設置各個信號的賦值情況;initial beginreset = 0; #100; reset = 1; end t0 t100testbench編寫時鐘激勵在TB中,時鐘激勵源的生成有好幾種方式;比如生成50M時鐘,周期為20ns,則可以用如下方式:timescale 1ns/100psparameter CLK_PERIOD = 20; always #(CLK_PERIOD / 2) clk_50m = clk50m; 或者: forever #(CLK_PERIOD / 2) clk_50m = clk

8、50m;testbench編寫信號生成:單個控制信號可以采用延時語句來生成;比如: initial begin rst_n = 1b0; ld = 1b0; en = 1b0; #20; rst_n = 1b1; ld = 1b1; #20; ld = 1b0; en = 1b1; endDFFldqclkdenrst_n多個信號當有多個信號需要生成時,可根據各種事情來生成; 數據流數據流除了可以采用條件生成外,還可以通過$readmemh/readmemb語句生成;或者把數據包以*.mif/*.coe格式存放到ROM中來調用;initial $readmemh ( “*.mif“ , rom )$monitor/$displaymodelsim 可以通過一些系統(tǒng)函數來打印輸出相關的信號;為仿真提供監(jiān)測與比較;$timeformat(-9,1,ns,12);$display( Time clk rst_n ld en d q);$monitor(“%t %b %b %b %b %b %b“,$time,clk,rst_n,ld,en,d,q); 上面的語句是監(jiān)視DFF各端口信號變化并打??;宏定義在TB 文件中,可以以宏定義語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論