




免費(fèi)預(yù)覽已結(jié)束,剩余9頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ModelSim的仿真仿真的分類仿真過程是正確實(shí)現(xiàn)設(shè)計(jì)的關(guān)鍵環(huán)節(jié),用來驗(yàn)證設(shè)計(jì)者的設(shè)計(jì)思想是否正確,及在設(shè)計(jì)實(shí)現(xiàn)過程中各種分布參數(shù)引入后,其設(shè)計(jì)的功能是否依然正確無誤。仿真主要分為功能仿真和時(shí)序仿真。功能仿真是在設(shè)計(jì)輸入后進(jìn)行; 時(shí)序仿真是在邏輯綜合后或布局布線后進(jìn)行。1). 功能仿真 ( 前仿真 ) 功能仿真是指在一個(gè)設(shè)計(jì)中, 在設(shè)計(jì)實(shí)現(xiàn)前對(duì)所創(chuàng)建的邏輯進(jìn)行的驗(yàn)證其功能是否正確的過程。 布局布線以前的仿真都稱作功能仿真, 它包括綜合前仿真( Pre-Synthesis Simulation )和綜合后仿真( Post-Synthesis Simulation )。 綜合前仿真主要針對(duì)基于原理框圖的設(shè)計(jì) ; 綜合后仿真既適合原理圖設(shè)計(jì) , 也適合基于 HDL 語言的設(shè)計(jì)。 2). 時(shí)序仿真(后仿真) 時(shí)序仿真使用布局布線后器件給出的模塊和連線的延時(shí)信息, 在最壞的情況下對(duì)電路的行為作出實(shí)際地估價(jià)。 時(shí)序仿真使用的仿真器和功能仿真使用的仿真器是相同的, 所需的流程和激勵(lì)也是相同的; 惟一的差別是為時(shí)序仿真加載到仿真器的設(shè)計(jì)包括基于實(shí)際布局布線設(shè)計(jì)的最壞情況的布局布線延時(shí), 并且在仿真結(jié)果波形圖中,時(shí)序仿真后的信號(hào)加載了時(shí)延, 而功能仿真沒有。 后仿真也稱為時(shí)序仿真或者布局布線后仿真,是指電路已經(jīng)映射到特定的工藝環(huán)境以后,綜合考慮電路的路徑延遲與門延遲的影響,驗(yàn)證電路能否在一定時(shí)序條件下滿足設(shè)計(jì)構(gòu)想的過程,是否存在時(shí)序違規(guī)。其輸入文件為從布局布線結(jié)果中抽象出來的門級(jí)網(wǎng)表、Testbench 和擴(kuò)展名為 SDO 或 SDF 的標(biāo)準(zhǔn)時(shí)延文件。SDO 或 SDF 的標(biāo)準(zhǔn)時(shí)延文件不僅包含門延遲,還包括實(shí)際布線延遲,能較好地反映芯片的實(shí)際工作情況。一般來說后仿真是必選的,檢查設(shè)計(jì)時(shí)序與實(shí)際的 FPGA 運(yùn)行情況是否一致,確保設(shè)計(jì)的可靠性和穩(wěn)定性。仿真的作用)設(shè)計(jì)出能工作的電路:因此功能仿真不是一個(gè)孤立的過程,其和綜合、時(shí)序分析等形成一個(gè)反饋工作過程,只有這個(gè)過程收斂,各個(gè)環(huán)節(jié)才有意義。而孤立的功能仿真通過是沒有意義的,如果在時(shí)序分析過程中發(fā)現(xiàn)時(shí)序不滿足需要更改代碼,則功能仿真必須從新進(jìn)行。因此正確的工作流程是:將設(shè)計(jì)劃分成便于團(tuán)隊(duì)協(xié)調(diào)工作的“模塊”編寫/修改模塊代碼 (電路的90%的性能由 Coding Style 決定)在模塊及進(jìn)行功能仿真針對(duì)特定的期間或工藝綜合模塊,分析電路是否滿足時(shí)序約束要求不滿足)代碼排錯(cuò):功能仿真是代碼排錯(cuò)的最重要的手段之一。)仿真檢驗(yàn)代碼質(zhì)量的一個(gè)重要手段。測試激勵(lì)的代碼覆蓋率至少要達(dá)到95以上,才能基本認(rèn)為代碼在邏輯上是通過質(zhì)量控制的,才能進(jìn)入綜合步驟;)在大的設(shè)計(jì)中,如果想通過一個(gè)激勵(lì)就驗(yàn)證完一個(gè)設(shè)計(jì)或者模塊是不現(xiàn)實(shí)的。一方面是從邏輯功能上很難做到;另外一方面是因?yàn)槿绻谝粋€(gè)激勵(lì)中包括了各種情況,整個(gè)仿真過程的速度會(huì)隨著計(jì)算機(jī)內(nèi)存的消耗而成線性下降,效率低下,而利用仿真能很好地解決這些問題。)通常的做法是每一個(gè)激勵(lì)只驗(yàn)證電路功能的某個(gè)方面。整個(gè)電路的功能驗(yàn)證由數(shù)個(gè)激勵(lì)共同完成。在這種驗(yàn)證方法中代碼覆蓋率更顯重要,因?yàn)榭梢酝ㄟ^代碼覆蓋率來控制激勵(lì)對(duì)功能的覆蓋程度。)modelsim的Code coverage不但能記錄各個(gè)激勵(lì)對(duì)代碼的“行覆蓋”和“分支覆蓋”,而且能夠?qū)⒏鱾€(gè)激勵(lì)的覆蓋記錄進(jìn)行合并,做到對(duì)覆蓋率的全面監(jiān)測。仿真的過程)綜合前的功能仿真下面以一個(gè)線性反饋移位寄存器為例用ModelSim進(jìn)行功能仿真,由于用編寫do文件的方法進(jìn)行仿真能極大提高仿真設(shè)計(jì)的效率,我們采用編寫do文件的方式來仿真。編寫TestBench文件。編寫do文件。打開ModelSim,打開命令File-New-Project,在窗口中輸入工程名LFSR_MS,并制定do文件所在文件夾路徑。 命令控制欄中直接輸入“run sim.do”按回車進(jìn)行仿真,并查看波形。)綜合后功能仿真為工程添加庫文件。去除modelsim安裝目錄下modelsim.ini的只讀屬性(使得這個(gè).ini的配置文件可以被修改)打開odelsim,更改目錄File-Change directory到根目錄下。新建一個(gè)庫取名為alteralibrary。我使用的是odelsim的6.2b版本,步驟是:File-New-Library,打開之后在Library Name中寫上alteralibrary,點(diǎn)擊ok就可以了。 在Quartus安裝目錄先找到四個(gè)庫文件,我的目錄是F:Program Files Quartusquartusedasim_lib,并復(fù)制到D:FPGA_ExampleLFSRModelSim目錄下待用。在odelsim的環(huán)境下對(duì)alteralibrary庫文件進(jìn)行編譯。步驟是Compile -Compile,打開對(duì)話框,Library中選擇你剛才建的庫名alteralibrary,在查找范圍內(nèi)添加第三部我們從Quartus中復(fù)制過來的庫文件,我這里是D:FPGA_ ExampleLFSRModelSim,如果你是用vhdl編寫代碼的則選擇vhdl,verilog編寫代碼的話就選verilog(我選擇的是verilog),再點(diǎn)擊Compile,編譯完成后點(diǎn)擊done。這樣我們的庫文件就編譯完成了,其編譯后的文件就存放在我們建立的庫文件alteralibrary中。打開Modelsim.ini文件,在Library下可以看到alteralibrary = alteralibrary,那就修改下路徑就成alteralibrary存放的路徑,我把路徑修改為D:/FPGA_Example/LFSR/ModelSim/Postsim/alteralibrary。再把Modelsim.ini的只讀屬性選上就可以開工了,重啟Modelsim就能在Library欄看到你添加的庫啦。在Quartus中打開Assignment- Setting - Simulation,在Tool name中選擇Modelsim,在Output Directory中指定生成的網(wǎng)表文件的路徑,在more setting中將Generate Netlist for Functional Simulation Only中選擇ON,點(diǎn)擊仿真就能在你指定的文件夾中輸出仿真所需要的網(wǎng)表文件。在Modelsim中新建工程,并添加網(wǎng)表文件和TestBench文件,并編譯。 仿真。首先執(zhí)行Simulate-Start Simulation 在窗口中的Libraries中選擇add添加alteralibrary庫文件,在work中選擇仿真的TestBench文件,點(diǎn)擊OK.添加波形并仿真。點(diǎn)擊View- Wave,然后將Object中的端口添加到波形查看窗口中,在狀態(tài)命令欄中輸入run 20000,就能查看波形了。).布線后的時(shí)序仿真對(duì)于布線后的時(shí)序仿真我們需要布線后的網(wǎng)表,延時(shí)文件*.sdo,testbench文件,仿真原型文件。其仿真過程和綜合后的仿真過程大體一致,只是添加的文件有所不同,這里不再重復(fù)。附錄:線性移位寄存器verilog程序:module LFSR(/input portsSYSCLK,RST_B,/output portDATA_OUT);/=/input and output declaration/=input SYSCLK;input RST_B;output 7:0 DATA_OUT;/=/wire and reg declaration/=wire SYSCLK;wire RST_B;reg 7:0 DATA_OUT;wire 7:0 DATA_OUT_N;wire DO_GEN;/=/logic/=always(posedge SYSCLK or negedge RST_B)beginif(!RST_B)DATA_OUT = 8b00000001;elseDATA_OUT = DATA_OUT_N;endassign DO_GEN= DATA_OUT7DATA_OUT3DATA_OUT2DATA_OUT1;assign DATA_OUT_N = DATA_OUT6:0,DO_GEN;endmoduletestbench程序:module LFSR_TB;reg SYSCLK;reg RST_B;wire 7:0 DATA_OUT;LFSR I_LFSR_TB(.SYSCLK (SYSCLK),.RST_B (RST_B ),.DATA_OUT(DATA_OUT);always #20 SYSCLK = SYSCLK;initialbegin #0 SYSCLK = 0; RST_B = 0; #50 RST_B = 1; end endmoduledo文件程序:#新建一個(gè)工作庫vlib work#將建立的一個(gè)工程與工作庫之間映射vmap work work#編譯兩個(gè)文件vl
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泰康人壽筆試題目及答案
- 解析美術(shù)設(shè)計(jì)師考試復(fù)習(xí)的常見問題試題及答案
- 2025年養(yǎng)老地產(chǎn)市場需求特征與產(chǎn)品設(shè)計(jì)創(chuàng)新方向研究報(bào)告
- 2025年生物質(zhì)能源在分布式能源系統(tǒng)中的分布式能源市場優(yōu)化報(bào)告
- 廣告設(shè)計(jì)師在創(chuàng)作中的技術(shù)應(yīng)用與考試要求試題及答案
- 沐川中考數(shù)學(xué)試題及答案
- 愛情修煉測試題及答案
- 民生保障政策試題及答案
- 紡織材料的可持續(xù)性分析試題及答案
- 燈具導(dǎo)購考試題及答案
- 創(chuàng)新教學(xué)任務(wù)
- 工業(yè)管道的分類和分級(jí)
- 淺談膿毒血癥的集束化治療及護(hù)理-PPT課件
- 架子工班組承包協(xié)議
- 機(jī)器人任務(wù)規(guī)劃
- 化驗(yàn)室化學(xué)試劑臺(tái)賬范例
- 楊家灣220KV變電站工程預(yù)算表
- 易拉罐回收機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 第七課:構(gòu)圖的形式
- 六類網(wǎng)線檢測報(bào)告(共9頁)
- 教師素養(yǎng)試題及答案
評(píng)論
0/150
提交評(píng)論