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

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

FPGA系統(tǒng)設(shè)計(jì)的仿真驗(yàn)證之: ModelSim仿真工具簡(jiǎn)介

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

?

7.2??ModelSim仿真工具簡(jiǎn)介

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

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

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

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

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

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

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

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

·??支持加密IP。

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

目前常見(jiàn)的Modelsim分為幾個(gè)不同的版本:ModelSim?SE、ModelSim?PE、ModelSim?LE和ModelSim?OEM。

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

圖7.3??Modelsim界面

?

7.2.1??標(biāo)題欄

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

7.2.2??菜單欄

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

1.“File”菜單

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

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

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

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

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

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

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

(2)Open(打開(kāi)文件)。

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

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

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

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

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

(5)Save(保存)。

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

(6)Delete(刪除)。

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

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

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

(8)Transcript(腳本)。

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

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

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

?

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

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

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

可以打開(kāi)最近幾次的工程。

(12)Quit(退出)。

退出Modelsim。

2.“Edit”菜單

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

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

復(fù)制選中的文檔

(2)Paste(粘貼)。

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

(3)Select?All(全選)。

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

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

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

(5)Find(查找)。

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

3.“View”菜單

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

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

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

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

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

(3)List(列表)。

打開(kāi)列表窗口。

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

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

(5)Signals(信號(hào))。

打開(kāi)信號(hào)窗口。該窗口顯示了設(shè)計(jì)中所有信號(hào)的列表。

(6)Source(源文件)。

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

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

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

(8)Variables(變量)。

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

(9)Wave(波形)。

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

(10)Dataset。

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

(11)Coverage(覆蓋率)。

查看仿真的代碼覆蓋率。

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

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

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

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

(14)Encoding(編碼)。

以不同的編碼查看。

(15)Properties。

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

4.“Compile”菜單

(1)Compile(編譯)。

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

(2)Compile?Options(編譯選項(xiàng))。

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

(3)Compile?All(全編譯)

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

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

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

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

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

(6)Compile?Report(編譯報(bào)告)

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

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

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

5.“Simulate”菜單

這里的編譯及運(yùn)行命令類(lèi)似于Visual?Ctf等高級(jí)語(yǔ)言的調(diào)試時(shí)候的命令。

(1)Simulate(仿真)。

裝載設(shè)計(jì)單元。

(2)Simulation?Options(仿真選項(xiàng))。

設(shè)置仿真選項(xiàng)。

(3)Run(運(yùn)行)。

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

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

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

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

·??Step(單步):?jiǎn)尾椒抡妗?/p>

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

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

(4)Break(停止)。

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

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

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

6.“Tools”菜單

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

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

(2)Coverage(覆蓋率)。

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

(3)Breakpoints(斷點(diǎn)設(shè)置)。

單擊此選項(xiàng)出現(xiàn)斷點(diǎn)設(shè)置對(duì)話(huà)框,設(shè)置斷點(diǎn)。

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

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

(5)Options(選項(xiàng))。

·??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è)置打開(kāi)在線幫助的文件。

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

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

(7)Save?Preferences(保存參數(shù)選?。?。

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

?

7.“Window”菜單

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

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

(2)Cascade(層疊)。

使所有打開(kāi)的窗口層疊。

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

水平分隔屏幕,顯示所有打開(kāi)的窗口。

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

垂直分隔屏幕,顯示所有打開(kāi)的窗口。

(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。

顯示歡迎畫(huà)面。

(4)PDF?Documentation。

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

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

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

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

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

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

7.2.3??工具欄

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

圖7.4

?

7.2.4??工作區(qū)

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

7.2.5??狀態(tài)欄

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

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

相關(guān)推薦

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

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