版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第4章 基于ModelSim的仿真4.1 ModelSim的仿真方法4.2 Quartus II和ModelSim聯(lián)合仿真 第4章 基于ModelSim的仿真4.1 ModelSim的4.1 ModelSim的使用方法4.1.1 ModelSim軟件簡介 ModelSim 是業(yè)界最優(yōu)秀的 HDL 語言仿真器。它提供最友好的調(diào)試環(huán)境,是業(yè)界唯一單一內(nèi)核支持VHDL、 Verilog HDL 和 SystemC 混合仿真的仿真器,同時也支持業(yè)界最廣泛的標(biāo)準(zhǔn)如 Verilog 2001、SystemVerilog 等,內(nèi)部集成了用于 C/C+,PLI/FLI和 SystemC 的集成 C 調(diào)試器。支
2、持眾多的 ASIC和 FPGA廠家?guī)欤梢杂糜?FPGA 和 ASIC 設(shè)計的 RTL 級和門級電路仿真。是作 FPGA/ASIC 設(shè)計的RTL 級和門級電路仿真的首選全面支持UNIX(包括 64 位)、Linux和 Windows平臺。 4.1 ModelSim的使用方法4.1.1 ModelSi3ModelSim分幾種不同的版本:SE、PE和OEM,其中集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計工具中的均是其OEM版本。比如為Altera提供的OEM版本是ModelSim-Altera,為Xilinx提供的版本為ModelSim XE.
3、SE版本為最高級版本,在功能和性能方面比OEM版本強很多,比如仿真速度方面,還支持PC 、 UNIX 、 LIUNX混合平臺。3ModelSim分幾種不同的版本:SE、PE和OEM,其為什么要學(xué)Modelsim?1.2.Modelsim的安裝為什么要學(xué)Modelsim?5同許多其他軟件一樣,Modelsim SE同樣需要合法的License,通常我們用Kengen產(chǎn)生license.dat。 解壓安裝工具包開始安裝,安裝時選擇Full product安裝。當(dāng)出現(xiàn)Install Hardware Security Key Driver時選擇否。當(dāng)出現(xiàn)Add Modelsim To Path選擇是
4、。出現(xiàn)Modelsim License Wizard時選擇Close。 在C盤根目錄新建一個文件夾flexlm,用Keygen產(chǎn)生一個license.dat,然后復(fù)制到該文件夾下。 修改系統(tǒng)的環(huán)境變量。右鍵點擊桌面我的電腦圖標(biāo),屬性-高級-環(huán)境變量-(系統(tǒng)變量)新建。按下圖所示內(nèi)容填寫,變量值內(nèi)如果已經(jīng)有別的路徑了,請用“;”將其與要填的路徑分開。LM_LICENSE_FILE = c:flexlm license.dat 5同許多其他軟件一樣,Modelsim SE同樣需要合法的6仿真仿真分為功能仿真,門級仿真,時序仿真功能仿真(前仿真,代碼仿真) 主旨在于驗證電路的功能是否符合設(shè)計要求,其
5、特點是不考慮電路門延遲與線延遲,主要是驗證電路與理想情況是否一致。可綜合FPGA代碼是用RTL級代碼語言描述的,其輸入為RTL級代碼與Testbench.在設(shè)計的最初階段發(fā)現(xiàn)問題,可節(jié)省大量的精力門級仿真和時序列仿真 (后仿真) 使用綜合軟件綜合后生成的門級網(wǎng)表進(jìn)行仿真,不加入時延文件的仿真就是門級仿真.可以檢驗綜合后的功能是否滿足功能要求,其速度比功能仿真要慢,比時序仿真要快. 在門級仿真的基礎(chǔ)上加入時延文件(.sdf)的仿真就是時序仿真,比較真實地反映了邏輯的時延與功能.綜合考慮電路的路徑延遲與門延遲的影響,驗證電路能否在一定時序條件下滿足設(shè)計構(gòu)想的過程,是否存在時序違6仿真4.1.2 基
6、本仿真步驟建立工作庫/建立資源庫編譯源代碼啟動仿真器執(zhí)行仿真4.1.2 基本仿真步驟4.1.3 各個界面介紹ModelSim仿真軟件在默認(rèn)條件下提供了主窗口、結(jié)構(gòu)窗口、源程序窗口、信號窗口、進(jìn)程窗口、變量窗口、 數(shù)據(jù)流窗口、 波形窗口、 存儲器窗口、 列表窗口等 11 種不同的用戶窗口。4.1.3 各個界面介紹主窗口 主窗口在ModelSim啟動時直接打開的,是所有其他窗口運行的基礎(chǔ)。通常情況下主窗口分為工作區(qū)和腳本區(qū)(也叫命令控制臺)兩個部分,通過工作區(qū)可以很方便地對當(dāng)前的工程的工作庫以及所有打開的數(shù)據(jù)集合等進(jìn)行控制,通過命令控制臺可以在 ModelSim的提示符下輸入所有 ModelSim
7、命令,并且可將命令執(zhí)行結(jié)果反饋回來,便于實時掌握運行情況。主窗口的典型形式如所示。 主窗口工作區(qū)腳本區(qū)命令輸入工作區(qū)腳本區(qū)命令輸入數(shù)據(jù)流窗口 數(shù)據(jù)流窗口(Dataflow)是一般仿真軟件都提供的一個通用窗口,通過該窗口可以跟蹤設(shè)計中的物理連接,跟蹤設(shè)計中事件的傳播,也可以用來跟蹤寄存器、網(wǎng)線和進(jìn)程,極大地豐富了調(diào)試方法。數(shù)據(jù)流窗口中可以顯示進(jìn)程(可以是 Verilog 的一個模塊) 、信號、網(wǎng)線和寄存器等,也可以顯示設(shè)計中的內(nèi)部連接。窗口中有一個內(nèi)置的符號表,映射了所有的 Verilog基本門,例如與門、非門等,這些符號可以在數(shù)據(jù)流窗口中顯示。其他的 Verilog 基本組件可以使用模塊或者用
8、戶定義的符號在數(shù)據(jù)流窗口中顯示。 數(shù)據(jù)流窗口 數(shù)據(jù)流窗口中的符號都使用了類似#ASSIGN#23#2、#ALWAY#56或module_name等信息進(jìn)行說明,其中第一個#說明了這個符號的語句,第二個#后面緊跟了產(chǎn)生這個符號的語句所在的源文件中的行號,第三個#說明了這個語句在源文件中屬于當(dāng)前行的第幾個語句。 數(shù)據(jù)流窗口中的符號都使用了類似#ASSIGN#23#2、列表窗口 列表窗口使用表格的形式顯示仿真的結(jié)果。窗口被分為兩個可調(diào)整的部分,右邊為信號列表,左邊為仿真時間以及仿真的Delta時間。同時可以從主窗口中創(chuàng)建列表窗口的第二個副本,兩個列表窗口可以進(jìn)行不同的設(shè)置,便于仿真結(jié)果的比較,同時也
9、可以在波形比較時對相應(yīng)得數(shù)據(jù)進(jìn)行列表對比。列表窗口 源文件窗口 源文件窗口主要用來顯示和編輯 HDL 源文件代碼。ModelSim 源文件窗口是一個很優(yōu)秀的硬件描述語言編輯工具,在這個窗口中可以顯示文件的行號,同時可以使用“新建”按鈕打開語言模板來方便源代碼的編寫,語言模板會根據(jù)編寫的源文件的類型自動調(diào)整。源文件窗口 波形窗口 就像列表窗口可以用來查看仿真結(jié)果一樣,波形窗口也可以用來顯示仿真波形,并且比列表窗口更直觀,所以波形窗口是最常用的仿真窗口之一。波形窗口一般分為 3 個不同區(qū)域,分別用來顯示信號名稱以及路徑,光標(biāo)所在位置信號的當(dāng)前值、波形等。波形窗口 4.1.4 ModelSim調(diào)試功
10、能在波形窗口中監(jiān)視信號,查看仿真的波形改變當(dāng)前目錄到要變異的文件所在的目錄建立工作庫并編譯相關(guān)源文件加載設(shè)計的激勵文件向波形窗口中添加項目,即要監(jiān)視的信號縮放波形顯示在波形窗口中使用光標(biāo)保存波形窗口格式4.1.4 ModelSim調(diào)試功能4.1.4 ModelSim調(diào)試功能使用斷點、斷點設(shè)置方法在源文件窗口中打開要調(diào)試的源文件,找到要設(shè)置斷點的地方在要設(shè)置斷點的行的紅色行號后面單擊鼠標(biāo)左鍵,行號后出現(xiàn)的紅色圓圈表示斷點設(shè)置成功。當(dāng)仿真被斷點停止后可以查看信號當(dāng)前值在信號窗口中查看各個信號的當(dāng)前值在源程序窗口中,將光標(biāo)懸停在需要查看的信號上,會出現(xiàn)一個注釋說明信號當(dāng)前值可以通過主窗口命令臺中使用
11、examine查看4.1.4 ModelSim調(diào)試功能184.1.5功能仿真功能仿真需要的文件1設(shè)計HDL源代碼:可以使VHDL語言或Verilog語言。2測試激勵代碼:根據(jù)設(shè)計要求輸入/輸出的激勵程序3仿真模型/庫:根據(jù)設(shè)計內(nèi)調(diào)用的器件供應(yīng)商提供的模塊而定,如:FIFO、ADD_SUB等 仿真步驟 以2選1多路器為例給出詳細(xì)步驟1.啟動modelsim軟件先在c盤建立文件夾count4,在modelsim中選擇File - Change Directory,在彈出的Choose folder對話框中設(shè)置目錄路徑為c:/XXXX2.建立工程在modelsim中建立project,選擇File
12、-New -Project.在Project Name欄中填寫你的項目名字,建議和你的頂層文件名字一致。Project Location是你的工作目錄,你可通過Brose按鈕來選擇或改變。Ddfault Library Name可以采用工具默認(rèn)的work。Workspace窗口的library中就會出現(xiàn)work庫. 184.1.5功能仿真功能仿真需要的文件1919203.為工程添加文件工程建立后,選擇Add Exsiting File后,根據(jù)相應(yīng)提示將文件加到該Project中203.為工程添加文件2121224.編譯文件編譯(包括源代碼和庫文件的編譯)。編譯可點擊ComlileComlile
13、 All來完成。 5.裝載文件(1)雙擊libray 中work中的t裝載(2)點擊simulate start simulation按右圖設(shè)置,點擊ok224.編譯文件5.裝載文件236.開始仿真點擊workspace下的sim,點擊count_tp,選擇add add to wave然后點run all,開始仿真236.開始仿真247.退出仿真在仿真調(diào)試完成后退出仿真,在主窗口中選擇simulate end simulation247.退出仿真25補充:(1)也可以不加testbench,仿真步驟跟前面相似, 裝載文件時雙擊muxtop在sim中點擊muxtop,add add to wa
14、ve對輸入信號sel、a、b編輯測試波形點擊run -all25補充:點擊run -all26(2)我們可以在modelsim內(nèi)直接編寫TestbenchModelsim提供了很多Testbench模板,我們直接拿過來用可以減少工作量。點View-Source-Show Language Templates然后會出現(xiàn)一個加載工程,接著你會發(fā)現(xiàn)在剛才的文檔編輯窗口左邊出現(xiàn)了一個Language Templates窗口26(2)我們可以在modelsim內(nèi)直接編寫Testben 展開Verilog項,雙擊Creat Testbench會出現(xiàn)一個創(chuàng)建向?qū)нx擇Specify Design Unit工作
15、庫下的目標(biāo)文件,點Next可以指定Testbench的名稱以及要編譯到的庫等,此處我們使用默認(rèn)設(shè)置直接點Finish。這時在Testbench內(nèi)會出現(xiàn)對目標(biāo)文件的各個端口的定義還有調(diào)用函數(shù) 接下來,設(shè)計者可以自己往Testbench內(nèi)添加內(nèi)容了,然后保存為.v格式即可。按照前面的方法把Testbench文件也編譯到工作庫中. 展開Verilog項,雙擊Creat Tes4.1.6 門級仿真和時序仿真 仿真需要的文件 1綜合布局布線生成的網(wǎng)表文件2測試激勵3元件庫Altera仿真庫的位置為X:alteraquartus80edasim_lib4時序仿真的話,還需要具有時延時延信息的反標(biāo)文件(sd
16、f)門級仿真有兩種方法(1)工程編譯成功后自動啟動Modelsim運行門級仿真(2)先在quartus中生成網(wǎng)表文件和時延文件,然后調(diào)用modelsim進(jìn)行仿真工程編譯成功后自動啟動Modelsim運行門級仿真1.Quartus中設(shè)置仿真工具打開quartus,建立工程,選擇Assignments | EDA Tool Settings,選擇左欄的“Simulation”,設(shè)置如下:4.1.6 門級仿真和時序仿真 基于ModelSim的仿真課件然后,我們單擊下方的“More Settings”按鈕,彈出“More Settings”對話框.這種門級仿真的testbench有兩種方法生成(1)自
17、己手動編寫testbench t.v然后點擊quartus的start compilation ,開始編譯,我們會發(fā)現(xiàn)QuartusII 狀態(tài)欄多出兩項“EDA Netlist Writer”和“EDA Simulation Tool”然后,我們單擊下方的“More Settings”按鈕,彈出在modelsim中我們可以看到,modelsim自動把仿真所需要元件庫庫文件加了進(jìn)來,不用我們手動加入,同時仿真結(jié)果也出來了.退出ModelSim 后,QuartusII 才完成全部編譯運行ModelSim 后會彈出“Finish Vsim”對話框,單擊“否”在modelsim中我們可以看到,mode
18、lsim自動把仿真基于ModelSim的仿真課件基于ModelSim的仿真課件(2)利用quartus II生成testbench文件在quartus II界面選擇FileNew,新建一個波形文件,編輯仿真信號的激勵源,最后保存帶有激勵信號的波形文件.轉(zhuǎn)換:Quartus II提供了把.vwf文件轉(zhuǎn)換成.vt的功能,選擇主菜單File Export,可以保存為.vt或者.v文件,對仿真沒有影響(2)利用quartus II生成testbench文件轉(zhuǎn)換先在quartus中生成網(wǎng)表文件和時延文件,然后調(diào)用modelsim進(jìn)行仿真Quartus II 中設(shè)置仿真工具,more settings 也
19、不用設(shè)置先在quartus中生成網(wǎng)表文件和時延文件,然后調(diào)用mode設(shè)置完后,成功編譯,quartus II會自動在當(dāng)前project目錄下生成一個simulation目錄,在該目錄下有一個Modelsim的文件夾,此文件夾下有仿真所需要的網(wǎng)表文件及延時反標(biāo)文件.如果使用vhdl語言,則網(wǎng)表文件是.vho,反標(biāo)文件是.sdo;如果使用verilog語言,則網(wǎng)表文件是.vo,sdf文件也是.sdo.這個時候的testbench最好是自己手動編寫的,這里是t.vModelsim后仿真主要步驟建立庫并映射庫到物理目錄;編譯Testbench;執(zhí)行仿真。 設(shè)置完后,成功編譯,quartus II會自動
20、在當(dāng)前proj建立庫仿真庫是存儲已編譯設(shè)計單元的目錄,modelsim中有兩類仿真庫,一種是工作庫,默認(rèn)的庫名為work,另一種是資源庫。Work庫下包含當(dāng)前工程下所有已經(jīng)編譯過的文件。所以編譯前一定要建一個work庫,而且只能建一個work庫。資源庫存放work庫中已經(jīng)編譯文件所要調(diào)用的資源,這樣的資源可能有很多,它們被放在不同的資源庫內(nèi).映射庫用于將已經(jīng)預(yù)編譯好的文件所在的目錄映射為一個modelsim可識別的庫,庫內(nèi)的文件應(yīng)該是已經(jīng)編譯過的,在Workspace窗口內(nèi)展開該庫應(yīng)該能看見這些文件,如果是沒有編譯過的文件在庫內(nèi)是看不見的。在Modelsim中加入Quartus的仿真庫有兩種方
21、法:1.自己新建一個庫,用來存放仿真需要調(diào)用的仿真文件2.把Altera的器件加到了work這個library里 建立庫利用方法1進(jìn)行后仿真1.在modelsim中建立project與功能仿真相似,建立工程muxtop,并加入文件muxtop.vo,t.v,庫文件cycloneii_atoms.v,此時就不需要源代碼文件了.在成功建立Project后,Modelsim會增加一個頁面,點擊Modelsim左下角的Library 點擊FileNewLibrary。在在Library Name中輸入庫名,該名應(yīng)和Altera的庫名保持一致。這里取名為cycloneii 利用方法1進(jìn)行后仿真所需編譯的
22、庫因所用HDL語言的不同而不同。假設(shè)用tratix器件,對Verilog語言,則需編譯STRATIX_ATOMS.文件。對VHDL,所要編譯的庫文件為STRATIX_ATOMS.VHD和STRATIX_ATOMS_COMPONENTS.VHD;2.編譯庫文件和網(wǎng)表完成以上進(jìn)程后,點擊workspace下方的project,選擇cycloneii_atoms.v,設(shè)置其屬性如下然后對cycloneii_atoms.v單獨編譯,編譯后可看到cycloneii庫里有很很多文件,這些都是仿真是要用到的所需編譯的庫因所用HDL語言的不同而不同。假設(shè)用trati基于ModelSim的仿真課件然后分別編譯m
23、uxtop.vo,t.v3.仿真準(zhǔn)備已經(jīng)準(zhǔn)備了仿真所需要的所有的文件.選擇simulatestart simulation.單擊libraries標(biāo)簽,單擊add按紐,將剛才建立的cycloneii加入然后分別編譯muxtop.vo,t.v在design標(biāo)簽欄中做如下設(shè)置在design標(biāo)簽欄中做如下設(shè)置如果是對時序仿真,還要加入sdf文件,單擊sdf,再單擊add,將生成的.sdo文件找到,加入.sdo文件后,做如下設(shè)置:在Apply to Region框內(nèi)填入反標(biāo)文件所對應(yīng)的模塊。Count_tp為測試激勵程序,mycount為被仿真的模塊在激勵程序中的例化名字。單擊ok將sdf文件加入,然
24、后單擊load,就可已開始仿真了。 如果是對時序仿真,還要加入sdf文件,單擊sdf,再單擊ad基于ModelSim的仿真課件利用方法2進(jìn)行后仿真把Altera的器件加到了work這個library里把需要的altera仿真庫拷貝到你要編譯的文件所在的文件夾里。先編譯這個文件,等于是把Altera的器件加到了work這個library里。然后再在library下編譯你要用的文件就可以了。這樣方便些,也不用建立新庫了。利用方法2進(jìn)行后仿真如何仿真altera中的megacore呢?跟上面所講的仿真沒什么差別仿真megacore在時,一般要用到altera仿真庫中的220model.v 和alte
25、ra_mf.v 以fifo為例:用MEGA生成一個FIFO.V并添加到modelsim工程中必須為FIFO.V添加支撐文件(這幾個問題建要比FIFO.V先編譯),位于 .alteraquartus80edasim_lib要添加的文件如下:220model.v altera_mf.vcycloneii_atoms.v (這個是根據(jù)你altera的Fpga器件決定 )詳細(xì)操作步驟可見文檔PLL在MODELSIM SE中的仿真步驟 如何仿真altera中的megacore呢?利用modelsim進(jìn)行系統(tǒng)仿真 以LED 實驗為例在quartus中建立工程,在sopc builder中建立系統(tǒng),如下:利
26、用modelsim進(jìn)行系統(tǒng)仿真 以LED 實驗為例點擊generate前設(shè)置modelsim路徑,然后generate選擇“File | SOPC Builder Setup”選擇ModelSim 安裝目錄下的“Win32”文件點擊generate前設(shè)置modelsim路徑,然后gene單擊“Run Nios II IDE”按鈕運行NiosII IDE新建工程,源代碼如下#include system.h#include altera_avalon_pio_regs.h#include alt_types.hint main (void) _attribute_ (weak, alias (alt_main);int alt_main (void) alt_u8 led = 0 x2; alt_u8 dir = 0; volatile int pio_led_data=0; volatil
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年人工智能算法與編程實踐題庫
- 公司解散清算專項法律服務(wù)法律代理工作方案
- 小學(xué)語文試卷及答案
- 小學(xué)六年級科學(xué)試卷及答案
- 2025年藥師資格考題題庫及答案
- 申通物流工程師面試題目及答案
- 溫病學(xué)試題及答案大全
- 2025年礦山安全監(jiān)察員新員工崗位專業(yè)知識筆試題目及答案
- 2025年入學(xué)教育試題及答案
- 上杭縣2024年注冊土木工程師考試題庫及參考答案【能力提升】
- 當(dāng)代中國社會分層
- 呆滯存貨處理流程
- GB/T 16895.6-2014低壓電氣裝置第5-52部分:電氣設(shè)備的選擇和安裝布線系統(tǒng)
- GB/T 11018.1-2008絲包銅繞組線第1部分:絲包單線
- GB 31633-2014食品安全國家標(biāo)準(zhǔn)食品添加劑氫氣
- 麻風(fēng)病防治知識課件整理
- 手術(shù)室物品清點護(hù)理質(zhì)量控制考核標(biāo)準(zhǔn)
- 消防工程監(jiān)理實施細(xì)則
- 權(quán)利的游戲雙語劇本-第Ⅰ季
- 衛(wèi)生部《臭氧消毒技術(shù)規(guī)范》
- 早期復(fù)極綜合征的再認(rèn)識
評論
0/150
提交評論