本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為范例假設(shè)各_第1頁
本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為范例假設(shè)各_第2頁
本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為范例假設(shè)各_第3頁
本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為范例假設(shè)各_第4頁
本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為范例假設(shè)各_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、本篇文章內(nèi)容主要在教導(dǎo)軟體使用,以Verilog程式為範(fàn)例。假設(shè)各位讀者已經(jīng)熟悉Verilog,廢話不多說,讓我們馬上來見識(shí)一下ModelSim .快速上手四部曲:建立Project、引進(jìn)HDL Files、Compile、模擬(Simulate/Loading and Run)1. 建立一個(gè)新的Project 1-1 第一次執(zhí)行程式時(shí),可以從 開始 程式集 ModelSim SE ModelSim;或是執(zhí)行ModelSim在桌面的捷徑在Library標(biāo)籤頁中,展開各Library就可以看到其下含的所有Package (for VHDL),進(jìn)一步以Edit打開,可檢視該P(yáng)ackage與Pack

2、age Body內(nèi)容1-2 File New Project . 輸入project name and Location按OK鍵後 指定的路徑下會(huì)產(chǎn)生一個(gè)叫work的預(yù)設(shè)子資料夾,還有Viterbi.cr.mti、Viterbi.mpf 兩個(gè)檔案 主操作畫面左邊的Workspace內(nèi),在原本的Library標(biāo)籤外,會(huì)出現(xiàn)另一個(gè)Project標(biāo)籤(但此時(shí)裡面內(nèi)容是空的) 還會(huì)蹦出另一個(gè)Add items to the Project視窗 .mpf 檔儲(chǔ)存的是此project的相關(guān)資料,下次要開啟此project 就是利用 File Open Project. 開啟此.mpf若要移除之前建立的pr

3、oject,請(qǐng)從 File Delete Project. 移除 2. 載入Project 的HDL source codes 按Add items to the Project視窗中的Add Existing File (或是從File Add to Project Existing Files .)HDL files擺放的位置,路徑名稱不能有中文,否則軟體會(huì)抓不到files關(guān)掉Add items to the Project視窗,此時(shí)的Project下出現(xiàn)了HDL File,一堆問號(hào)表示這些檔案都還沒compile。如果要對(duì)project新增或移除HDL File:在Workspace內(nèi)按

4、滑鼠右鍵,選擇 Add to Project Existing File. (新增) Remove from Project (移除) 3. Compile 在Project標(biāo)籤頁內(nèi),選定任一檔案,按滑鼠右鍵選擇 Compile Compile All 或是直接按 icon Compile Out-of-Data只重新compile有修改過的檔案 (比較節(jié)省時(shí)間,故也較常用) 此刻只做Compile 還沒做Simulate,而ModelSim必須要作完Simulate (Loading)後才會(huì)把所有檔案link起來。如果compiler的結(jié)果出現(xiàn)有errors或warnings的訊息,直接在該

5、訊息上雙擊,即可進(jìn) 一步帶出詳細(xì)的訊息說明。 如果您處理的是VHDL project,那在做Compile前,先在Project標(biāo)籤頁內(nèi),選定所有檔案,按滑鼠右鍵選擇Properties做如下設(shè)定: 4. Simulate (Loading) 切換到Library標(biāo)籤頁,展開work目錄,其下可以看到此project包含的所有檔案,檔案前的符號(hào)M,表示這些檔案的性質(zhì)是Module;如果你寫的是VHDL程式那檔案前所看到的符號(hào)會(huì)變成E(Entity) and A(Architecture)。 如果compiler完,work目錄底下仍然看不到東西,無法展開,請(qǐng)稍等510秒(等程式update最新

6、狀態(tài)),或是按滑鼠右鍵選擇Update重新整理 4-1 直接以滑鼠左鍵雙擊要Simulate 的檔案,或是按滑鼠右鍵選擇Simulate。此處選擇要Simulate (Loading)的檔案不一定要是top-level file,但如果你選的不是top-level file,project中的sub-ciricuit必須一個(gè)一個(gè)load,比較麻煩。 請(qǐng)注意,這裡的Simulate並沒有真的做模擬,只是把程式Loading進(jìn)來,並將sub-module 彼此間 link 起來 Loading 要simulate 的檔案的動(dòng)作,也可以按Simulate icon 來完成 執(zhí)行以上動(dòng)作時(shí),如果再附加

7、一個(gè)設(shè)定步驟:到Options標(biāo)籤頁下,核選Enable source file coverage,即可在模擬的程序中,附帶幫你檢查testbench 對(duì)於 if / case conditional statement的模擬涵蓋率。 執(zhí)行完Simulate (Load)的動(dòng)作後,程式會(huì)自動(dòng)再跳出兩個(gè)標(biāo)籤頁Sim與Files,此時(shí)在Sim下可以看到整個(gè)Project的Hierarchy關(guān)係 要編輯HDL file,可以從Project(顯示檔案的狀態(tài))或File標(biāo)籤頁內(nèi)雙擊HDL檔案以開啟編輯視窗(edit window)。sim標(biāo)籤頁內(nèi)雖然也有列出所有HDL檔案,但雙擊HDL檔案開啟的是來源

8、視窗(source window),不能edit。 檔案編輯(修改)完成(存檔)後,回到Project標(biāo)籤頁內(nèi)看該檔案的狀態(tài)時(shí),會(huì)發(fā)現(xiàn)它變成未compile的問號(hào),要重新對(duì)它做compile,把目前的Simulate關(guān)掉(Simulate End Simulation.),再重新 load一次,才能對(duì)新的程式做模擬 。 若要查看此project架構(gòu),必須切換到Sim標(biāo)籤頁;不像VeriLogger Pro只要Compiler完,就可以在同一個(gè)Project畫面下看到整個(gè)project structure / hierarchy。Sim 標(biāo)籤頁另外一個(gè)有趣的功能是:在Sim 標(biāo)籤頁內(nèi)選定哪一個(gè)m

9、odule,其相對(duì)的內(nèi)容會(huì)自動(dòng)update 於signals、source、edit.等window (如果你有開啟這些視窗的話)。另外,source與edit window兩者都可用來查看模擬時(shí)的某一個(gè)變數(shù)值或設(shè)定中斷點(diǎn),但前者不可編輯。 Project 標(biāo)籤頁用以顯示HDL檔案的狀態(tài)(也可以開啟其編輯視窗) Library 標(biāo)籤頁用以選定要Simulate的檔案 Sim 標(biāo)籤頁用以查看project structure與開啟某module的來源視窗 File 標(biāo)籤頁用以開啟某HDL檔案的編輯視窗= 四個(gè)功能拆成四個(gè)設(shè)定頁,這是ModelSim 比較耍寶的地方。 以下,我們接著要把想觀察的訊

10、號(hào)引出來,然後Run simulation. 4-2 在Sim標(biāo)籤頁內(nèi)選定top-level file (system.v),打開 signals window:View Signals 就可以看到top-level file的所有I/O signal。 4-3 在signals window的左半邊欄位內(nèi)選定想看的訊號(hào)(如orig_bit_s1、y1_s1、y2_s1、decoded_coulmn_s1),按滑鼠右鍵 Add to Wave Selected Signals,會(huì)跳出另一個(gè)wave window並把您想觀察的訊號(hào)都列出來 直接把signals window 的訊號(hào)拖曳到wave

11、 window 也可以 (訊號(hào)的排列次序也可以用左鍵拖曳搬移)。 訊號(hào)的排列次序,可以直接用滑鼠拖曳調(diào)整。如果要看的是module / sub-module 所有訊號(hào),4-24-3步驟可以一次完成: 4-4切回主視窗,Simulate Run Run 100ns - 預(yù)設(shè)Run length=100ns (一次跑100ns;可以更改) Simulate Run Run-All - 跑到按 Break 才暫停 - 按Continue Run 則繼續(xù) Simulate Run Step - 單步執(zhí)行程式 (for debugging) Simulate Run Restart - 重新執(zhí)行模擬 程

12、式執(zhí)行暫?;蚴桥艿街袛帱c(diǎn)時(shí),要查看任一訊號(hào)或變數(shù)的數(shù)值,方法有三種 從wave window查看 游標(biāo)指到source or edit視窗內(nèi)的該變數(shù),即會(huì)顯示該變數(shù)當(dāng)時(shí)的數(shù)值 View Variables 模擬結(jié)果如下 如果想要看所有波形的範(fàn)圍:View Zoom Zoom Full 以滑鼠左鍵在波形顯示區(qū)域點(diǎn)一下,就會(huì)出現(xiàn)黃色的垂直座標(biāo)線(cursor, 參閱step 5-4)。 直接在訊號(hào)波形上雙擊,會(huì)帶出Dataflow window (step 5-3);如果你是在紅色的(unknown)線上雙擊,還可以進(jìn)一步的在Dataflow window內(nèi)選定該unknown signal 的w

13、ire,按滑鼠右鍵選擇 TraceX 協(xié)助你debug 如果訊號(hào)不想以預(yù)設(shè)的二進(jìn)位表示,可以在wave window內(nèi)選定該訊號(hào)名稱,按滑鼠右鍵選擇Signal Properties.,然後選擇表示方法(如十進(jìn)位表示Decimal)。 5. Dataflow window (for debugging and tracing) Dataflow window可用來檢視所設(shè)計(jì)的電路,其訊號(hào)的實(shí)際連接情況(Drivers / Receivers),也就是顯示訊號(hào)在執(zhí)行模擬的過程中,經(jīng)過哪些程序(process),開啟的方法有兩個(gè): 直接雙擊wave window的訊號(hào)波形,會(huì)自動(dòng)跳出dataflo

14、w window,其中顯示該訊號(hào)的連接情況;以這種方法帶出dataflow window會(huì)在下方同時(shí)顯示wave viewer,不需要的話可以從ViewShow Wave取消。 從ModelSim主視窗中的ViewDataflow開啟視窗,從signals window將要看的訊號(hào)拖曳到Dataflow window 5-1 假設(shè)我們要看的是orig_del_bit_s1訊號(hào),此時(shí)Dataflow window顯示如下:5-2 如果想進(jìn)一步察看此訊號(hào)的Receiver,選定其輸出連線(red highlight),按 (expand net to all readers, ie. dow-st

15、ream circuit) 就會(huì)顯示如下結(jié)果: (直接以滑鼠左鍵雙擊red highlighted line也有同樣效果)同理,可以使用 查看訊號(hào)的Drivers (ie. up-stream circuit)、使用 查看訊號(hào)的Drivers and Receivers。(Erase All):清除dataflow window 5-3 從dataflow視窗的ViewShow Wave,打開embedded wave viewer 選定dataflow視窗內(nèi)的元件#ASSIGN#104,此時(shí)會(huì)看到wave視窗內(nèi)列出該元件的所有I/O: (此時(shí)如果有打開edit or source windo

16、w,會(huì)自動(dòng)顯示出元件#ASSIGN#104在原始碼的相對(duì)位置) 5-4 執(zhí)行模擬3500 ns,結(jié)果如下:可以看到此cell的輸入觸發(fā)輸出的情況 1. 選定想要用cursor測(cè)量觸發(fā)時(shí)間點(diǎn)的訊號(hào) 2. 以滑鼠左鍵在wave顯示視窗上點(diǎn)一下,cursor(黃色垂直線含時(shí)間座標(biāo))會(huì)自動(dòng)出現(xiàn) 3. 利用Finder Previous Transition、Finder Next Transition兩個(gè)icons,可以讓cursor自動(dòng)貼到trigger edge,以便正確的量測(cè)觸發(fā)時(shí)間點(diǎn)。此功能非常便於尋找訊號(hào)的觸發(fā)/轉(zhuǎn)態(tài)點(diǎn)(active point) 如果想將某一個(gè)cursor快速顯示在wave

17、 window內(nèi)(將顯示波形範(fàn)圍移到該處): View Cursors 選擇想跳至的cursor 5-5 如何step by step追蹤output被input觸發(fā)的情況呢?1. 選定想要追蹤被觸發(fā)情況的訊號(hào) 2. 按 Trace input net to event icons 3. 自動(dòng)產(chǎn)生另一個(gè)cursor指到前一個(gè)觸發(fā)output的input時(shí)間點(diǎn),多按幾次Trace input net to event,會(huì)看到如下圖所示的情況,兩個(gè)cursor之間的時(shí)間間距,為白色文字所顯示的100 ns。 6. 如果只要編輯與Compile HDL file File New Source VH

18、DL or Verilog or Other 或是 File Add to Project New File (或是在Project標(biāo)籤內(nèi),按滑鼠右鍵Add to Project New File) 7. 儲(chǔ)存檔案並關(guān)閉程式 File Save . Simulate End Simulation. File Close Project(要先關(guān)掉simulation,project才能關(guān)掉) File Quit(直接Quit 最快,可以省下上面關(guān)閉Simulation、Project的動(dòng)作) 8. 重新開啟 Project File Open Project.(選擇.mpf檔) 9. 進(jìn)一步訊息,請(qǐng)參考Help SE PDF Documentation Tutorials 線上使用手冊(cè)一些值得進(jìn)一步參閱的功能:creating and viewing datasets、performance analyzer、code coverage .其他用途: (以下這些做法,必須在工作站下執(zhí)行,PC環(huán)境下產(chǎn)生的檔案不能用) 如何用ModelSim產(chǎn)生.vcd檔(Value Change Dump)在testbench內(nèi)加入以下這段程式,然後執(zhí)行ModelSim從compile - Simulate

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論