加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 7.2  ModelSim仿真工具簡介
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

FPGA系統(tǒng)設(shè)計的仿真驗證之: ModelSim仿真工具簡介

2013/08/26
1
閱讀需 20 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

7.2??ModelSim仿真工具簡介

ModelSim是Model?Technology(Mentor?Graphics的子公司)的DHL硬件描述語言的仿真軟件,該軟件可以用來實現(xiàn)對設(shè)計的VHDL、Verilog或者是兩種語言混合的程序進(jìn)行仿真,同時也支持IEEE常見的各種硬件描述語言標(biāo)準(zhǔn)。

無論從友好的使用界面和調(diào)試環(huán)境來看,還是從仿真速度和仿真效果來看,ModelSim都可以算得上是業(yè)界最優(yōu)秀的HDL語言仿真軟件。它是惟一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器,是做FPGA/ASIC設(shè)計的RTL級和門級電路仿真的首選;它采用直接優(yōu)化的編譯技術(shù),Tcl/Tk技術(shù)和單一內(nèi)核仿真技術(shù),具有仿真速度快,編譯代碼與仿真平臺無關(guān),便于IP核保護(hù)和加快程序錯誤定位等優(yōu)點。

Modelsim最大的特點是其強(qiáng)大的調(diào)試功能。

·??先進(jìn)的數(shù)據(jù)流窗口,可以迅速追蹤到產(chǎn)生錯誤或者不定狀態(tài)的原因。

·??性能分析工具幫助分析性能瓶頸,加速仿真。

·??代碼覆蓋率檢測確保測試的完備。

·??多種模式的波形比較功能。

·??先進(jìn)的Signal?Spy功能,可以方便地訪問VHDL、Verilog或者兩者混合設(shè)計中的底層信號。

·??支持加密IP。

·??可以實現(xiàn)與MATLAB的Simulink的聯(lián)合仿真。

目前常見的Modelsim分為幾個不同的版本:ModelSim?SE、ModelSim?PE、ModelSim?LE和ModelSim?OEM。

如圖7.3所示,Modelsim的用戶界面和一般的Windows窗口相似,由上到下依次為:標(biāo)題欄、菜單欄,工具欄,工作區(qū)和狀態(tài)欄。

圖7.3??Modelsim界面

?

7.2.1??標(biāo)題欄

標(biāo)題欄位于整個用戶界面的最上方,標(biāo)題欄的左邊顯示當(dāng)前程序的名稱,右邊用來控制用戶界面的大小,包括最小化、最大化和關(guān)閉3種功能按鈕。

7.2.2??菜單欄

菜單欄里面一共有8個菜單選項,分別是:File(文件)、Edit(編輯)、View(視圖)、Compile(編譯)、Simulate(仿真)、Tools(工具)、Window(窗口)、Help(幫助)。下面分別具體介紹。

1.“File”菜單

文件菜單通常包含了對工程及文件等的操作。ModelSim的文件菜單包含的命令有:New(新建)、Open(打開)、Close(關(guān)閉)、Import(導(dǎo)入)、Save(保存)、Delete(刪除)、Change?Directory(更改路徑)、Transcript(對腳本進(jìn)行管理)、Add?to?Project(為工程添加文件)、Recent?Directories(最近幾次的工作路徑)、Recent?Projects(最近幾次工程)、Quit(退出)。

(1)新建文件命令(File/?New)。

單擊File/?New命令,將會出現(xiàn)一個子菜單,共包含4個選項。

·??單擊“Folder”(新建文件夾)后,會出現(xiàn)對話框,提示輸入新建的文件夾的名字,即可在當(dāng)前目錄下新建一個文件夾。

·??單擊“Source”(新建源文件)后,會出現(xiàn)源文件類型的選項(VHDL、Verilog、Other),單擊可分別新建對應(yīng)格式的源文件。

·??單擊“Project”(新建工程)后,會出現(xiàn)對話框,提示在“Project?Name”處輸入新建工程的名稱,在“Project?Location”處指定新建工程的存放路徑。在“Default?Library?Name”處指明默認(rèn)的設(shè)計庫的名稱,用戶設(shè)計的文件將編譯到該庫中。

·??單擊“Library”(新建一個庫)后,會出現(xiàn)對話框,提示選擇“Create?a?New?library?and?a?logical?mapping?to?it”(新建一個庫并建立一個邏輯映像)或“A?map?to?an?existing?library”(新建一個到已存在庫的映像)。在“Library?name”處輸入新建庫的名稱,在“Library?physical?name”處輸入存放庫的文件名稱。?

(2)Open(打開文件)。

單擊會出現(xiàn)子菜單選擇打開File(文件)、Project(工程)及Dataset(WLF文件)。?

(3)Close(關(guān)閉)。

單擊會出現(xiàn)子菜單選擇關(guān)閉Project(工程)或Dataset(仿真數(shù)據(jù)文件)。

(4)Import(導(dǎo)入)。

導(dǎo)入新的庫。在進(jìn)行某些仿真時需要的一些仿真庫可以通過該方法導(dǎo)入,根據(jù)提示指定仿真庫的路徑及目標(biāo)庫路徑,一步一步操作完成。注意ModelSim安裝目錄下的modelsim.ini文件不能為只讀,該文件保存了ModelSim的一些設(shè)置信息

(5)Save(保存)。

保存當(dāng)前仿真數(shù)據(jù)。

(6)Delete(刪除)。

刪除指定的工程,即刪除.mpf文件,.mpf是ModelSim工程的后綴名。

(7)Change?Directory(改變路徑)。

改變當(dāng)前工作路徑,ModelSim使用的是絕對路徑,而不是相對路徑。這與ISE不同。在ISE中,用戶可以將設(shè)計的整個目錄復(fù)制到其他任何地方,只要目錄完整,可以直接打開工程文件。而在ModelSim中,若將整個目錄復(fù)制到其他地方,打開工程時其指向仍為原來工程的地址,可以通過更改路徑來設(shè)置新的路徑。

(8)Transcript(腳本)。

單擊會出現(xiàn)子菜單,可選擇操作Save?Transcript(保存主窗口中腳本)、Save?Transcript?As(把主窗口中腳本另存為一個新文件)或Clear?Transcript(清除主窗口中的腳本)。

(9)Add?to?Project(添加到工程)。

單擊會出現(xiàn)子菜單,可選擇操作File(添加文件到當(dāng)前工程)、Simulation?Configuration(添加設(shè)定的仿真配置)或Folder(添加文件夾)。

?

(10)Recent?Directories(最近幾次工作路徑)。

可以從中選取最近幾次的工作路徑。

(11)Recent?Projects(最近幾次工程)。

可以打開最近幾次的工程。

(12)Quit(退出)。

退出Modelsim。

2.“Edit”菜單

類似于Windows應(yīng)用程序,在編輯菜單中包含了對文本的一些常用的操作。

(1)Copy(復(fù)制)。

復(fù)制選中的文檔

(2)Paste(粘貼)。

把剪切或復(fù)制的文檔粘貼到當(dāng)前插入點之前。

(3)Select?All(全選)。

選中主窗口中所有的抄本文檔。

(4)Unselect?All(取消全選)。

取消已選文本的選中狀態(tài)。

(5)Find(查找)。

在命令窗口中查找字符或字符串。

3.“View”菜單

類似于其他Windows應(yīng)用程序,視圖菜單可以控制在屏幕上顯示哪些窗口。

(1)All?Windows(所有窗口)。

打開所有的ModelSim窗口,試一下該命令會發(fā)現(xiàn)ModelSim打開了許多窗口,包括波形窗口、信號列表窗口、源文件窗口等。

(2)Dataflow(數(shù)據(jù)流)。

打開Dataflow窗口,在該窗口中顯示數(shù)據(jù)的流向。

(3)List(列表)。

打開列表窗口。

(4)Process(進(jìn)程)。

打開過程窗口,該窗口顯示了設(shè)計中的進(jìn)程所在的位置。

(5)Signals(信號)。

打開信號窗口。該窗口顯示了設(shè)計中所有信號的列表。

(6)Source(源文件)。

開源文件窗口,可以在源文件窗口中顯示設(shè)計中使用的源文件。

(7)Structure(結(jié)構(gòu))。

打開結(jié)構(gòu)窗口,該窗口以列表方式顯示了設(shè)計中所有到的結(jié)構(gòu),雙擊某一結(jié)構(gòu),可以查找定義該結(jié)構(gòu)的語句。

(8)Variables(變量)。

打開變量窗口,該窗口以列表方式顯示了設(shè)計中定義的所有變量。

(9)Wave(波形)。

打開波形窗口,這是我們仿真時經(jīng)常需要查看的窗口,在其中顯示了輸入和輸出的波形。

(10)Dataset。

打開Dataset瀏覽器來打開、關(guān)閉、重命名或激活一個Dataset。用戶在使用的時候會發(fā)現(xiàn)沒有什么變化,這時候可以看看Workspace窗口下是不是多了一個選項卡。該選項卡顯示的內(nèi)容與Structure窗口顯示的完全相同。

(11)Coverage(覆蓋率)。

查看仿真的代碼覆蓋率。

(12)Active?Processes(活動的進(jìn)程)。

當(dāng)前正在執(zhí)行的進(jìn)程。

(13)Workspace(工作區(qū))。

打開當(dāng)前的工作區(qū)。

(14)Encoding(編碼)。

以不同的編碼查看。

(15)Properties。

顯示工作區(qū)中選中對象的屬性。

4.“Compile”菜單

(1)Compile(編譯)。

把HDL源文件編譯到當(dāng)前工程的工作庫中。

(2)Compile?Options(編譯選項)。

設(shè)置VHDL和Verilog編譯選項,例如可以選擇編譯時采用的語法標(biāo)準(zhǔn)等。

(3)Compile?All(全編譯)

編譯當(dāng)前工程中的所有文件。

(4)Compile?Select(編譯選中的文件)

編譯當(dāng)前工程中的選中文件。

(5)Compile?Order(編譯順序)

設(shè)置編譯順序,一般系統(tǒng)會根據(jù)設(shè)計對VHDL自動生成編譯順序,但對于Verilog需要指定編譯順序。

(6)Compile?Report(編譯報告)

有關(guān)工程中已選文件的編譯報告。

(7)Compile?Summary(編譯摘要)

有關(guān)工程中所有文件的編譯報告。

5.“Simulate”菜單

這里的編譯及運行命令類似于Visual?Ctf等高級語言的調(diào)試時候的命令。

(1)Simulate(仿真)。

裝載設(shè)計單元。

(2)Simulation?Options(仿真選項)。

設(shè)置仿真選項。

(3)Run(運行)。

·??Run?***ns:在該仿真時間長度內(nèi)進(jìn)行仿真。若要改變長度,可在Simulation?Options中設(shè)置或在工具欄中修改。

·??Run-All(運行所有仿真):進(jìn)行仿真,直到用戶停止它。

·??Continue(繼續(xù)):繼續(xù)仿真。

·??Run-Next(運行到下一事件):運行到下一個事件發(fā)生為止。

·??Step(單步):單步仿真。

·??Step-Over:仿真至子程序結(jié)束。

·??Restart:重新開始仿真,重新加載設(shè)計模塊,并初始化仿真時間為零。

(4)Break(停止)。

停止當(dāng)前的仿真。

(5)End?Simulation(結(jié)束仿真)。

結(jié)束當(dāng)前仿真。

6.“Tools”菜單

(1)Waveform?Compare(波形比較)。

在子菜單中有具體進(jìn)行波形比較的命令。

(2)Coverage(覆蓋率)。

測試仿真的代碼覆蓋率,所謂代碼覆蓋率是指仿真運行到當(dāng)前已運行的代碼占所有代碼的比例,當(dāng)然是越接近100%越好。

(3)Breakpoints(斷點設(shè)置)。

單擊此選項出現(xiàn)斷點設(shè)置對話框,設(shè)置斷點。

(4)Execute?Macro(執(zhí)行宏文件)。

所謂的宏文件就是保存后的腳本,腳本保存起來,以后可以利用該命令來重新執(zhí)行。

(5)Options(選項)。

·??Transcript?File:設(shè)置腳本文件的保存。

·??Command?History:命令歷史。

·??Save?File:保存腳本文件。

·??Saved?Lines:限制腳本文件的行數(shù)。

·??Line?Prefix:設(shè)置每一行的初始前綴。

·??Update?Rate:設(shè)置狀態(tài)條的刷新頻率。

·??ModelSim?Prompt:改變ModelSim的命令提示符。

·??VSIM?Prompt:?改變VSIM的命令提示符。

·??Paused?Prompt:?改變Paused的命令提示符。

·??HTML?Viewer:設(shè)置打開在線幫助的文件。

(6)Edit?Preferences(編輯參數(shù)選?。?。

設(shè)置編輯參數(shù)。

(7)Save?Preferences(保存參數(shù)選?。?/p>

設(shè)置保存用的參數(shù)。

?

7.“Window”菜單

(1)Initial?Layout(初始化版面)。

恢復(fù)所有窗口到初始時的大小和位置。

(2)Cascade(層疊)。

使所有打開的窗口層疊。

(3)Tile?Horizontally(水平平鋪)。

水平分隔屏幕,顯示所有打開的窗口。

(4)Tile?Vertically(垂直平鋪)。

垂直分隔屏幕,顯示所有打開的窗口。

(5)Layout?Style(版面格式)。

·??Default(默認(rèn)格式):與Initial?Layout格式相同。

·??Classic(經(jīng)典格式):采樣低于5.5版本的格式。

·??Cascade:與Cascade格式相同。

·??Horizontally:與Tile?Horizontally格式相同。

·??Vertically:與Tile?Vertically格式相同。

(6)Icon?Children。

除了主窗口之外的其他窗口縮為圖標(biāo)。

(7)Icon?All。

將所有窗口縮為圖標(biāo)。

(8)Deacon?All。

將所有縮為圖標(biāo)的窗口還原。

8.“Help”窗口

(1)About?ModelSim。

顯示ModelSim的版本、版權(quán)等信息。

(2)Release?Notes。

顯示ModelSim的版本發(fā)布信息。

(3)Welcome?Menu。

顯示歡迎畫面。

(4)PDF?Documentation。

在子菜單中可以選擇ModelSim的PDF文檔。

SE?HTML?Documentation:ModelSim的超文本文檔。

(5)Tcl?Help:Tcl幫助文檔。

Tcl是Tools?Command?Language的縮寫,它是一種可擴(kuò)充的命令解釋語言,具有與C語言的接口和命令的能力,應(yīng)用非常廣泛,這方面也有專門的書籍。

(6)Tcl?Man?Pages:Tcl主頁面。

(7)Technotes:技術(shù)文檔。

7.2.3??工具欄

ModelSim的工具欄如圖7.4所示。從左到右依次為:打開、復(fù)制、粘貼、編譯選定、編譯全部、仿真、停止仿真、重新開始仿真、仿真步長、運行一步、繼續(xù)運行、運行所有、單步執(zhí)行、主程序的單步執(zhí)行。

圖7.4

?

7.2.4??工作區(qū)

由圖7.3可以看到,在用戶使用界面里面工作區(qū)占有的面積最大,工作區(qū)初始可以分為左右兩部分:左邊是文件或者工程列表,右邊是相應(yīng)的文件的顯示區(qū)。

7.2.5??狀態(tài)欄

ModelSim的狀態(tài)條如圖7.5所示,其中左面為當(dāng)前工程的名稱,右面為與當(dāng)前仿真相關(guān)的一些系數(shù),如仿真時間和仿真變量等。

圖7.5??狀態(tài)欄

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

華清遠(yuǎn)見(www.farsight.com.cn)是國內(nèi)領(lǐng)先嵌入師培訓(xùn)機(jī)構(gòu),2004年注冊于中國北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營分公司。華清遠(yuǎn)見除提供嵌入式相關(guān)的長期就業(yè)培訓(xùn)、短期高端培訓(xùn)、師資培訓(xùn)及企業(yè)員工內(nèi)訓(xùn)等業(yè)務(wù)外,其下屬研發(fā)中心還負(fù)責(zé)嵌入式、Android及物聯(lián)網(wǎng)方向的教學(xué)實驗平臺的研發(fā)及培訓(xùn)教材的出版,截止目前為止已公開出版70余本嵌入式/移動開發(fā)/物聯(lián)網(wǎng)相關(guān)圖書。企業(yè)理念:專業(yè)始于專注 卓識源于遠(yuǎn)見。企業(yè)價值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。