版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、報(bào)告人:余舟電子科技大學(xué)Mentor Graphics公司 EDA/SOC設(shè)計(jì)及培訓(xùn)中心v內(nèi)容:熟悉ModelSim5.6的仿真環(huán)境, 學(xué)習(xí) ModelSim的使用v面向?qū)ο螅篍DA設(shè)計(jì)大賽參賽人員v培訓(xùn)單位:電子科技大學(xué)Mentor Graphics公司 EDA/SOC設(shè)計(jì)及培訓(xùn)中心vEDA設(shè)計(jì)概述vModelSim產(chǎn)品簡(jiǎn)介v用ModelSim進(jìn)行功能仿真v用ModelSim進(jìn)行時(shí)序仿真v具體使用及討論時(shí)間系統(tǒng)產(chǎn)品設(shè)計(jì)規(guī)范設(shè)計(jì)輸入RTL仿真設(shè)計(jì)綜合門(mén)級(jí)仿真布局和布線時(shí)序分析系統(tǒng)上驗(yàn)證修改設(shè)計(jì)v由Mentor Graphics公司 的子公司Model Tech公司開(kāi)發(fā)v工業(yè)上最通用的仿真器之一
2、v支持Verilog 和 VHDL仿真 OEM版本允許Verilog仿真 或者或者 VHDL 仿真vModelSim/SE 首要的版本,能混合仿真Verilog 和 VHDLvModelSim/XE OEM版,包含Xilinx公司的庫(kù)文件vModelSim/AE OEM版,包含Altera公司的庫(kù)文件ModelSim 用戶界面main主窗口:structure結(jié)構(gòu)窗口process處理窗口:Signal&variable信號(hào)和變量窗口dataflow數(shù)據(jù)流窗口source源窗口Wave&list波形和列表窗口Main 窗口lModelSim -這是設(shè)計(jì)加載前的提示符-能瀏覽幫助, 編輯庫(kù), 編
3、輯源代碼而不用調(diào)用一個(gè)設(shè)計(jì)lVSIM -設(shè)計(jì)加載后顯示的提示符 -告訴我們仿真器的行為動(dòng)作(命令、信息、聲明)Main 窗口:庫(kù)lDesign Menu - Browse Libraries 加入新庫(kù)或編輯已有的庫(kù) 瀏覽和編輯庫(kù)目錄Main 窗口:?jiǎn)?dòng)窗口lDesign Menu - Load New Design 用于選擇要加載的設(shè)計(jì)l選擇: 時(shí)間分辨率l支持 1, 10,100等多種時(shí)間尺度 包含頂級(jí)設(shè)計(jì)單元的庫(kù) 頂級(jí)設(shè)計(jì)單元lEntity/Architecturel構(gòu)造l模塊Main 窗口:選項(xiàng)lOptions Menu -Simulation OptionsStructure 窗口l設(shè)
4、計(jì)的結(jié)構(gòu)多層瀏覽 VHDL (oo) - Package, component instantiation, generate and block statements Verilog () module實(shí)例, named fork, named begin, task, 和 function Instantiation label, entity/module, architecture 成為當(dāng)前層 for Source 和 Signals 窗口, updates Process 和Variables 窗口Source 窗口Source 窗口l描述 顯示所選的HDL項(xiàng)的信息l檢查 顯示所選H
5、DL項(xiàng)當(dāng)前仿真值1) 高亮信號(hào), 變量, 常數(shù), 線網(wǎng), 或寄存器右擊鼠標(biāo) (或 Object Menu - Examine/Description)Process 窗口l顯示外部和內(nèi)部的處理lView - Active 顯示當(dāng)前仿真眾所有在執(zhí)行前預(yù)定的processeslView - In Region 顯示在Structure 窗口中選定的所有processes 的名字Process 窗口l顯示外部和內(nèi)部的處理lView - Active 顯示當(dāng)前仿真眾所有在執(zhí)行前預(yù)定的processeslView - In Region 顯示在Structure 窗口中選定的所有processes 的名
6、字l指示器 l被預(yù)定執(zhí)行的Process l處理正等待 VHDL 信號(hào)或Verilog 線網(wǎng)改變 或等待超時(shí) lProcess has executed a VHDL wait statement without a time-out or sensitivity listSignals 窗口l緊跟Structure窗口 顯示Structure窗口的當(dāng)前層HDL項(xiàng)的名稱和值l層次 - (+)可展開(kāi)的, (-)已展開(kāi)的lVHDL 信號(hào),Verilog 線網(wǎng), 寄存器變量和已命名的時(shí)間l可拖放到Wave和List窗口Dataflow窗口lVHDL信號(hào)或Verilog線網(wǎng)的圖形描繪 信號(hào)或線網(wǎng)在窗口
7、中央 驅(qū)動(dòng)信號(hào)or線網(wǎng)的Processes在左邊 讀信號(hào)或者被線網(wǎng)驅(qū)動(dòng)的Processes 在右邊Wave窗口Adjustable spacingbetween signalsVHDL VariableColor-coding on a signal-by-signal basisCursor Measurementlist窗口l用表格顯示仿真結(jié)果 VHDL 信號(hào)和過(guò)程變量 Verilog 線網(wǎng)和寄存器變量l從這個(gè)窗口或到這個(gè)窗口“拖放”l編輯功能 查找l建立用戶定義的總線 - EditCombinel設(shè)置觸發(fā)和選通l標(biāo)記 - Add, Delete 或 GotoVariables窗口l列出
8、HDL 項(xiàng)的名稱 VHDL 常數(shù), generics 和變量 Verilog 寄存器變量l到當(dāng)前過(guò)程的路徑被顯示在左下l樹(shù)層次 - (+)可展開(kāi)的, (-)已展開(kāi)的l可改變 選擇HDL項(xiàng)改變值l可瀏覽 在Wave 或 List 窗口 或 log 文件的項(xiàng) 選擇變量或?qū)又械淖兞縱功能仿真的含義v功能仿真的實(shí)現(xiàn)方法v基本的仿真步驟功能仿真的含義:v驗(yàn)證設(shè)計(jì)模塊的基本邏輯功能,屬于最基本的驗(yàn)證v不帶有布局布線后產(chǎn)生的時(shí)序信息ModelSim 的實(shí)現(xiàn)方法:v交互式的命令行 (Cmd) 利用控制臺(tái)的命令行v用戶界面 (UI) 能接受菜單輸入和命令行輸入v批處理模式 從DOS或UNIX命令行運(yùn)行批處理文件
9、基本仿真步驟:1 建立庫(kù)2 映射庫(kù)到物理目錄3 編譯源代碼- 所有的HDL代碼必須被編譯- Verilog和VHDL是不同的4 啟動(dòng)仿真器5 執(zhí)行仿真1 建立庫(kù)UI) 從主菜單里面: Design - Create a New LibraryCmd) 從main, 記錄窗口:ModelSim vlib 2 映射庫(kù)到物理目錄UI) 從主菜單: Design - Browse Libraries Design - Create a New LibraryCmd) 從主體的記錄窗口:ModelSim vmap 其他庫(kù)命令lvdel從指定的庫(kù)中刪除一個(gè)完整的庫(kù)或者一個(gè)設(shè)計(jì)單元UI) Design -
10、Library Browser (刪除庫(kù)或者映射)UI) Design - View Library Contents (刪除設(shè)計(jì)單元)Cmd) vdel -lib lvdir顯示指定庫(kù)的內(nèi)容UI) Design - View Library ContentsCmd) vdir -lib 3 編譯源代碼(VHDL)vUI) Design - CompileCmd) vcom -work .vhd .vhd文件按出現(xiàn)的順序被編譯文件中單元的編譯次序見(jiàn)下一頁(yè)v缺省的是87 VHDLUI) 用Default Options 按鈕設(shè)為93Cmd) 用 -93 選項(xiàng)(必須是第一個(gè)參數(shù)) v缺省編譯到wo
11、rk庫(kù)3 編譯源代碼(VHDL)VHDL設(shè)計(jì)單元的編譯順序:vEntity 在 Architecture之前編譯vPackage Declaration 在 Package Body之前編譯v設(shè)計(jì)單元必須在引用前被編譯 Packages在 Entity/Architectures 使用其之前編譯 Entities/Configurations 在 Architectures 引用它之前編譯v配置文件最后編譯3 編譯源代碼(Verilog)vUI) Design - CompilevCmd) vlog -work .v .v文件按出現(xiàn)的順序被編譯文件的順序或者編輯的順序不重要v支持增量式編譯(只
12、有被改動(dòng)的設(shè)計(jì)單元被編譯)v缺省編譯到work庫(kù)例如. vlog my_design.v3 編譯源代碼點(diǎn)亮一個(gè)或多個(gè)文點(diǎn)亮一個(gè)或多個(gè)文件并點(diǎn)擊件并點(diǎn)擊 Compile3 編譯源代碼-錯(cuò)誤信息錯(cuò)誤信息在錯(cuò)誤信息在 Main 窗口顯示窗口顯示在信息上雙擊,引起在信息上雙擊,引起錯(cuò)誤的代碼在錯(cuò)誤的代碼在 Source 窗口被點(diǎn)亮窗口被點(diǎn)亮4 啟動(dòng)仿真器vUI) Design - Load New DesignCmd) vsim -lib vVHDLvsim top_entity top_architecturevVerilogvsim top_level1 top_level2l仿真多個(gè)top級(jí)模塊
13、4 啟動(dòng)仿真器選擇仿真器的分辨率選擇仿真器的分辨率選擇庫(kù)選擇庫(kù)選擇頂級(jí)選擇頂級(jí)module 或或 entity/architecture4 啟動(dòng)仿真器指定指定 SDF文件文件使用定時(shí)值的等級(jí)的使用定時(shí)值的等級(jí)的類型類型 (如果不是頂級(jí)如果不是頂級(jí))4 啟動(dòng)仿真器-vsim 命令的參數(shù)l參數(shù) -t l指定仿真的時(shí)間分辨率l單位可以是fs, ps, ns, ms, sec, min, hrl如果用了 Verilog的 timescale指令, 將使用整個(gè)設(shè)計(jì)中的最小的時(shí)間精度l可選項(xiàng)(缺省是 ns) -sdfmin | -sdftyp | -sdfmax =l注釋SDF文件l可選項(xiàng)l使用實(shí)例名也是
14、可選項(xiàng); 如果沒(méi)有使用, SDF用于頂級(jí)5 執(zhí)行仿真vUI) RunCMD) run v按timesteps指定的時(shí)間長(zhǎng)度執(zhí)行仿真5 執(zhí)行仿真(UI)選擇選擇 timesteps數(shù)量就數(shù)量就可以執(zhí)行仿真可以執(zhí)行仿真Restart 重裝任何已改動(dòng)重裝任何已改動(dòng)的設(shè)計(jì)元素并把仿真時(shí)間設(shè)的設(shè)計(jì)元素并把仿真時(shí)間設(shè)為零為零COM) restart5 執(zhí)行仿真-run 命令參數(shù)命令參數(shù)n可選的參數(shù) - 指定運(yùn)行的timesteps數(shù)量單位可用fs, ps, ns, ms, sec -stepSteps to the next HDL statement -continue繼續(xù)上次在-step或斷點(diǎn)后的仿真
15、 -all運(yùn)行仿真器直到?jīng)]有其他的事件5 執(zhí)行仿真-run 命令舉例命令舉例vrun 1000 從當(dāng)前位置運(yùn)行仿真 1000 timestepsvrun 2500 ns 從當(dāng)前位置運(yùn)行仿真2500 nsvrun 3000 運(yùn)行仿真到 timestep 30005 執(zhí)行仿真-仿真器激勵(lì)v測(cè)試臺(tái) Verilog 或 VHDL代碼非常復(fù)雜的仿真(交互式仿真、數(shù)據(jù)量大的仿真)vforce命令簡(jiǎn)單的模塊仿真直接從命令控制臺(tái)輸入.DO 文件 (宏文件)5 執(zhí)行仿真-仿真器激勵(lì)vforce命令簡(jiǎn)單的模塊仿真直接從命令控制臺(tái)輸入.DO 文件 (宏文件)v測(cè)試臺(tái)(test bench) Verilog 或 VH
16、DL代碼非常復(fù)雜的仿真(交互式仿真、數(shù)據(jù)量大的仿真)5 執(zhí)行仿真-仿真器激勵(lì)Force命令v允許用戶給VHDL的信號(hào)和Verilog的線網(wǎng)予以激勵(lì)v常規(guī)語(yǔ)法: force , v參數(shù)5 執(zhí)行仿真-仿真器激勵(lì)Force命令參數(shù) item_name-被激勵(lì)的HDL項(xiàng)的名稱,是必選的-必須是一個(gè)標(biāo)量-可以是一個(gè)被編址的陣列, 陣列的一部分-可以采用通配符(在只有一個(gè)匹配的時(shí)候) value-被激勵(lì)項(xiàng)的值,是必選的-必須適合該項(xiàng)的數(shù)據(jù)類型 time-指定值的時(shí)間單位,可選的-相對(duì)于當(dāng)前的仿真時(shí)間,用 character指定絕對(duì)時(shí)間-時(shí)間單位能被指定,缺省值是仿真分辨率ValueDescription
17、1111 character sequence 2#1111 binary radix 10#15 decimal radix 16#F hexadecimal radix5 執(zhí)行仿真-仿真器激勵(lì)Force命令參數(shù) -repeat -在指定周期重復(fù)force命令,是可選的 -cancel -在指定周期后取消強(qiáng)制force命令,是可選的5 執(zhí)行仿真-仿真器激勵(lì)Force命令舉例:vforce clr 0在當(dāng)前仿真時(shí)間強(qiáng)制 clr 到 0vforce bus1 01XZ 100 ns在當(dāng)前仿真時(shí)間后100ns強(qiáng)制 bus1到 01XZvforce bus2 16#4F 200仿真啟動(dòng)后強(qiáng)制 bus
18、2到 4F直到200時(shí)間單位 ,分辨率在仿真啟動(dòng)時(shí)選擇vforce clk 0 0, 1 20 -repeat 50 -cancel 1000在當(dāng)前仿真后0時(shí)間單位強(qiáng)制clk到0和在20時(shí)間單位強(qiáng)制到1. 每50時(shí)間單位重復(fù)直到1000. 因此, 下一個(gè) 1 將在70時(shí)間單位發(fā)生vforce clk2 1 10 ns, 0 20 ns -r 100 ns和上一個(gè)例子相似。-r前面的時(shí)間單位表達(dá)式必須放在大括號(hào)里5 執(zhí)行仿真-仿真器激勵(lì).do文件v自動(dòng)完成仿真步驟的宏文件庫(kù)設(shè)置編譯仿真強(qiáng)制仿真激勵(lì)v能在所有的ModelSim 模式里被調(diào)用UI) Macro - ExecuteCOM) do .d
19、ov能調(diào)用其他的DO文件5 執(zhí)行仿真-仿真器激勵(lì).do文件舉例cd c:mydirvlib workvcom counter.vhdvsim counterview *add wave /*add list /*do run.doadd wave /clkadd wave /clradd wave /loadadd wave -hex /dataadd wave /qforce /clk 0 0, 1 50 -repeat 100force /clr 0 0, 1 100run 500force /load 1 0, 0 100force /data 16#A5 0force /clk 0 0
20、, 1 50 -repeat 100run 1000cd c:mydirvlib workvcom counter.vhdvsim counterview *do stimulus.domy_sim.dostimulus.do5 執(zhí)行仿真-仿真器激勵(lì)測(cè)試臺(tái)文件(test bench)v針對(duì)復(fù)雜的仿真vVHDL文件或者Verilogv在測(cè)試臺(tái)文件中將設(shè)計(jì)模塊實(shí)例化-將測(cè)試臺(tái)文件置于TOP層,調(diào)用設(shè)計(jì)模塊 -在測(cè)試臺(tái)文件中加載時(shí)鐘激勵(lì)信號(hào),以及給部分信號(hào)賦初值v測(cè)試臺(tái)文件的寫(xiě)法與設(shè)計(jì)模塊寫(xiě)法有區(qū)別- 一些符合語(yǔ)法但又無(wú)法被綜合的語(yǔ)句(根據(jù)具體的綜合工具而定),可以在測(cè)試臺(tái)文件中使用設(shè)置斷點(diǎn):v支持
21、兩種類型的斷點(diǎn)1、在源代碼窗口設(shè)置斷點(diǎn)Toggles 再次點(diǎn)擊刪除斷點(diǎn)沒(méi)有斷點(diǎn)數(shù)量的限制用 bp 命令:bp 2、條件斷點(diǎn)when when b=1 and c/=0與VHDL信號(hào)和Verilog 線網(wǎng)和寄存器一起使用也可用 bp 命令:bp if$now/=100thencontv時(shí)序仿真的含義v時(shí)序仿真的實(shí)現(xiàn)方法時(shí)序仿真的含義:v布局布線后進(jìn)行的后仿真v包含有延時(shí)信息v仿真結(jié)果可能與功能仿真不相同v除功能仿真時(shí)需要的文件以外,還需要網(wǎng)表文件(如time_sim.vhd或time_sim.v)和包含延時(shí)信息的文件(time_sim.sdf文件)時(shí)序仿真的實(shí)現(xiàn)方法:編譯Xilinx公司的庫(kù)文件
22、:v先將modelsim.ini文件的只讀屬性去掉v將Xilinx公司元件庫(kù)的腳本文件COPY到modelsim的安裝目錄下v在main窗口運(yùn)行:MODELSIM source /xilinx_lib.tcl這里的路徑一定要用/來(lái)表示,比如e:/tools/xilinxv看到彈出對(duì)話框后,選擇相應(yīng)的選項(xiàng),進(jìn)行庫(kù)的編譯時(shí)序仿真的實(shí)現(xiàn)方法:v unisim庫(kù)是用來(lái)對(duì)ISE中畫(huà)的電路圖進(jìn)行前仿真時(shí)用的。vsimprim則是在作布線后的時(shí)序仿真時(shí)用。時(shí)序仿真的實(shí)現(xiàn)方法:以Foundation為例:vFoundation所產(chǎn)生的netlist不包含time delay的數(shù)據(jù),有一個(gè)time_sim.SDF文件來(lái)存儲(chǔ)TIMING數(shù)據(jù)。(有的廠商的布局布線所產(chǎn)生的NETLIST文件已經(jīng)包含有time delay的數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地鐵基礎(chǔ)設(shè)施建設(shè)招投標(biāo)案例
- 招投標(biāo)項(xiàng)目合作法律注意事項(xiàng)
- 醫(yī)藥行業(yè)采購(gòu)合同制度
- 智慧城市二手房交易合同范本
- 制度評(píng)審與風(fēng)險(xiǎn)管理
- 冷藏保鮮租賃服務(wù)合同
- 理賠收入零花錢協(xié)議
- 倉(cāng)儲(chǔ)庫(kù)存異常管理辦法
- 地下室施工合同協(xié)議書(shū)
- 2024年大學(xué)生父母離異財(cái)務(wù)支持協(xié)議
- 提高生產(chǎn)流程效率加快產(chǎn)品交付速度
- 氫能與燃料電池-課件-第五章-制氫技術(shù)
- 用色彩表達(dá)情感課件
- (完整)中小學(xué)教師職稱評(píng)定答辯題
- 中國(guó)電影發(fā)展史簡(jiǎn)介
- 2023北京海淀區(qū)高二上學(xué)期期末語(yǔ)文試題及答案
- 糧油售后服務(wù)承諾書(shū)
- 科研倫理與學(xué)術(shù)規(guī)范-課后作業(yè)答案
- 單位職工獨(dú)生子女父母一次性退休補(bǔ)貼申請(qǐng)表
- 國(guó)有集團(tuán)公司中層及員工履職追責(zé)問(wèn)責(zé)處理辦法模版
評(píng)論
0/150
提交評(píng)論