modulsim手動編譯一般流程_1_第1頁
modulsim手動編譯一般流程_1_第2頁
modulsim手動編譯一般流程_1_第3頁
modulsim手動編譯一般流程_1_第4頁
modulsim手動編譯一般流程_1_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖2.5.17添加以后文件圖2.5.18文件添加完成手動編譯一般流程:手動創(chuàng)建仿真項目f手動加載.V與.vt文件f手動編譯.V與.vt文件f手動啟動仿真f手動添加仿真信號f手動播放仿真正如上述流程所示,手動編譯相較自動編譯只是少了步驟預(yù)先設(shè)置”之余,還有自動改為手動而已。況且在效果上,半自動編譯有點類似手動編譯,因此不得不讓人思考,我們?yōu)楹芜€要手動編譯呢?假設(shè)筆者是一粒窮光蛋,沒有錢購買Quartus II,因此筆者無法實現(xiàn)自動編譯還有半自動編譯。此刻Modelsim就會成為另一個集成環(huán)境,為此讓我們暫時拋開Quartus II,嘗試使用Modelsim執(zhí)行手動編譯好讓自己有個深刻的理解。圖2

2、.5.14手動創(chuàng)建仿真項目1打開Modelsim,然后切換到Project界面,隨之選擇File菜單,沿著New選項右邊再點擊 Project,過程如圖2.5.14所示。過 不了一會,Create Project窗口就會浮現(xiàn)在眼前:(一)Project Name的作用不大隨意輸入就好,筆者取名為mannual;(二) Project Location是仿真設(shè)計的路徑;(三) Default Library Name是設(shè)計庫的取名,默認為 work筆者取名為 mannu al_work ;(四)點擊0K生效。(步驟手動創(chuàng)建項目完成)手 動創(chuàng)建項目完成以后,Add item to the Proj

3、ect窗口會浮現(xiàn)在眼見。如圖2.5.15所示,其中有4個選項,而且意義也很直接, 在此筆者就不解釋了。點擊Add Exist ing File Add file to Project窗口就會浮現(xiàn)在眼前,結(jié)果如圖2.5.16所示,沿著右方點擊Browse圖 2.5.16 Add file to the Project 窗口圖 2.5.15 Add item to the Project 窗口按鍵,將 Multiplier_module.v還有multiplier_module.vt這兩個已有文件添加進來,過程如圖 2.5.17所示。時候,Project界面就會出現(xiàn)方才添加進來的兩個文件,結(jié)果如圖

4、一2.5.18所示。(步驟手動添 加文件完成)圖2.5.19手動編譯。如圖2.5.19所示,右鍵點擊任意文件,然后沿著Compile選項選擇Compile All,編譯所有文件(步驟手動編譯文件完成)事后,切換到Library界面,向下拉動滾條直至找到mannual_work這個自定義的設(shè)計庫,暫開之后右鍵點擊仿真環(huán)境,接著選擇Simulate,然后仿真就會啟動。(步驟手動啟動仿真完成)圖2.5.20手動啟動仿真圖2.5.21手動添加仿真信號圖2.5.22仿真信號手動添加完畢稍 等一會后,仿真就會啟動完畢,借此Sim界面也會跟著浮出水面。假設(shè)筆者想觀察仿真對象 multiplier_modul

5、e的全體輸出, 筆者可以展開仿真環(huán)境,右鍵點擊U1,接著選擇AddWave,過程如圖2.5.21所示。切換至wave界面,仔細觀察一下 wave界 面的左框,已經(jīng)出現(xiàn)密密麻麻的仿真信號,結(jié)果如圖2.5.22所示。在此我們可以斷定,手動添加仿真信號已經(jīng)完成。(步驟手動添加仿真信號完成)圖2.5.23手動播放仿真圖2.5.24手動播放仿真完畢10us的仿真時間對于實驗一來說過于充足了,在此筆者 輸入1us的仿真時間,結(jié)果如圖2.5.23所示,然后沿著右方點擊按 鈕,開始播放仿真。經(jīng)過幾個呼 吸的時間以后,wave界面的右框就會出現(xiàn)波形圖,結(jié)果如圖2.5.24所以。此刻我們可以斷定, 手動播放仿真已

6、經(jīng)完畢。(步驟手動播放仿真完成)wave界面非常好了,開場白就講到這里。首先經(jīng)由自動編譯啟動實驗一的仿真,然后再切換到 示。wave界面作為本節(jié)的開端,過程如圖2.6.1所手 動編譯一般是辛苦的勞動,啊!不是 是缺少集成環(huán)境(如Quartus II)的情況下,才會選擇的下下策。手動編譯與半自 動編譯雖然相似,但是筆者卻一直喜歡不上它,是否筆者太懶,還是手動編譯太麻煩了?不管怎么樣,初學(xué)者一般建議使用自動編譯,然后再選擇性使用半自動編譯。至于手動編譯,除非是學(xué)習(xí)作用,不然就無視它。Wave界面是Modelsim所有界面之中最有用的界面,wave界面好比電視屏幕,用來顯示節(jié)目, 亦即波形圖。操作w

7、ave界面近 似操作老式CRT電視,又似 操作現(xiàn)代液晶電視,這句話聽起來雖然覺得有點矛盾。舉例而言,如果讀者只是 看爽”波形圖而已, 亦即看看形狀然后傻笑自認看懂,結(jié)果就是老式CRT電視,操作程度非常傻瓜。反之,如果讀者要仔細觀察每一個時鐘具體的時序情況,那么就是現(xiàn)代液晶電視,操作程度非常細膩。操作wave界面主要分為兩種,針對老式 CRT電視稱為傻瓜操作;針對現(xiàn)代液晶電視稱為細膩操作。傻瓜操作沒什么好談的, 換之細膩操作是仿真技巧不可缺少的手段之一。不過,讀者別擔心,細膩操作界面也沒有印象中那么困難,前提條件除了耐心以外,還是耐心,因為細膩操作 耗費精力還有時間,稍微一個不留心也會自亂陣腳。

8、圖2.6.1自動編譯實驗一疣出F 金計示爸工畀圖2.6.2 Wave界面簡介為了減輕讀者的學(xué)習(xí)壓力,圖 2.6.2是經(jīng)過筆者打碼以后的 wave界面。Wave界面一般有3大顯示框:(一) 波形圖顯式框(二) 仿真信號顯示框(三) 光標信息顯示框其一,波形圖顯示框顧名思義就是用來顯示波形圖的地方,亦即Modelsim的圖形輸出;其二,仿真信號顯示框主要是用來顯示仿真信號,還有仿真信號當前時 鐘的結(jié)果;其三,光標信息顯示框是用來指示光標信息,如光標名還有光標位置。顯示框 不同,工具也不同,常用的工具如圖 2.6.2所示,表2.6.1則是工 具的簡單歸類。表2.6.1各種工具歸類。其他波形圖顯式框光

9、標信息顯示框仿真信號顯示框播放工具常規(guī)工具屏幕工具標簽工具光標工具搜索工具掃啟時間踴放費新播放圖2.6.3播放工具。如圖2.6.3所示,那是讀者再熟悉不過的播放工具,不過筆者還是循例來講一下。有作為的功能如圖2.6.3所示,亦即重新播放, 播放時間還有播放。l重新播放如字面上的意思就從0時間開始起播放仿真,而不是重啟整個仿真;l播放時間也是播放進度; l播放亦即開始播放;J I umklBK.1 IKBHUI.I LU Lt I H ULH I |光 felHp- - - _ _ BL m自由模式一 t詡放噪式圖264常規(guī)工具圖2.6.4是常規(guī)工具也稱為模式工具。常用的模式除了自由模式以外還有

10、就是縮放模式。自由模式也是默認模式,當自由模式啟動以后我們可以任意點擊波形圖顯 示框任意地方,縮放模式主要用來放大某個時間段。如圖 2.6.5所示,筆者啟動縮放模式 以后,筆者放大0309ps的時間段,事后0309ps時間段 就會充溢整個波形圖顯示框。然而縮放模式,筆者也是偶爾的情況下 才會使用而已。屏幕全局放大的結(jié)果,最大播放時間1.2 ns屏幕全局放大的結(jié)果,最大播放時間2ns左右左右 圖2.6.7各種顯示結(jié)果圖2.6.6所示是屏幕工具,常用功能有屏幕放大,屏幕放小,按光標放大,還有全局放大,各種顯示結(jié)果如圖2.6.7所示。是標準顯示;是標準顯示根據(jù) 放大以后的結(jié)果;是標準顯示放小以后的結(jié)

11、果; 是標準顯示按光標放大以后的結(jié)果, 然而與的不同之處就在于 是基于光標為中心的位置 3.9ns放 大顯示; 與都是標準顯示按全局放大以后的結(jié)果,然而的最大播放時間只有1.2ns左右,反之的最大播放時間只有2ns左右, 根 據(jù)最大仿真時間的不同,全局放大也會產(chǎn)生不同的顯示結(jié)果。反觀筆者,究竟那種功能才是最常用的呢?筆者很懶,筆者 比較喜歡按著 +滑鼠滾動鍵,縮放屏幕,因為這樣作比較省力。OaoMCiosoomiQIBoot圖265縮放模式放丈全局放尢 T!辿 竇門展尢圖2.6.6屏幕工具屏幕標準的結(jié)果屏幕放大的結(jié)果屏幕放小的結(jié)果屏幕按光標放大的結(jié)果讀取標簽記錄圖268標簽工具標簽是保存當前波

12、形圖顯示框狀態(tài)最好的工具,如圖2.6.8所示,常用的標簽功能有:I添加標簽,亦即為當前波形圖顯示狀態(tài)插入標簽;l刪除所有標簽,顧名思義就是清楚所有標簽記錄;I讀取標簽,則是讀取標簽記錄;I管理標簽,如字面上的意思,也有標簽綜合功能之稱。H bDkmrkZ 0 ps - 1608 ps圖269標簽工具使用過程 圖2.6.9是標簽工具使用過程,假設(shè) 是筆者預(yù)想保存的顯示狀態(tài),然后筆者可以點擊 添加標簽 功能將當前顯示狀態(tài)記錄起 來。是筆者不小心攪亂顯示狀態(tài) 的后果,不甘心的筆者,如所示點擊”讀取標簽功能,調(diào)回的顯示狀態(tài)。是讀取 標簽的結(jié)果,與相較之下并沒有差別。對于波形圖 顯式框而言,標簽工具是非

13、常方便的工具,有時候時序記錄過于龐大或者過度復(fù)雜,由于波形圖顯式框的長度有 限,這時候標簽工具就派上用場了。善用標簽工具會節(jié)省將波形圖顯式框拖來拖去的勞動,我們可以將某個時間段的顯示狀態(tài)記錄起來,又或者保存屏幕縮放結(jié)果。所以說,標簽工具和筆者的相性是非常好。圖2.6.10光標工具。光標是一個非常好用的工具,光標的作用好比補助線,參考線或者對齊線,然而光標也可以充當計算時間個數(shù)的好幫手。光標 工具的常用功能如圖2.6.10所示:I添加光標,就是添加新光標;I刪除光標,就是刪除當前選擇光標;I上一個信號沿,就是將當前光標移至當前信號的上一個信號沿;I下一個信號沿,就是將當前光標移至當前信號的下一個

14、信號沿;I上一個下降沿,就是將當前光標移至當前信號的上一個下降沿;I下一個下降沿,就是將當前光標移至當前信號的下一個下降沿;l上一個上升沿,就是將當前光標移至當前信號的上一個上升沿;涵加標隹蛙理標簽記除所有掠簽謹取標整預(yù)想保存當前顯示狀態(tài)圖2610顯示狀態(tài)經(jīng)攪亂以后顯示狀態(tài)讀取完畢=14l下一個上升沿,就是將當前光標移至當前信號的下一個上升沿信 號沿是時序基礎(chǔ)的基礎(chǔ),所謂觸發(fā)沿,有時候也稱為觸發(fā)沿,亦即信號發(fā)生狀態(tài)變化的那一刻。下降沿,意指由高變低的 信號沿;換之,上升沿意指由低變高的信號 沿。不管物理時序還是理想時序,信號沿的概念也是相同的。為了讓讀者有感知 認識一下光標工具的作用,筆者稍微

15、示范幾個光標工具常用的例子。圖2.6.11添加光標,選擇信號,光標信息。如圖2.6.11所示,筆者新添加一個光標,光標信息顯示框表示該光標名為Cursor4 (簡稱C4-塑料炸彈笑),指向位置為0.01 ns。單條光標的作用下,C4作為信號的對齊補助線。說點題外話。人的大腦是非常喜歡偷懶的東西,其中有這樣的實驗說過:當一個人步入一間四方空間以后,大腦為了省事,就 會記錄四方空間8個對角,作為平衡校準。同樣的道理發(fā)生在光標的身上,時序圖是一種并行可視化的記錄,在此對齊作用的 補助線可以減輕眼睛還有大腦的負擔。圖2.6.12隨著信號的上升沿移動光標舉例CLK信號與C4光標同時被選中。我們知道 CL

16、K信號一般將上升沿作為觸發(fā)沿,如果筆者預(yù)想來回移動在于CLK信號之間的上升沿,筆者可以執(zhí)行上一個上升沿還有下一個上升沿功能,結(jié)果如圖2.6.12所示,C4已經(jīng)移動至0.15ns的位置。re圖2.6.13計算信號的周期時間。假 設(shè)筆者預(yù)想結(jié)出Start_Sig信號的周期,于是筆者再新添加一個光標,名為 Cursor5 (簡稱C5)。C4移至0.01 ns的位置,然 而C5移至0.29ns的位 置,然后光標工具之間會自動求出時間差。如圖2.6.13所示,Start_sig信號位于C4C5之間一共占有0.28ns 時間。如果筆者為進一步求 出Start_Sig信號位于C4C5之間一共占用多少個時鐘,

17、筆者可以這樣計算:Start_Sig信號周期/時鐘周期 =0.28ns / 0.02ns結(jié)果而言,Start_Sig信號位于C4C5之間,一共占用14個時鐘光 標是一種非常頑皮的工具,時常跑來跑去,因此我們可以配合光標信息顯示框的鎖定功能來固定光標。如圖2.6.14所示,筆者沿著左下方點擊鎖定按鍵以后,C4就這樣被固定住了,換之C5卻沒有。除了鎖定功能以外,光標信息框還有兩個像極把手“還有”禁止進入 的按鍵,前者是配置光標,后者是刪除光標,總之是非常單純的功能,用不著筆者特意解釋吧?鎖定功能算是筆者比較常用的光標功能之一,像筆者這種喜歡作記錄的男人,有時候為了標記詳細的時序過程,動不動就會用

18、上十幾來個光標。如果每個光標都跑來跑去的話,筆者會直接發(fā)瘋的,因此鎖定功能在某種意義上已經(jīng)多次拯救筆者的小命。圖2.6.2顯示,除了波形圖顯示框或者光標信息顯示框以外,還有一個名為仿真信號顯示框的東西。筆者曾在2.5小節(jié)演示過,仿真信號可經(jīng)由自動編譯自行添 加又或者人為后期添加都行。仿真信號顯示框相較其它,自身隱藏的功能不僅豐富而且也非 常實用。仿真信號顯示框的左邊是仿真信號的命名,右邊則是信號處于當前時鐘的結(jié)果。前者可以更動,后者則不行。單位寬信號多位寬信號圖2.6.15單位寬與多位寬仿真信號。仿真信號一般分為兩種,亦即單位寬信號還有多位寬信號,如圖2.6.15所示。單位寬信號例子有 CLK

19、信號,RSTn信號,Start_Sig 信號還有 Don e_Sig信號,一般格式皆為 Logic邏輯。多位寬信號例子有 Multiplica nd信號,Multiplier信號,Product信號還有 i信號,一般格式皆為 Literal。圖2.6.16展開多位寬信號圖2.6.14鎖定光標圖2.6.2 Wave界面簡介圖2.6.16多位寬仿真信號的模擬格式。多 位寬仿真信號還有另一個有趣的顯示格式,亦即模擬格式( Analog)。如圖2616所示,筆者選擇Product信號作為小白 鼠,然后更改模擬格式。緊接著,Product信號的波形圖再也不是疊加格式而是模擬格式。模擬格式有Automat

20、ic (自動)與Custom (自定義)。模擬格式后退式。圖2.6.17各種模擬格式。自動模擬格式會執(zhí)行設(shè)置,顯示高度(Height),還有最大值(Max)和最小值(Min)的范圍,階梯式作為默認模擬格式, 反之自定義模式必須手動設(shè)置 上述幾個選項。此外,除了默認的階梯式 以外,模擬格式還有加入式 ,或者后退式(預(yù) 想知道什么式請自行谷歌),各種效果如圖2.6.17所示。模擬格 式的程度仿真AC/DC或者波形算法以外才使用而已,普通情況下很少用上。模擬格式階梯式模擬格式加入式圖2.6.18更改進制多 位寬仿真信號除了可以更改格式(Format)以外,還能更改基數(shù)(Radi。如圖2.6.18所示

21、,筆者將 Multiplica nd信號, Multiplier信號,Product信號,還有i信號更改為十進制。此刻,仿真信號顯示框,還有波形顯示框的文字信息都為十進制表 示。曾經(jīng)有同學(xué)問過筆者,如何批量更改仿真信號的顯示基數(shù)?方法非常簡單,只要按住Ctrl鍵或者Shift鍵多項選擇仿真信號,然后右鍵點擊其中一個選中信號再更改基數(shù),結(jié)果其它被選中的仿真信號也會跟著變動。Modelsim可以支持的基數(shù)如表2.6.1所示:表2.6.1 Modelsim可以支持的顯示基數(shù)。Symbolic作用不明Binary 二進制9Octal八進制Un sig ned 無符號位Hexadecimal十六進制AS

22、CII字符Time時鐘單位Fixed Point 定點UseGlobalRadix 作用不明Numeric Enums作用不明Symbolic Enums 作用不明如果表2.6.1所示,盡是常見的基數(shù),不過如 Time或者Fixed Point它們是比較特殊的基數(shù),此外還有一些作用不明的基數(shù), 怒筆者知識有限不懂說明,有興趣的朋友可以自行研究看看。有時候我們會遇見仿真信號過多,結(jié)果逼不得已不分組仿真信號。根據(jù)筆者的習(xí)慣,仿真信號一共有3種分組方法,亦即NewWindow Pane 分組,Add Divider 分組,還有 Group 分組。pter mgduhe stfnJa&in MJUgi

23、K蹈*dioHljtxbtll50faHRteil 麗鬼;如圖2.6.19所示,隨便右鍵任意仿真信號,然后沿著Add選擇New Window Pane,然后Modelsim會自動向下添加新 WindowPane,接著利用滑鼠手動拖拽仿真信號進入即可。圖 2.6.19 New Window Pane 分組。圖 2.6.20 刪除 Window Pane。New Window Pane分組有一個非常頭疼的問題, Window Pane雖然容易添加,不過刪除 Window Pane卻比較麻煩。如圖2.6.20 所示,我們可以經(jīng)由 Edit菜單選擇Delete WindowPane來刪除當前選擇的 W

24、indow Pane,但是連同組內(nèi)信號都會一同刪除。New Win dow Pane分組看似作用不大,不過如果解讀時序比較隨意,好比使用衛(wèi)生紙擦完既丟的話,New Window Pane分組不差是一個好方法。圖 2.6.21 Add Divider分組。Add Divider分組是筆者常用的分組方法之一。如圖2.6.1所示,右鍵點擊任意仿真信號,沿著Add然后選擇New Divider。AddDivider分組可以注釋組名,圖中筆者將仿真信號分為四組,亦即Environment Signal, Input Signal,Output Signal,還有Misc。如果解讀時序仔細而且又不是最終的

25、話,Add Divider是不錯的分組方法。此外,Add Divider生成的分割線可以當成仿真信號按鍵刪除。圖 2.6.22 Group分組最后還有一個分組方法就是 Group分組,我們可以選擇預(yù)想分成一組的仿真信號,然后右鍵點擊任一仿真信號,再者選擇Group, 過程如圖2.6.22所示。圖中,筆者將所有仿真信號分為四組。圖2.6.23暫開或者回收Group分組仿真信號。Group分組相較Add Divider分組,前者可以注釋組名以外,也可以任意暫開或者回收相關(guān)的分組,效果如圖2.6.23所示圖2.6.24撤銷Group分組2.6.26所示,是筆者心血來潮的藝術(shù)成除 此之外,撤銷Grou

26、p分組也非常簡單,如圖2.6.24所示,選擇預(yù)想撤銷的分組,然后右鍵點擊Un group即可。Group分組不管上看下看還是左看右看都是最好的分組方法,除了注釋組名以外,組名也可以一同顯示在波形圖顯示框當中,而且展開回 收分組功能也助于仿真信號管理。如果波形圖不是供人欣賞,筆者一般都不會使用它。圖2.6.25信號選擇顏色仿 真信號顯示框還有較為花俏的功能,亦即更改信號波形的顏色。如圖2.6.25所示,筆者右鍵點擊CLK信號,然后選擇Properties。不一會兒,Wave Propertie s窗口就會浮現(xiàn)在眼前,沿著 Wave Color點擊vColors鍵,結(jié)果又會跳出顏色小窗 口,筆者選擇黃色。事后,CLK信號的波形圖顏色就會讓上黃色,過程誒圖2.6.25所示。1_ _-T JbTJt &wiram&nE Siprui )u umuimnn頑infiiUiwiniurijnfiimnnfuipJwumiLin/iftmimnnfi肌血sSsuj二 &廠nji _|_j /i *0 5T KJF二 7(Output Spiri)il n|n|n|1 吐 1丨Or JE.LJi 1 J. 1-X

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論