![實(shí)驗(yàn)五Modelsim仿真教案_第1頁](http://file4.renrendoc.com/view/7b3b4cf195dddc2c8c0e946cccf4d959/7b3b4cf195dddc2c8c0e946cccf4d9591.gif)
![實(shí)驗(yàn)五Modelsim仿真教案_第2頁](http://file4.renrendoc.com/view/7b3b4cf195dddc2c8c0e946cccf4d959/7b3b4cf195dddc2c8c0e946cccf4d9592.gif)
![實(shí)驗(yàn)五Modelsim仿真教案_第3頁](http://file4.renrendoc.com/view/7b3b4cf195dddc2c8c0e946cccf4d959/7b3b4cf195dddc2c8c0e946cccf4d9593.gif)
![實(shí)驗(yàn)五Modelsim仿真教案_第4頁](http://file4.renrendoc.com/view/7b3b4cf195dddc2c8c0e946cccf4d959/7b3b4cf195dddc2c8c0e946cccf4d9594.gif)
![實(shí)驗(yàn)五Modelsim仿真教案_第5頁](http://file4.renrendoc.com/view/7b3b4cf195dddc2c8c0e946cccf4d959/7b3b4cf195dddc2c8c0e946cccf4d9595.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-.z.實(shí)驗(yàn)五 ModelSim仿真【實(shí)驗(yàn)內(nèi)容】1.仔細(xì)閱讀ModelSim軟件簡要使用說明〔下文〕?!?實(shí)例代碼〞壓縮包用于ModelSim軟件學(xué)習(xí)用〕2.Testbench寫法簡要介紹。〔可以參考"Testbench模版〞〕3.用ModelSim完成10位全加器的功能仿真。ModelSim軟件簡要使用說明ModelSim是對(duì)VHDL,Verilog,SystemC以及混合語言編寫的設(shè)計(jì)文件進(jìn)展仿真和調(diào)試的工具軟件。1.仿真流程在ModelSim中對(duì)一個(gè)設(shè)計(jì)進(jìn)展仿真的根本步驟如下列圖所示:2.仿真具體步驟Createanewproject選擇"File>New>Project〞,會(huì)彈出對(duì)話框,如下圖:其中:"ProjectName〞項(xiàng):填寫要?jiǎng)?chuàng)立的工程的名字。"ProjectLocation〞項(xiàng):確定創(chuàng)立的工程所要存放的位置。請(qǐng)?jiān)贓盤下建文件夾!"DefaultLibraryName〞項(xiàng):填寫工程的工作庫的名字。注:在用ModelSim進(jìn)展仿真之前,必須要對(duì)設(shè)計(jì)文件進(jìn)展編譯,生成與設(shè)計(jì)文件邏輯功能相對(duì)應(yīng)的設(shè)計(jì)單元。由于ModelSim是用庫文件來進(jìn)展仿真的,所以編譯后的設(shè)計(jì)單元需要存放在庫文件里。這個(gè)庫文件叫作"工作庫〞。926以上三項(xiàng)填寫完畢后,點(diǎn)擊"OK〞按鈕,會(huì)在指定的位置處創(chuàng)立工程及工作庫,如下圖:在工作庫文件夾內(nèi),有一個(gè)名為"_info〞的特殊格式文件,如下圖:這個(gè)文件指定了此文件夾為ModelSim的工作庫文件夾。在編譯步驟內(nèi)生成的所有設(shè)計(jì)單元都會(huì)被添加到工作庫文件夾內(nèi)。Addingobjectstotheproject在上一步點(diǎn)擊OK后,ModelSim會(huì)彈出一個(gè)對(duì)話框,如下圖:其中:"CreateNewFile〞項(xiàng):在工程中創(chuàng)立新的設(shè)計(jì)文件。"AddE*istingFile〞項(xiàng):把已經(jīng)存在的設(shè)計(jì)文件參加到工程中。"CreateSimulation〞項(xiàng):在工程中創(chuàng)立仿真配置文件。"CreateNewFolder〞項(xiàng):在工程中創(chuàng)立新的文件夾?!?〕創(chuàng)立文件夾?!泊瞬襟E也可以不要,不過推薦采用此步驟,便于文件管理〕選擇"CreateNewFolder〞項(xiàng),在彈出的對(duì)話框中輸入要?jiǎng)?chuàng)立的文件夾的名字,如下圖:點(diǎn)擊"OK〞按鈕,會(huì)在"Workspace〞列表里顯示出新創(chuàng)立的文件夾。如下圖:〔2〕將設(shè)計(jì)文件參加到文件夾內(nèi)。選擇"AddE*istingFile〞項(xiàng),會(huì)彈出對(duì)話框,如下圖:其中:"FileName〞項(xiàng):指定設(shè)計(jì)文件所在位置。"Referencefromlocation〞項(xiàng):表示只將設(shè)計(jì)文件與工程關(guān)聯(lián)起來。"Copytoprojectdirectory〞項(xiàng):表示將設(shè)計(jì)文件復(fù)制一份到工程目錄下。存放的具體位置由"Folder〞項(xiàng)指定。指定設(shè)計(jì)文件的具體位置后,選擇"Copytoprojectdirectory〞項(xiàng),并通過"Folder〞項(xiàng),將存放位置改成"HDL〞,如下圖:點(diǎn)擊"OK〞按鈕,會(huì)在工程文件夾內(nèi)多出兩個(gè)設(shè)計(jì)文件,如下圖:這兩個(gè)設(shè)計(jì)文件就是從指定的路徑下將源文件復(fù)制過來的。點(diǎn)擊"OK〞按鈕后,會(huì)在"Workspace〞列表的"HDL〞文件夾里新參加兩個(gè)設(shè)計(jì)文件。如下圖:pilingyourdesign將設(shè)計(jì)文件參加到工程中以后,就可以編譯設(shè)計(jì)文件了,編譯器會(huì)將編譯生成的設(shè)計(jì)單元添加進(jìn)你所創(chuàng)立的工作庫中。編譯的步驟如下:〔1〕編譯設(shè)計(jì)文件。在"Workspace〞列表的"Project〞欄內(nèi),點(diǎn)擊右鍵,在彈出的列表中選擇"pile>pileAll〞,如下圖:如果設(shè)計(jì)文件編譯無誤,每個(gè)設(shè)計(jì)文件后面的"Status〞欄會(huì)有綠色的對(duì)勾,否則會(huì)有紅色的錯(cuò)叉出現(xiàn)。當(dāng)有錯(cuò)叉出現(xiàn)時(shí),需要根據(jù)ModelSim的"Transcript〞欄內(nèi)的提示信息修改設(shè)計(jì)文件,并重新編譯,直到編譯通過為止。編譯通過后,由設(shè)計(jì)文件編譯成的設(shè)計(jì)單元會(huì)被參加到工作庫中,如下圖:〔2〕查看編譯后的設(shè)計(jì)單元。點(diǎn)擊"Workspace〞列表里的"Library〞欄,展開"WorkLIB〞庫,會(huì)看到編譯后參加到庫中的設(shè)計(jì)單元。如下圖:Loadingthedesignintothesimulator編譯后生成的設(shè)計(jì)單元需要參加到仿真器中才能進(jìn)展仿真。由于測試文件〔testbench〕例化了要仿真的模塊,所以只需要將測試文件生成的設(shè)計(jì)單元加載到仿真器中。雙擊"Workspace〞列表內(nèi)工作庫下測試文件生成的設(shè)計(jì)單元,就可以將其加載到仿真器中。也可以選擇"Simulate>StartSimulation〞,會(huì)彈出一個(gè)對(duì)話框,展開"WorkLIB〞工作庫,選中測試文件生成的設(shè)計(jì)單元,如下圖:點(diǎn)擊"OK〞按鈕即可將測試文件生成的設(shè)計(jì)單元加載到仿真器中。設(shè)計(jì)單元成功加載到仿真器后,ModelSim會(huì)自動(dòng)彈出仿真器,并將"Workspace〞列表切換成"sim〞欄,如下圖:Runningthesimulation運(yùn)行仿真器進(jìn)展仿真的步驟如下:〔1〕將信號(hào)參加到波形窗口中。在"Workspace〞列表內(nèi),選擇"sim〞欄。右鍵點(diǎn)擊測試文件生成的設(shè)計(jì)單元,在彈出的列表里選擇"Add>AddtoWave〞,如下圖:參加信號(hào)后的波形窗口如下圖:也可以在"Objects〞列表里選擇感興趣的信號(hào)參加到波形窗口里。方法是選**號(hào),右鍵單擊此信號(hào),在彈出的列表里選擇"AddtoWave〞,會(huì)彈出三個(gè)選項(xiàng),如下圖:其中:"SelectedSignals〞項(xiàng):表示參加到波形窗口中的信號(hào)是被選中的信號(hào),即圖中"Objects〞列表里的"count〞信號(hào)。"SignalsinRegion〞項(xiàng):表示參加到波形窗口中的信號(hào)是"Objects〞列表里的所有信號(hào),即圖中"Objects〞列表里的"clk〞、"reset〞和"count〞信號(hào)。"SignalsinDesign〞項(xiàng):表示參加到波形窗口中的信號(hào)是測試文件生成的設(shè)計(jì)單元里的所有信號(hào),即圖中"Workspace〞列表里的"test_counter〞下面展開的所有設(shè)計(jì)單元的信號(hào)。其中"SignalsinDesign〞的效果與上一種方法效果是一樣的?!?〕運(yùn)行仿真器,開場仿真。點(diǎn)擊"run〞按鈕,就可以進(jìn)展仿真了,如下圖:需要注意的是,"run〞按鈕每次只能仿真100ns,如果要一直仿真下去的話,點(diǎn)擊"runall〞按鈕可以實(shí)現(xiàn)。如下圖:如果要停頓仿真,可以按"break〞按鈕,如下圖:如果要重新仿真,可以按"restart〞按鈕,如下圖:Debuggingyourresults對(duì)仿真波形進(jìn)展分析,確定邏輯是否正確。如果沒有得到你要的仿真結(jié)果,則需要修改設(shè)計(jì)文件,并重新編譯,加載到仿真器中進(jìn)展仿真。注:ModelSim的編譯器在對(duì)設(shè)計(jì)文件進(jìn)展編譯時(shí),并不會(huì)對(duì)設(shè)計(jì)文件進(jìn)展綜合,即將設(shè)計(jì)文件與硬件對(duì)應(yīng),這點(diǎn)從上面的仿真步驟也可以看出,仿真步驟中并沒有選擇器件型號(hào)的步驟。因此編譯時(shí)生成的設(shè)計(jì)單元并沒有包含硬件信息,即不會(huì)存在器件延時(shí),所以只用ModelSim作的仿真是一種功能仿真,有時(shí)也稱為"前仿真〞。如果想用ModelSim作仿真時(shí)參加器件的延時(shí)信息,模擬硬件來仿真,則需要Quartus的配合才能完成。參加器件延時(shí)信息的仿真稱為"后仿真〞,仿真結(jié)果接近真實(shí)器件的運(yùn)行結(jié)果。關(guān)于ModelSim作"后仿真〞,有興趣的讀者可查閱相關(guān)資料自學(xué),我們這里只介紹"前仿真〞。Testbench寫法簡要介紹描述測試信號(hào)的變化和測試過程的模塊叫做測試平臺(tái)〔Testbench〕,它可以對(duì)電路模塊進(jìn)展動(dòng)態(tài)的測試。通過觀測被測試模塊的輸出信號(hào)是否符合要求,可以調(diào)試和驗(yàn)證邏輯系統(tǒng)的設(shè)計(jì)和構(gòu)造是否正確,便于發(fā)現(xiàn)問題并修改。Testbench用于測試模塊的示意圖如下圖:由示意圖可知,Testbench要對(duì)被測模塊進(jìn)展測試,需要產(chǎn)生被測模塊所需的鼓勵(lì)信號(hào)〔比方時(shí)鐘信號(hào),復(fù)位信號(hào)等〕,這個(gè)就像我們用Quartus波形仿真時(shí)拖波形一樣,只是Testbench里需要我們用代碼來實(shí)現(xiàn)波形的變化。產(chǎn)生的鼓勵(lì)信號(hào)需要與被測模塊對(duì)口〔比方產(chǎn)生的時(shí)鐘信號(hào)要送入時(shí)鐘輸入口,產(chǎn)生的復(fù)位信號(hào)要送入復(fù)位輸入口等〕,如何實(shí)現(xiàn)對(duì)口,這就需要對(duì)被測試模塊的例化來實(shí)現(xiàn)。例化的寫法如下:被測模塊名 例化進(jìn)Testbench后的模塊名〔.被測模塊輸入口 Testbench產(chǎn)生的鼓勵(lì)信號(hào),.被測模塊輸出口 Testbench里用來顯示輸出的信號(hào)〕;上面的示意圖對(duì)應(yīng)的例化寫法為:被測模塊名例化進(jìn)Testbench后的模塊名( .Input_1 (In_1), .Input_2 (In_2), .Input_3 (In_3), .Output_1 (Out_1), .Output_2 (Out_2), .Output_3 (Out_3));更具體的寫法請(qǐng)參考Testbench模版。10位全加器的功能仿真實(shí)驗(yàn)要求【輸入端口】 【輸出端口】clk, //模塊時(shí)鐘 dout[9:0], //和數(shù)rst, //模塊復(fù)位 cout //高位進(jìn)位din_1[9:0], //加數(shù)1din_2[9:0], //加數(shù)2cin //低位進(jìn)位以抓圖的方式給出仿真波形圖,并對(duì)結(jié)果作適當(dāng)分析。補(bǔ)充說明`timescale10ns/1ns時(shí)鐘clk的產(chǎn)生寫法:InitialClk=0;always#50clk=~clk; //表示從仿真開場算起,每隔50個(gè)時(shí)間單位,將clk翻轉(zhuǎn)一次復(fù)位rst的產(chǎn)生寫法:Initial //下面的寫法使rst=1持續(xù)的時(shí)間為120個(gè)時(shí)間單位begin#0 rst=1'b0; //仿真開場時(shí),rst置0#5 rst=1'b1; //仿真開場后5個(gè)時(shí)間單位時(shí),rst置1#125 rst=1'b0; //仿真開場后125個(gè)時(shí)間單位時(shí),rst置0end加數(shù)的產(chǎn)生寫法:always(negedgeclk)//時(shí)鐘下降沿將加數(shù)改變begindi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽車租賃協(xié)議策劃范例
- 2025年二手住宅交易合同補(bǔ)充協(xié)議策劃大綱
- 2025年產(chǎn)品銷售代理合同協(xié)議范本
- 2025年服裝品牌代理銷售合同協(xié)議
- 2025年事業(yè)單位策劃性留職協(xié)議暫停執(zhí)行
- 2025年循環(huán)借款合同規(guī)范
- 2025年保證金協(xié)議性范本
- 2025年二手共有產(chǎn)權(quán)房屋交易合同范本
- 2025年傳媒企業(yè)戰(zhàn)略聯(lián)盟協(xié)議示例
- 2025年企業(yè)并購股權(quán)轉(zhuǎn)讓的合同
- 門診診所運(yùn)行管理制度
- 湖南省懷化市2024-2025學(xué)年九年級(jí)上學(xué)期期末化學(xué)試題(含答案)
- “5E”教學(xué)模式下高中數(shù)學(xué)教學(xué)實(shí)踐研究
- 《醫(yī)學(xué)影像檢查技術(shù)學(xué)》課件-踝X線攝影
- 急救藥品知識(shí)培訓(xùn)內(nèi)容
- 電工基礎(chǔ)知識(shí)(全套)
- 體育館施工圖設(shè)計(jì)合同
- 2025年福建省漳州臺(tái)商投資區(qū)招聘非占編人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 四川省成都市成華區(qū)2024年中考語文二模試卷附參考答案
- 《西蘭花全程質(zhì)量安全控制技術(shù)規(guī)范》
- 2025年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)復(fù)習(xí)題庫及答案(200題)
評(píng)論
0/150
提交評(píng)論