MODELSIM資料集 modelsim自創(chuàng)_第1頁(yè)
MODELSIM資料集 modelsim自創(chuàng)_第2頁(yè)
MODELSIM資料集 modelsim自創(chuàng)_第3頁(yè)
MODELSIM資料集 modelsim自創(chuàng)_第4頁(yè)
MODELSIM資料集 modelsim自創(chuàng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,Modelsim 6.0 使用教程 2006.12 qq:53579621,2,Modelsim簡(jiǎn)介 Modelsim仿真工具是Model公司開(kāi)發(fā)的。它支持Verilog、VHDL以及他們的混合仿真,它可以將整個(gè)程序分步執(zhí)行,使設(shè)計(jì)者直接看到他的程序下一步要執(zhí)行的語(yǔ)句,而且在程序執(zhí)行的任何步驟任何時(shí)刻都可以查看任意變量的當(dāng)前值,可以在Dataflow窗口查看某一單元或模塊的輸入輸出的連續(xù)變化等,比Quartus自帶的仿真器功能強(qiáng)大的多,是目前業(yè)界最通用的仿真器之一。 ModelSim分幾種不同的版本:SE、PE和OEM,其中集成在 Actel、Atmel、Altera、Xilinx以及La

2、ttice等FPGA廠商設(shè)計(jì)工具中的均是其OEM版本。比如為Altera提供的OEM版本是ModelSim-Altera,為Xilinx提供的版本為ModelSim XE. SE版本為最高級(jí)版本,在功能和性能方面比OEM版本強(qiáng)很多,比如仿真速度方面,還支持PC 、 UNIX 、 LIUNX混合平臺(tái).,3,為什么要學(xué)Modelsim? 1.Modelsim是專(zhuān)業(yè)的HDL語(yǔ)言仿真器,比 Quartus自帶的仿真器功能強(qiáng)大的多. 2. Quartus simulator不支持Testbench ,只支持波形文件.vwf vwf文件全稱(chēng)是矢量波形文件(Vector Waveform File),是Qu

3、artus II中仿真輸入、計(jì)算、輸出數(shù)據(jù)的載體。一般設(shè)計(jì)者建立波形文件時(shí),需要自行建立復(fù)位、時(shí)鐘信號(hào)以及控制和輸入數(shù)據(jù)、輸出數(shù)據(jù)信號(hào)等。其中工作量最大的就是輸入數(shù)據(jù)的波形錄入。比如要仿真僅1KB的串行輸入數(shù)據(jù)量,則手工輸入信號(hào)的波形要畫(huà)8000個(gè)周期,不僅費(fèi)時(shí)費(fèi)力而且容易出錯(cuò) 怎樣入門(mén)? 對(duì)于初學(xué)者,modelsim自帶的教程是一個(gè)很好的選擇,在Help-SE PDF Documentation-Tutorial里面.它從簡(jiǎn)單到復(fù)雜、從低級(jí)到高級(jí)詳細(xì)地講述了modelsim的各項(xiàng)功能的使用,簡(jiǎn)單易懂。,4,Modelsim的安裝 同許多其他軟件一樣,Modelsim SE同樣需要合法的Lic

4、ense,通常我們用Kengen產(chǎn)生license.dat。 解壓安裝工具包開(kāi)始安裝,安裝時(shí)選擇Full product安裝。當(dāng)出現(xiàn)Install Hardware Security Key Driver時(shí)選擇否。當(dāng)出現(xiàn)Add Modelsim To Path選擇是。出現(xiàn)Modelsim License Wizard時(shí)選擇Close。 在C盤(pán)根目錄新建一個(gè)文件夾flexlm,用Keygen產(chǎn)生一個(gè)license.dat,然后復(fù)制到該文件夾下。 修改系統(tǒng)的環(huán)境變量。右鍵點(diǎn)擊桌面我的電腦圖標(biāo),屬性-高級(jí)-環(huán)境變量-(系統(tǒng)變量)新建。按下圖所示內(nèi)容填寫(xiě),變量值內(nèi)如果已經(jīng)有別的路徑了,請(qǐng)用“;”將其與

5、要填的路徑分開(kāi)。LM_LICENSE_FILE = c:flexlmlicense.dat,5,6,7,使用Modelsim進(jìn)行仿真 Modelsim運(yùn)行方式有4種: 用戶(hù)圖形界面模式 交互式命令行模式 不顯示modelsim的可視化界面 ,僅通過(guò)命令控制臺(tái)輸入的命令完成所有工作 Tcl和宏模式 編寫(xiě)可執(zhí)行擴(kuò)展名為do或者tcl語(yǔ)法文件 批處理模式 其所有操作都在后臺(tái)進(jìn)行,用戶(hù)看不到modelsim的界面,也不需要交互式輸入命令。當(dāng)工程很大,文件比較多時(shí),用批處理比較方便。直接運(yùn)行批處理文件,在后臺(tái)調(diào)用modelsim,執(zhí)行modelsim的腳本文件* .do,完成操作 注:,8,仿真 仿真分

6、為功能仿真,門(mén)級(jí)仿真,時(shí)序仿真 功能仿真(前仿真,代碼仿真) 主旨在于驗(yàn)證電路的功能是否符合設(shè)計(jì)要求,其特點(diǎn)是不考慮電路門(mén)延遲與線延遲,主要是驗(yàn)證電路與理想情況是否一致??删C合FPGA代碼是用RTL級(jí)代碼語(yǔ)言描述的,其輸入為RTL級(jí)代碼與Testbench.在設(shè)計(jì)的最初階段發(fā)現(xiàn)問(wèn)題,可節(jié)省大量的精力 門(mén)級(jí)仿真和時(shí)序列仿真 (后仿真) 使用綜合軟件綜合后生成的門(mén)級(jí)網(wǎng)表進(jìn)行仿真,不加入時(shí)延文件的仿真就是門(mén)級(jí)仿真.可以檢驗(yàn)綜合后的功能是否滿(mǎn)足功能要求,其速度比功能仿真要慢,比時(shí)序仿真要快. 在門(mén)級(jí)仿真的基礎(chǔ)上加入時(shí)延文件(.sdf)的仿真就是時(shí)序仿真,比較真實(shí)地反映了邏輯的時(shí)延與功能.綜合考慮電路的

7、路徑延遲與門(mén)延遲的影響,驗(yàn)證電路能否在一定時(shí)序條件下滿(mǎn)足設(shè)計(jì)構(gòu)想的過(guò)程,是否存在時(shí)序違規(guī),9,功能仿真,功能仿真需要的文件 1設(shè)計(jì)HDL源代碼:可以使VHDL語(yǔ)言或Verilog語(yǔ)言。 2測(cè)試激勵(lì)代碼:根據(jù)設(shè)計(jì)要求輸入/輸出的激勵(lì)程序 3仿真模型/庫(kù):根據(jù)設(shè)計(jì)內(nèi)調(diào)用的器件供應(yīng)商提供的模塊而定,如:FIFO、ADD_SUB等 仿真步驟 以4 位計(jì)數(shù)器為例給出詳細(xì)步驟 1.啟動(dòng)modelsim軟件 先在c盤(pán)建立文件夾count4,在modelsim中選擇File - Change Directory,在彈出的Choose folder對(duì)話框中設(shè)置目錄路徑為c:/count4 2.建立工程 在mod

8、elsim中建立project,選擇File -New -Project. 在Project Name欄中填寫(xiě)你的項(xiàng)目名字,建議和你的頂層文件名字一致。Project Location是你的工作目錄,你可通過(guò)Brose按鈕來(lái)選擇或改變。Ddfault Library Name可以采用工具默認(rèn)的work。Workspace窗口的library中就會(huì)出現(xiàn)work庫(kù).,10,11,3.為工程添加文件 工程建立后,選擇Add Exsiting File后,根據(jù)相應(yīng)提示將文件加到該P(yáng)roject中 這里是count4.v和其測(cè)試向量count_tp.v,源代碼如下:,12,13,4.編譯文件 編譯(包括

9、源代碼和庫(kù)文件的編譯)。編譯可點(diǎn)擊ComlileComlile All來(lái)完成。,5.裝載文件 (1)雙擊libray 中work中的count_tp裝載 (2)點(diǎn)擊simulate start simulation 按右圖設(shè)置,點(diǎn)擊ok,14,6.開(kāi)始仿真 點(diǎn)擊workspace下的sim,點(diǎn)擊count_tp,選擇add add to wave 然后點(diǎn)run all,開(kāi)始仿真,15,7.退出仿真 在仿真調(diào)試完成后退出仿真,在主窗口中選擇simulate end simulation,16,補(bǔ)充: (1)也可以不加testbench,仿真步驟跟前面相似, 裝載文件時(shí)雙擊count4 在sim中

10、點(diǎn)擊count4,add add to wave 對(duì)輸入信號(hào)clk,reset編輯測(cè)試波形,點(diǎn)擊run -all,17,(2)我們可以在modelsim內(nèi)直接編寫(xiě)Testbench Modelsim提供了很多Testbench模板,我們直接拿過(guò)來(lái)用可以減少工作量。點(diǎn)View-Source-Show Language Templates然后會(huì)出現(xiàn)一個(gè)加載工程,接著你會(huì)發(fā)現(xiàn)在剛才的文檔編輯窗口左邊出現(xiàn)了一個(gè)Language Templates窗口,18,展開(kāi)Verilog項(xiàng),雙擊Creat Testbench會(huì)出現(xiàn)一個(gè)創(chuàng)建向?qū)нx擇Specify Design Unit工作庫(kù)下的目標(biāo)文件,點(diǎn)Next

11、 可以指定Testbench的名稱(chēng)以及要編譯到的庫(kù)等,此處我們使用默認(rèn)設(shè)置直接點(diǎn)Finish。這時(shí)在Testbench內(nèi)會(huì)出現(xiàn)對(duì)目標(biāo)文件的各個(gè)端口的定義還有調(diào)用函數(shù) 接下來(lái),設(shè)計(jì)者可以自己往Testbench內(nèi)添加內(nèi)容了,然后保存為.v格式即可。按照前面的方法把Testbench文件也編譯到工作庫(kù)中.,19,門(mén)級(jí)仿真和時(shí)序仿真 仿真需要的文件 1綜合布局布線生成的網(wǎng)表文件 2測(cè)試激勵(lì) 3元件庫(kù) Altera仿真庫(kù)的位置為C:alteraquartus50edasim_lib 4時(shí)序仿真的話,還需要具有時(shí)延時(shí)延信息的反標(biāo)文件(sdf) 門(mén)級(jí)仿真有兩種方法 (1)工程編譯成功后自動(dòng)啟動(dòng)Models

12、im運(yùn)行門(mén)級(jí)仿真 (2)先在quartus中生成網(wǎng)表文件和時(shí)延文件,然后調(diào)用modelsim進(jìn)行仿真 工程編譯成功后自動(dòng)啟動(dòng)Modelsim運(yùn)行門(mén)級(jí)仿真 1.Quartus中設(shè)置仿真工具 打開(kāi)quartus,建立工程,選擇Assignments | EDA Tool Settings,選擇左欄的“Simulation”,設(shè)置如下:,20,21,然后,我們單擊下方的“More Settings”按鈕,彈出“More Settings”對(duì)話框.這種門(mén)級(jí)仿真的testbench有兩種方法生成 (1)自己手動(dòng)編寫(xiě)testbench count_tp.v more settings 中設(shè)置如下,然后點(diǎn)擊

13、quartus的start compilation ,開(kāi)始編譯,我們會(huì)發(fā)現(xiàn)QuartusII 狀態(tài)欄多出兩項(xiàng)“EDA Netlist Writer”和“EDA Simulation Tool”,22,在modelsim中我們可以看到,modelsim自動(dòng)把仿真所需要元件庫(kù)庫(kù)文件加了進(jìn)來(lái),不用我們手動(dòng)加入,同時(shí)仿真結(jié)果也出來(lái)了. 退出ModelSim 后,QuartusII 才完成全部編譯,運(yùn)行ModelSim 后會(huì)彈出“Finish Vsim”對(duì)話框,單擊“否”,23,24,(2)利用quartus II生成testbench文件 在quartus II界面選擇FileNew,新建一個(gè)波形文件

14、,編輯仿真信號(hào)的激勵(lì)源,最后保存帶有激勵(lì)信號(hào)的波形文件.,轉(zhuǎn)換: Quartus II提供了把.vwf文件轉(zhuǎn)換成.vt的功能,選擇主菜單File Export,可以保存為.vt或者.v文件,對(duì)仿真沒(méi)有影響,25,more settings 中設(shè)置如左圖 底下的testbenchmode name 是*vlg_vec_tst(對(duì)應(yīng)verilog,*是你的主程序名),用*_vhd_vec_tst對(duì)應(yīng)vhdl。 然后編譯,以后的同上,26,先在quartus中生成網(wǎng)表文件和時(shí)延文件,然后調(diào)用modelsim進(jìn)行仿真 Quartus II 中設(shè)置仿真工具,more settings 也不用設(shè)置,27,

15、設(shè)置完后,成功編譯,quartus II會(huì)自動(dòng)在當(dāng)前project目錄下生成一個(gè)simulation目錄,在該目錄下有一個(gè)Modelsim的文件夾,此文件夾下有仿真所需要的網(wǎng)表文件及延時(shí)反標(biāo)文件. 如果使用vhdl語(yǔ)言,則網(wǎng)表文件是.vho,反標(biāo)文件是.sdo;如果使用verilog語(yǔ)言,則網(wǎng)表文件是.vo,sdf文件也是.sdo.,這個(gè)時(shí)候的testbench最好是自己手動(dòng)編寫(xiě)的,這里是count_tp.v Modelsim后仿真主要步驟 建立庫(kù)并映射庫(kù)到物理目錄;編譯Testbench;執(zhí)行仿真。,28,建立庫(kù) 仿真庫(kù)是存儲(chǔ)已編譯設(shè)計(jì)單元的目錄,modelsim中有兩類(lèi)仿真庫(kù),一種是工作庫(kù)

16、,默認(rèn)的庫(kù)名為work,另一種是資源庫(kù)。Work庫(kù)下包含當(dāng)前工程下所有已經(jīng)編譯過(guò)的文件。所以編譯前一定要建一個(gè)work庫(kù),而且只能建一個(gè)work庫(kù)。資源庫(kù)存放work庫(kù)中已經(jīng)編譯文件所要調(diào)用的資源,這樣的資源可能有很多,它們被放在不同的資源庫(kù)內(nèi). 映射庫(kù)用于將已經(jīng)預(yù)編譯好的文件所在的目錄映射為一個(gè)modelsim可識(shí)別的庫(kù),庫(kù)內(nèi)的文件應(yīng)該是已經(jīng)編譯過(guò)的,在Workspace窗口內(nèi)展開(kāi)該庫(kù)應(yīng)該能看見(jiàn)這些文件,如果是沒(méi)有編譯過(guò)的文件在庫(kù)內(nèi)是看不見(jiàn)的。 在Modelsim中加入Quartus的仿真庫(kù)有兩種方法: 1.自己新建一個(gè)庫(kù),用來(lái)存放仿真需要調(diào)用的仿真文件 2.把Altera的器件加到了wor

17、k這個(gè)library里,29,利用方法1進(jìn)行后仿真 1.在modelsim中建立project 與功能仿真相似,建立工程count4,并加入文件count4.vo,count_tp.v,庫(kù)文件cycloneii_atoms.v,此時(shí)就不需要源代碼文件了. 在成功建立Project后,Modelsim會(huì) 增加一個(gè)頁(yè)面,點(diǎn)擊Modelsim左下角 的Library 點(diǎn)擊FileNewLibrary。在在Library Name中輸入庫(kù)名,該名應(yīng)和Altera的庫(kù)名保持一致。這里取名為cycloneii,30,所需編譯的庫(kù)因所用HDL語(yǔ)言的不同而不同。假設(shè)用tratix器件,對(duì)Verilog語(yǔ)言,則

18、需編譯STRATIX_ATOMS.文件。對(duì)VHDL,所要編譯的庫(kù)文件為STRATIX_ATOMS.VHD和STRATIX_ATOMS_COMPONENTS.VHD; 2.編譯庫(kù)文件和網(wǎng)表,完成以上進(jìn)程后,點(diǎn)擊workspace下方的project,選擇cycloneii_atoms.v,設(shè)置其屬性如下,然后對(duì)cycloneii_atoms.v單獨(dú)編譯,編譯后可看到cycloneii庫(kù)里有很很多文件,這些都是仿真是要用到的,31,32,然后分別編譯count4.vo,count_tp.v 3.仿真準(zhǔn)備 已經(jīng)準(zhǔn)備了仿真所需要的所有的文件.選擇simulatestart simulation. 單擊

19、libraries標(biāo)簽,單擊add按紐,將剛才建立的cycloneii加入,33,在design標(biāo)簽欄中做如下設(shè)置,34,如果是對(duì)時(shí)序仿真,還要加入sdf文件,單擊sdf,再單擊add,將生成的.sdo文件找到,加入.sdo文件后,做如下設(shè)置: 在Apply to Region框內(nèi)填入反標(biāo)文件所對(duì)應(yīng)的模塊。Count_tp為測(cè)試激勵(lì)程序,mycount為被仿真的模塊在激勵(lì)程序中的例化名字。單擊ok將sdf文件加入,然后單擊load,就可已開(kāi)始仿真了。,35,36,利用方法2進(jìn)行后仿真 把Altera的器件加到了work這個(gè)library里 把需要的altera仿真庫(kù)拷貝到你要編譯的文件所在的文

20、件夾里。先編譯這個(gè)文件,等于是把Altera的器件加到了work這個(gè)library里。然后再在library下編譯你要用的文件就可以了。這樣方便些,也不用建立新庫(kù)了.大家可以試一試,37,如何仿真altera中的megacore呢? 跟上面所講的仿真沒(méi)什么差別 仿真megacore在時(shí),一般要用到altera仿真庫(kù)中的220model.v 和altera_mf.v 以fifo為例: 用MEGA生成一個(gè)FIFO.V并添加到modelsim工程中必須為FIFO.V添加支撐文件(這幾個(gè)問(wèn)題建要比FIFO.V先編譯),位于 .alteraquartus50edasim_lib要添加的文件如下:220model.v altera_mf.vcycloneii_atoms.v (這個(gè)是根據(jù)你altera的Fpga器件決定 ) 詳細(xì)操作步驟可見(jiàn)文檔 PLL在MODELSIM SE中的仿真步驟,38,利用modelsim進(jìn)行系統(tǒng)仿真 以LED 實(shí)驗(yàn)為例 在quartus中建立工程,在sopc builder中建立系統(tǒng),如下:,39,點(diǎn)擊generate前設(shè)置modelsim路徑,然后generate 選擇“File | SOPC Builder Setup”選擇ModelSim 安裝目錄下的“Win32”文件,40,單擊“Run Nios II

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論