利用ModelSim進行的功能仿真,綜合后仿真,時序仿真_第1頁
利用ModelSim進行的功能仿真,綜合后仿真,時序仿真_第2頁
利用ModelSim進行的功能仿真,綜合后仿真,時序仿真_第3頁
利用ModelSim進行的功能仿真,綜合后仿真,時序仿真_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、利用ModelSim進行的功能仿真,綜合后仿真,時序仿真 功能仿真,就是在理想狀態(tài)下(不考慮延遲),驗證電路的功能是否符合設(shè)計的要求。功能仿真需要:1.TestBench或者其他形式的輸入激勵2.設(shè)計代碼(HDL源程序)3.調(diào)用器件的模塊定義(供應(yīng)商提供,如FIFO,RAM等等)值得一提的是,可以在ModelSim直接編寫TestBench,使用View->Source->Show language templates. 綜合后仿真(門級仿真),實際上就是將對綜合后的門級網(wǎng)表進行仿真,只考慮門延遲,而沒有加入時延文件。在功能仿真之后檢驗綜合的結(jié)果是否滿足功能要求

2、。綜合后仿真需要:1.綜合后的門級網(wǎng)表,注意這里變成了*.vo文件,而不是原來功能仿真中所需要的HDL源代碼.2.測試激勵3.元件庫Altera的仿真庫位置為*:alteraquartusedasim_lib 所謂時序仿真,就是在綜合后仿真的基礎(chǔ)上加上時延文件(sdf文件),綜合考慮了路徑延遲和門延遲的情況,驗證電路是否存在時序違規(guī)。時序仿真需要:1.綜合后的門級網(wǎng)表,注意這里變成了*.vo文件,而不是原來功能仿真中所需要的HDL源代碼.2.測試激勵3.元件庫Altera的仿真庫位置為*:alteraquartusedasim_lib 可以有兩種方法實現(xiàn)門級仿真,或時序仿真

3、。1.工程編譯成功后,自動啟用ModelSim來運行門級仿真,前提是要在Quartus II的Options中設(shè)置好ModelSim的路徑(和有些參考PDF上說的環(huán)境變量好像無關(guān),至少我用的Quartus II 9.0 Web Edtion是這樣的)具體方法是,進入Quartus9.0->Tools->Options,在Categroy里選中General下的EDA Tool Options,在ModelSim右邊的Location of Executable中雙擊來改變路徑,就并且在工程中設(shè)置了自動啟動ModelSim,就可以自動啟用了。1.在EDA Tool Settings,

4、首先將仿真工具設(shè)置為ModelSim,然后點擊讓它自動啟動。2.NativeLink settings中選擇testbench,完成相關(guān)的設(shè)置,例如test bench name,top level module in test bench,Design instance name in test bench,仿真時間,然后編譯時會自動啟動ModelSim然后完成所有操作,大概這就是Altera所指的和很多EDA工具的無縫連接。 另外一種方法,則是現(xiàn)在quartus ii中生成門級網(wǎng)表和延時文件,然后調(diào)用ModelSim進行仿真1.在quartus ii設(shè)置仿真工具為ModelSim

5、,這樣設(shè)置完成后,在當(dāng)前目錄下會生成一個simulation的目錄,該目錄下有一個simulation文件夾,里面包含了網(wǎng)標(biāo)文件和時延反標(biāo)文件,vhdl語言對應(yīng)的是網(wǎng)表文件為*.vho,時延文件為*.sdo。Verilog則為*.vo,*.sdo。2.建立庫并映射到物理目錄,編譯TestBench,執(zhí)行仿真。對庫的理解:我想所謂庫,實際上就是一個代替文件夾的符號,區(qū)別就是,庫中的文件的表述皆是經(jīng)過了編譯的實體或者module,一切操作都在庫中進行。ModelSim有兩種庫,一種是資源庫,一種是工作庫(默認(rèn)名為work,保存當(dāng)前工程下已通過編譯的所有文件,資源庫放置work庫已編譯文件所要調(diào)用的

6、資源)。所以編譯前,一定要有work庫,而且只能有一個。3.加入仿真庫,可以看出,門級仿真和時序仿真都需要仿真庫,在ModelSim中可以通過兩種方法將Altera的仿真庫調(diào)入進來,一種是新建一個庫,用來存放仿真是需要調(diào)用的文件,另一種是將Altera的器件直接編譯到work這個library中去。3.1新建一個庫,用來存放調(diào)用的仿真庫文件在Modelsim中建立一個新的project,將*.vo,*.v(TestBench),所用器件的庫,一起加入到project當(dāng)中去。新建一個庫,名字實際是都可以的,當(dāng)然將名字命名為所用的altera庫的名字比較合適。最重要的是,要對加入的所用期間的庫進行

7、右鍵屬性,在General選項卡中,要設(shè)置compile to library到你自己新建的這個庫中去,否則的話,編譯的文件就都會出現(xiàn)在你的工作庫當(dāng)中,可見新建的第二庫就是作為資源庫來使用的。至此,我們已經(jīng)完成了所有的準(zhǔn)備工作,點擊你的工作庫,然后選擇Simulate中的start simulation,在library標(biāo)簽中,將自己編譯的資源庫加入。在design標(biāo)簽中選擇testbench作為設(shè)計單元,要說明的是,如果你沒有使用work庫的默認(rèn)庫名,而是自己命名了,那么此時你可以使用work庫,也可以使用自己命名的庫,二者是等價的。到這里,就可以完成了門級仿真,如果是時序仿真,那么還需要將

8、反標(biāo)記*.sdo文件加入,具體方法是單擊start simulation后,在SDF標(biāo)簽中可以加入時延反標(biāo)記文件。但要注意須在Apply to Region中將里面的"/"改寫為"testbench名(這個很重要,是testbench文件名,而不是頂層module名)/testbench中實例化頂層的名稱",如果是用模板創(chuàng)建的testbench,這個頂層名稱叫做DUV(Design Under Test/Verification,待測設(shè)計)。當(dāng)然了,不是一帆風(fēng)順的,就在加入了SDF文件之后,準(zhǔn)備開始的時候,出現(xiàn)了ERROR,vsim-sdf-3894:C

9、ompiled SDF file was not found.不過幸好很快找到了解決辦法,那就是將你的testbench和*.sdo文件放在同一個目錄下,這種錯誤就可以解決了,默認(rèn)的會在當(dāng)前工程下的simulation/modelsim中。3.2將庫文件直接編譯到work的library中,這種會比3.1簡單一些,不用建立庫,直接編譯到工作庫就可以了。 如何對Altera的megacore進行仿真呢?基本和上面一致,一般要用到仿真庫中的220model.v和altera_mf.v。我只找了一個很簡單的計數(shù)器的例子來試,但發(fā)現(xiàn)了一個很有意思的現(xiàn)象,也是原來我沒有考慮到的,如果你想做功能仿真,那么由于你的設(shè)置中包含了Altera公司的一些原語,比如lpm_XXXX等等,那么就需要將220model或者altera_mf.v編譯進你的工程,但是再做時序仿真或門級仿真的時候卻不需要這些,因為你可以自己去看一下生成

溫馨提示

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

評論

0/150

提交評論