資源描述:
《基于ModelSim的仿真》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第4章基于ModelSim的仿真4.1ModelSim的仿真方法4.2QuartusII和ModelSim聯(lián)合仿真4.1ModelSim的使用方法4.1.1ModelSim軟件簡介ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真器。它提供最友好的調(diào)試環(huán)境,是業(yè)界唯一單一內(nèi)核支持VHDL、VerilogHDL和SystemC混合仿真的仿真器,同時(shí)也支持業(yè)界最廣泛的標(biāo)準(zhǔn)如Verilog2001、SystemVerilog等,內(nèi)部集成了用于C/C++,PLI/FLI和SystemC的集成C調(diào)試器。支持眾多的ASIC和FPGA廠家?guī)欤梢杂?/p>
2、于FPGA和ASIC設(shè)計(jì)的RTL級和門級電路仿真。是作FPGA/ASIC設(shè)計(jì)的RTL級和門級電路仿真的首選全面支持UNIX(包括64位)、Linux和Windows平臺(tái)。ModelSim分幾種不同的版本:SE、PE和OEM,其中集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計(jì)工具中的均是其OEM版本。比如為Altera提供的OEM版本是ModelSim-Altera,為Xilinx提供的版本為ModelSimXE.SE版本為最高級版本,在功能和性能方面比OEM版本強(qiáng)很多,比如仿真速度
3、方面,還支持PC、UNIX、LIUNX混合平臺(tái)。3為什么要學(xué)Modelsim?1.2.Modelsim的安裝同許多其他軟件一樣,ModelsimSE同樣需要合法的License,通常我們用Kengen產(chǎn)生license.dat。⑴解壓安裝工具包開始安裝,安裝時(shí)選擇Fullproduct安裝。當(dāng)出現(xiàn)InstallHardwareSecurityKeyDriver時(shí)選擇否。當(dāng)出現(xiàn)AddModelsimToPath選擇是。出現(xiàn)ModelsimLicenseWizard時(shí)選擇Close。⑵在C盤根目錄新建一個(gè)文件夾flexlm,用Key
4、gen產(chǎn)生一個(gè)license.dat,然后復(fù)制到該文件夾下。⑶修改系統(tǒng)的環(huán)境變量。右鍵點(diǎn)擊桌面我的電腦圖標(biāo),屬性->高級->環(huán)境變量->(系統(tǒng)變量)新建。按下圖所示內(nèi)容填寫,變量值內(nèi)如果已經(jīng)有別的路徑了,請用“;”將其與要填的路徑分開。LM_LICENSE_FILE=c:flexlmlicense.dat5仿真仿真分為功能仿真,門級仿真,時(shí)序仿真功能仿真(前仿真,代碼仿真)主旨在于驗(yàn)證電路的功能是否符合設(shè)計(jì)要求,其特點(diǎn)是不考慮電路門延遲與線延遲,主要是驗(yàn)證電路與理想情況是否一致??删C合FPGA代碼是用RTL級代碼語言描述的,
5、其輸入為RTL級代碼與Testbench.在設(shè)計(jì)的最初階段發(fā)現(xiàn)問題,可節(jié)省大量的精力門級仿真和時(shí)序列仿真(后仿真)使用綜合軟件綜合后生成的門級網(wǎng)表進(jìn)行仿真,不加入時(shí)延文件的仿真就是門級仿真.可以檢驗(yàn)綜合后的功能是否滿足功能要求,其速度比功能仿真要慢,比時(shí)序仿真要快.在門級仿真的基礎(chǔ)上加入時(shí)延文件(.sdf)的仿真就是時(shí)序仿真,比較真實(shí)地反映了邏輯的時(shí)延與功能.綜合考慮電路的路徑延遲與門延遲的影響,驗(yàn)證電路能否在一定時(shí)序條件下滿足設(shè)計(jì)構(gòu)想的過程,是否存在時(shí)序違64.1.2基本仿真步驟建立工作庫/建立資源庫編譯源代碼啟動(dòng)仿真器執(zhí)行仿
6、真4.1.3各個(gè)界面介紹ModelSim仿真軟件在默認(rèn)條件下提供了主窗口、結(jié)構(gòu)窗口、源程序窗口、信號窗口、進(jìn)程窗口、變量窗口、數(shù)據(jù)流窗口、波形窗口、存儲(chǔ)器窗口、列表窗口等11種不同的用戶窗口。主窗口主窗口在ModelSim啟動(dòng)時(shí)直接打開的,是所有其他窗口運(yùn)行的基礎(chǔ)。通常情況下主窗口分為工作區(qū)和腳本區(qū)(也叫命令控制臺(tái))兩個(gè)部分,通過工作區(qū)可以很方便地對當(dāng)前的工程的工作庫以及所有打開的數(shù)據(jù)集合等進(jìn)行控制,通過命令控制臺(tái)可以在ModelSim的提示符下輸入所有ModelSim命令,并且可將命令執(zhí)行結(jié)果反饋回來,便于實(shí)時(shí)掌握運(yùn)行情況。主
7、窗口的典型形式如所示。工作區(qū)腳本區(qū)命令輸入數(shù)據(jù)流窗口數(shù)據(jù)流窗口(Dataflow)是一般仿真軟件都提供的一個(gè)通用窗口,通過該窗口可以跟蹤設(shè)計(jì)中的物理連接,跟蹤設(shè)計(jì)中事件的傳播,也可以用來跟蹤寄存器、網(wǎng)線和進(jìn)程,極大地豐富了調(diào)試方法。數(shù)據(jù)流窗口中可以顯示進(jìn)程(可以是Verilog的一個(gè)模塊)、信號、網(wǎng)線和寄存器等,也可以顯示設(shè)計(jì)中的內(nèi)部連接。窗口中有一個(gè)內(nèi)置的符號表,映射了所有的Verilog基本門,例如與門、非門等,這些符號可以在數(shù)據(jù)流窗口中顯示。其他的Verilog基本組件可以使用模塊或者用戶定義的符號在數(shù)據(jù)流窗口中顯示。數(shù)據(jù)
8、流窗口中的符號都使用了類似[#ASSIGN#23#2]、[#ALWAY#56]或[〈module_name〉]等信息進(jìn)行說明,其中第一個(gè)#說明了這個(gè)符號的語句,第二個(gè)#后面緊跟了產(chǎn)生這個(gè)符號的語句所在的源文件中的行號,第三個(gè)#說明了這個(gè)語句在源文件中屬于當(dāng)前行的