版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ModbuSK訊協(xié)議Modelsim 6.0使用教程1. Modelsir# 介Modelsim真工具是Mod必司開發(fā)的。它支持Verilog VHD以及他們的混合仿真,它可以將整個程序分 步執(zhí)行,使設(shè)計者直接看到他的程序下一步要執(zhí)行的語句,而且在程序執(zhí)行的任何步驟任何時刻都可 以查看任意變量的當(dāng)前值,可以在Dataflow窗口查看某一單元或模塊的輸入輸出的連續(xù)變化等,比quartus自帶的仿真器功能強大的多,是目前業(yè)界最通用的仿真器之一。對于初學(xué)者,modelsimg帶的教程是一個很好的選擇,在 Help-SE PDF Documentation-TutoSOB.它從 簡單到復(fù)雜、從低級到高
2、級詳細地講述了modelsim勺各項功能的使用,簡單易懂。但是它也有缺點,就是它里面所有事例的初期準(zhǔn)備工作都已經(jīng)放在exampl敏件夾里,直接將它們添加到modelsim可以用,它假設(shè)使用者對當(dāng)前操作的前期準(zhǔn)備工作都已經(jīng)很熟悉,所以初學(xué)者往往不知道如何做當(dāng)前操作 的前期準(zhǔn)備。2.安裝同許多其他軟件一樣,Modelsim SE樣需要合法的License常我們用KengerP生license.dat(1).解壓安裝工具包開始安裝, 安裝時選擇Full product裝。當(dāng)出現(xiàn)Install Hardware Security Key Drive時選擇否。當(dāng)出現(xiàn) Add Modelsim To Pa
3、th擇是。出現(xiàn) Modelsim License Wizard選擇 Close.在Cft根目錄新建一個文件夾flexlm,用Keygen生一個License.da然后復(fù)制到該文件 夾下。.修改系統(tǒng)的環(huán)境變量。右鍵點擊桌面我的電腦圖標(biāo),屬性 -高級-環(huán)境變量- (系統(tǒng) 變量)新建。按下圖所示內(nèi)容填寫,變量值內(nèi)如果已經(jīng)有別的路徑了,請用 ;”將其與要 填的路徑分開。LM_LICENSE_FILE = c:flexlmlicense.dat頁腳內(nèi)容1.安裝完畢,可以運行ModbuSK訊協(xié)議ModelsirmS 真方法Modelsim勺仿真分為前仿真和后仿真,下面先具體介紹一下兩者的區(qū)別。前仿真前仿真
4、也稱為功能仿真,主旨在于驗證電路的功能是否符合設(shè)計要求,其特點是不考慮電路門延遲與線延遲,主要是驗證電路與理想情況是否一致??删C合FPG狀碼是用RT級代碼語言描述的,具輸入為RT映代碼與Testbench.后仿真后仿真也稱為時序仿真或者布局布線后仿真,是指電路已經(jīng)映射到特定的工藝環(huán)境以后,綜合考慮電路的路徑延遲與門延遲的影響,驗證電路能否在一定時序條件下滿足設(shè)計構(gòu)想的過程,是否存在時序頁腳內(nèi)容2ModbuSK訊協(xié)議違規(guī)。其輸入文件為從布局布線結(jié)果中抽象出來的門級網(wǎng)表、Testbenc和擴展名為SD豉SD的標(biāo)準(zhǔn)時延 文件。SD豉SD的標(biāo)準(zhǔn)時延文件不僅包含門延遲,還包括實際布線延遲,能較好地反映芯
5、片的實際工作情況。一般來說后仿真是必選的,檢查設(shè)計時序與實際的FPG題行情況是否一致,確保設(shè)計的可靠性和穩(wěn)定性。ModelsirrtS真的基本步驟Modelsim勺仿真主要有以下幾個步驟:建立庫并映射庫到物理目錄;編譯原代碼(包括 Testbench執(zhí)行 仿真。建立庫在執(zhí)行一個仿真前先建立一個單獨的文件夾,后面的操作都在此文件下進行,以防止文件間的誤操作。然后啟動Modelsin#當(dāng)前路徑修改到該文件夾下,修改的方法是點File-Change Directo誕擇剛剛新建的 文件夾見下圖。頁腳內(nèi)容3ModbuSK訊協(xié)議2仿真庫是存儲已編譯設(shè)計單元的目錄,modelsin中有兩類仿真庫,一種是工作
6、庫,默認的庫名為work,另一種是資源庫。WorkB下包含當(dāng)前工程下所有已經(jīng)編譯過的文 件。所以編譯前一定要建一個 work庫,而且只能建一個work庫。資源庫存放work庫 中已經(jīng)編譯文件所要調(diào)用的資源,這樣的資源可能有很多,它們被放在不同的資源 庫內(nèi)。例如想要對綜合在cyclone片中的設(shè)計做后仿真,就需要有一個名為cyclone_ve的資源庫。映射庫用于將已經(jīng)預(yù)編譯好的文件所在的目錄映射為一個modelsin可識別的庫,庫內(nèi)的文件應(yīng)該是已經(jīng)編譯過的,在 Workspac窗口內(nèi)展開該庫應(yīng)該能看見這些文件, 如果是沒有編譯過的文件在庫內(nèi)是看不見的。建立仿真庫的方法有兩種。一種是在用戶界面模式
7、下,點File-New-LibraryH現(xiàn)下面的對話框,選擇 a new library and a logical mapping to i在Library NameJ輸入要創(chuàng)建庫的名稱,然后OK即可生成一個已經(jīng)映射的新庫。另一種方法是在Transcript頁腳內(nèi)容4ModbuSK訊協(xié)議窗口輸入以下命令:vlib work/*庫名*/vmap work work/*映射的邏輯名稱 存放的物理路徑*/如果要刪除某庫,只需選中該庫名,點右鍵選擇Delet抑可。需要注意的是不要在modelsim部的系統(tǒng)盤內(nèi)手動創(chuàng)建庫或者添加文件到庫里;也 不要modelsinffl至ij的路徑名或文件名中使用漢字
8、,因為modelsim可能無法識別漢字而 導(dǎo)致莫名其妙的錯誤。3.3.2編寫與編譯測試文件在編寫Testbench前最好先將要仿真的目標(biāo)文件編譯到工作庫中,點 Compile-Compile或, 將 出 現(xiàn) 下 面 的 對 話 框,頁腳內(nèi)容5ModbuSK訊協(xié)議在Library中選擇工作庫,在查找范圍內(nèi)找到要仿真的目標(biāo)文件,然后點CompilerDone或在命令行輸入vlog fulladder.v。此時目標(biāo)文件已經(jīng)編譯到工作庫中, 在Library 中展開工作庫會發(fā)現(xiàn)該文件。4當(dāng)對要仿真的目標(biāo)文件進行仿真時需要給文件中的各個輸入變量提供激勵源,并對 輸入波形進行的嚴格定義,這種對激勵源定義的
9、文件稱為Testbench即測試臺文件 下面先講一下Testbenc的產(chǎn)生方法。我們可以在modelsimrt直接編寫Testbench而且modelsim還提供了常用的各種模板。具體步驟如下:.執(zhí)行File-New-Source-verilog或者直接點擊工具欄上的新建圖標(biāo),會出現(xiàn)一個verilog文檔編輯頁面,在此文檔內(nèi)設(shè)計者即可編輯測試臺文件。需要說明的是在Quartu即許多不可綜合的語句在此處都可以使用,而且testbenchR是一個激勵源產(chǎn)生文件,只要對輸入波形進行定義以及顯示頁腳內(nèi)容6ModbuSK訊協(xié)議些必要信息即可,切記不要編的過于復(fù)雜,以免喧賓奪主。.Modelsirfg供了
10、很多Testbench板,我們直接拿過來用可以減少工作量。點 View-Source-Show Language Templates會出現(xiàn)一個加載工程,接著你會發(fā)現(xiàn)在剛才的文檔編輯窗口左邊出現(xiàn)了一個Language Templates窗口,見下圖。展開Verilog,雙擊Creat Testbench出現(xiàn)一個創(chuàng)建向?qū)?,見下圖頁腳內(nèi)容7ModbuSK訊協(xié)議選擇Specify Design Uilt作庫下的目標(biāo)文件,點Next出現(xiàn)下面對話框可以指定Testbenc的名稱以及要編譯到的庫等,此處我們使用默認設(shè)置直接點Finish這時在Testbenc由會出現(xiàn)對目標(biāo)文件的各個端口的定義還有調(diào)用函數(shù)接下
11、來,設(shè)計者可以自己往 Testbenc內(nèi)添加內(nèi)容了,然后保存為.v格式即可。按照前面的方法把Testbench件也編譯到工作庫中3.3.3執(zhí)行仿真頁腳內(nèi)容8ModbuSK訊協(xié)議因為仿真分為前仿真和后仿真,下面分別說明如何操作前仿真,相對來說是比較簡單的。在上一步我們已經(jīng)把需要的文件編譯到工作庫內(nèi)了,現(xiàn)在我們只需點simulate-Start Simulatio或快捷按鈕會出現(xiàn)start simulate寸話框。點擊Desig標(biāo)簽選擇 Work庫下的Testbench,然后點0幽可,也可以直接雙擊Testbenc便件,此時會出現(xiàn)下面的界面。在主界面中會多出來一個Object窗口,里面顯示Test
12、bench!定義的所有信號引腳,在 Workspacei也會多出來一個 Sinfe簽。右鍵點擊 fuladder_tb.v選擇Add-Add to Wave 如下圖所示。然后將出現(xiàn) Wav鉤口,現(xiàn)在就可以仿真了,見下圖。頁腳內(nèi)容9ModbuSK訊協(xié)議窗口里面已經(jīng)出現(xiàn)了待仿真的各個信號,點將開始執(zhí)行仿真到100nsBi續(xù)點仿真波形 也將繼續(xù)延伸,見下圖.若點,則仿真一直執(zhí)行,直到點才停止仿真。也可以在命令行輸入命令:run 1000頁腳內(nèi)容10ModbuSK訊協(xié)議則執(zhí)行仿真到1000ns后面的100(&可以是別的數(shù)值,設(shè)計者可以修改。在下一次運 行次命令時將接著當(dāng)前的波形繼續(xù)往后仿真。對于復(fù)雜的
13、設(shè)計文件,最好是自己編寫testbenc位件,這樣可以精確定義各信號以 及各個信號之間的依賴關(guān)系等,提高仿真效率。對于一些簡單的設(shè)計文件,也可以 在波形窗口自己創(chuàng)建輸入波形進行仿真。具體方法是雙擊work庫里的目標(biāo)仿真文件fulladder.v,然后點workspace8 口中出現(xiàn)的sim標(biāo)簽,右鍵點擊fuladder,選擇Add-Add to Wave如下圖所示。然后將 出現(xiàn)WaveU口。在wave0口中選中要創(chuàng)建波形的信號,如此例中的 a,然后右鍵點擊,選擇Create/Modify/Wav預(yù)出現(xiàn)下面的窗口 ,頁腳內(nèi)容11ModbuSK訊協(xié)議在Pattern卻選擇輸入波形的類型,然后分別在
14、右邊的窗口中設(shè)定起始時間、終止時 問以及單位,再點Nex出現(xiàn)下面的窗口,我們把初始值的Hi改為0,然后修改時鐘周期和占空比,然后點Finish接著繼續(xù)添加其他輸入波形,出現(xiàn)下面的結(jié)果。前面出現(xiàn)的紅點表示該波形是可編輯的。后面的操作與用testbenchi本仿真的方法相同頁腳內(nèi)容12ModbuSK訊協(xié)議如果設(shè)計者只想查看指定信號的波形,可以先選中 objecti窗口中要觀察的信號,然 后點右鍵選擇Add to Wave-Selected signOfe下圖,那么在 WaveU口中只添加選中的 信號。Fil蟲 Edit Tornat 匚Add Id。)工 Kindo+ 電fi 4flrJr|Pir
15、 fb1920212223 aWaiic.2pa I +國 MTjlnigtance好. MT- ttIMFLiLlTA/ _ J UIMPLiriT2 fflNPLlCITV 一 niNITlALni!:露i fullddder_ltivIn reg u ;GliEE cout fill ladd&rMT (,目etted 匚 igfLSgnai in RegionSgnds in Design(SUH J T 亡 in J .cont (coux j j: Initial / Clock, aetieratcr begin0;0;cin =0;f orreverr f ojzever fo
16、rever end.# 11 a =! Etj#30 b - 3 cin = !cin;如果要保存波形窗口當(dāng)前信號的分配,可以點File-Save-Forma在出現(xiàn)的對話框中設(shè)置保存路徑及文件名,保存的格式為.do文件。如果是想導(dǎo)出自己創(chuàng)建的波形(在 文章最后有詳細的解釋)可以選擇File-Export Waveformt出現(xiàn)的對tS框中選擇EVCDFile進行相關(guān)設(shè)置即可,如果導(dǎo)入設(shè)計的波形選擇File-Import ECVD可。頁腳內(nèi)容13ModbuSK訊協(xié)議在主界面中點 View-Debug Windows-DatafloW以看到會出現(xiàn) dataflow窗口,在objects 窗口中拖一
17、個信號到該窗口中,你會發(fā)現(xiàn)在dataflow窗口中出現(xiàn)你剛才選中信號所在 的模塊,如果雙擊模塊的某一引腳,會出現(xiàn)與該引腳相連的別的模塊或者引線,見 下圖。前 IIALFI4在dataflow 口 中點 View-ShowWave 會在 dataflow 口 中出現(xiàn)一個 wave0 口 ,雙擊上面窗口中的某一模塊,則在下面的 wave0 口中出現(xiàn)與該模塊相連的所有信號,如 果已經(jīng)執(zhí)行過仿真,在wave0口中還會出現(xiàn)對應(yīng)的波形,見下圖10頁腳內(nèi)容14ModbuSK訊協(xié)議在波形窗口中拖動游標(biāo),上面模塊的引腳信號的值也會隨著游標(biāo)當(dāng)前位置的改變而 改變。如果要在modelsin修改原設(shè)計文件,在文本3頁
18、面點擊右鍵,取消 Read Only,即可 修改,修改后繼續(xù)仿真。如果想結(jié)束仿真可以點 Simulate-End Simulatio或直接在命 令行輸入quit -sim,此時quartu曲會顯示結(jié)束所有編譯過程。.后仿真后仿真與前仿真的步驟大體相同,只不過中間需要加添加仿真庫、網(wǎng)表和延時文件的步驟。后仿真的前提是quartus已經(jīng)對要仿真的目標(biāo)文彳進行編譯,并生成modelsim仿真所需要的.vo文件(網(wǎng)表文件)和.sd政件(時延文件),具體操作過程又有兩種方法,一 種是通過QuartusH用Modelsim Quartu立編譯之后自動把仿真需要的.vo文件以及需 要的仿真庫加到models
19、im,操作簡單;一種是手動將需要的文件和庫加入modelsim 進行仿真,這種方法可以增加主觀能動性,充分發(fā)揮modelsim勺強大仿真功能。通過 QuartusiM用 Modelsim使用這種方法時首先要對Quartu進行設(shè)置。先運行Quartus打開要仿真的工程,點菜單欄的 Assignments點EDA Tool settings 中左邊 Category的Simulation.在右邊的 Tool nam#選ModelSim(Verilo雎中下面的 Run Gate Level Simulation automatically after complication。頁腳內(nèi)容15Modbu
20、SK訊協(xié)議11QuartuSH勺工程準(zhǔn)備好之后點擊 start complication鈕,止匕時modelsi詒自動啟動,而quartu&t于等待狀態(tài)(前提是系統(tǒng)環(huán)境變量中用戶變量中PATH?設(shè)置好modelsim安裝路徑,如:D:Modeltech_6.0win32)。在寸丁開的 modelsim!Workspace! 口 中你會 發(fā)現(xiàn)多了工作庫和資源庫,而且 work庫中出現(xiàn)了需要仿真的文件。Modelsim!動將quartu蚱成的.vo文件編譯到work庫,并建立相應(yīng)的資源庫。如圖所示。頁腳內(nèi)容16ModbuSK訊協(xié)議編寫測試臺程序fuladder_tb.v ,最好放在生成的.vo文件
21、所在的目錄,以方便在需要 手動仿真時使用。點Compile出現(xiàn)的對tS框中選中fuladder_tb.vt件,然后點Compile 按鈕,編譯結(jié)束后點Done,這時在Work庫中會出現(xiàn)測試臺文件。點擊 simulate-Start SimulatiomE快捷按鈕會出現(xiàn)start simulate對話框。點擊Designs?選擇Work$下的 fuladder_tb.vt件,然后點擊Libraries簽在SearchLibrary中點擊Adc鈕,選擇仿真 所需要的資源庫(如果不知道需要選擇哪個庫,可以先直接點Compile1出現(xiàn)的錯誤提示中說需要的庫名,然后再重復(fù)上述步驟),見下圖。再點star
22、t simulate寸話框的SD標(biāo)簽。在出現(xiàn)的對話框的SDF Fi睚內(nèi)加入.sdo寸延文件品&徑。在Apply To Regiog 內(nèi)有一個“/;在”/的前面輸入測試臺文件名,即 “fulladder_tb,在它的后面輸入 測試臺程序中調(diào)用被測試程序時給被測試程序起的名稱,本例中為“DUT見下圖。然后點OK后面與前仿真步驟相同。頁腳內(nèi)容17ModbuSK訊協(xié)議131File Ed頁腳內(nèi)容18ModbuSK訊協(xié)議.手動仿真手動仿真需要自己添加文件和編譯庫,但可以充分發(fā)揮modelsim雖大的仿真功能。操作時也要先對quartus行設(shè)置,設(shè)置與前面相同只是不要選中Run Gate LevelSim
23、ulation automatically after complication 然后啟動 modelsim 將當(dāng)前路徑改至U新建 文件夾下。新建一個庫,此處默認庫名為work。如果按照中的方法編寫testbench并放在.vo所在的目錄,這時點 Compiled的Compiled點將會出現(xiàn)下面的對話框,頁腳內(nèi)容19ModbuSK訊協(xié)議Libraiy: wiork查找范SIG; | O test中回昔應(yīng))el; rd 且口 口 lv n&X- t k _u t e m e- r 2 J -1 J fl Q 2 i f- 1 t w annaCQo文件名QP:文件類型篡);JulI c ount
24、 er困 tcounter ?l1 testJ f-ull tddkr. vBl EIL 電 dderh“ f-ulLiddar. vo“EuillaLd*r_th v”HDL FilwM (*. t;*. vl;+. vhd; *. vhJl; *. vDefault Options.Edit Source點Compil在出現(xiàn)的對話11中同時選中fuladder_tb.vffifuladder.vo文件,點擊編譯,然 后點Done這樣要仿真白網(wǎng)表文件和testbenc僦被編譯到工作庫里了。后面的操作 就與中的步驟相同了。.編寫測試臺文件,如果只進行功能仿真,雙擊測試臺文件名即可進入仿真界面。
25、 如果要進行時序仿真則要將quartu#成的.sdoi:件一起編譯到work庫里,后面的步驟 與方法1中的相同。.對于復(fù)雜的設(shè)計文件,最好是自己編寫testbenc質(zhì)件,使用行為級監(jiān)控語法, 提高仿真效率。對于一些簡單的設(shè)計文件,也可以在波形窗口自己創(chuàng)建輸入波形進 行仿真。具體方法是雙擊work庫里的fulladder.v文件對其進行仿真,然后點workspace 窗口中出現(xiàn)15頁腳內(nèi)容20ModbuSK訊協(xié)議的sim標(biāo)簽,右鍵電擊fuladder,選擇Add-Add to Wave如下圖所示Create WaveSa/e List.Code CcrveiageAddExpand SelectedColapse SelectedEwand AllColapse AllCoop
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神經(jīng)外科低鈉血癥治療指南
- 風(fēng)帶來的好處和壞處活動
- 企業(yè)班組安全教育
- 第六章 機械能守恒定律-功和功率 2025年高考物理基礎(chǔ)專項復(fù)習(xí)
- 示出塞課件教學(xué)課件
- 3.1.1 鐵及其化合物 課件 上學(xué)期化學(xué)人教版(2019)必修第一冊
- 慢病專員工作匯報
- 吉林省2024七年級數(shù)學(xué)上冊第2章整式及其加減期末提分課件新版華東師大版
- 常見的安全標(biāo)志教案及反思大班
- 氧化碳的說課稿
- 藍天救援隊隊員風(fēng)險告知書
- 《工程勘察設(shè)計收費管理規(guī)定》計價格2002-10號文
- 宿舍消防疏散圖
- 常用焊條合格證
- 站場明敷接地扁鋼安裝技術(shù)要求
- 《個人防護用品PPE》ppt課件
- 國際貿(mào)易SimTrade外貿(mào)實習(xí)報告
- 導(dǎo)師帶徒實施辦法6、30
- 《Fishing with Grandpa》RAZ分級閱讀繪本pdf資源
- 水穩(wěn)施工方案(完整版)
- 跨海大橋施工方案
評論
0/150
提交評論