版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1ModelSimModelSim 仿真工具仿真工具n 由Model技術(shù)公司開發(fā)n 工業(yè)上最通用的仿真器之一n 可在Verilog 和 VHDL仿真 OEM版本允許Verilog仿真 或者或者 VHDL 仿真3ModelSim 產(chǎn)品產(chǎn)品n ModelSim/VHDL 或者 ModelSim/Verilog OEM n ModelSim/LNL 許可 Verilog 或者 VHDL,但是不同時(shí)許可n ModelSim/PLUS 設(shè)計(jì)者能立刻混合仿真Verilog 和 VHDLn ModelSim/SE 首要的版本 PLUS的所有功能連同附加功能 4ModelSim 功能功能n 提供完全的標(biāo)準(zhǔn) 8
2、7 VHDL 93 VHDL IEEE 1364-95 Verilog SDF 1.0 - 3.0 VITAL 2.2b VITAL 95n 易用的界面 通用的平臺(tái)5用用ModelSim仿真仿真課程安排課程安排n 基本的仿真步驟n 用戶界面n 功能仿真n Quartus輸出仿真文件n 時(shí)序仿真7Model 技術(shù)公司的技術(shù)公司的 ModelSimmain主窗口:structure結(jié)構(gòu)窗口process處理窗口:Signal&variable信號(hào)和變量窗口dataflow數(shù)據(jù)流窗口source源窗口Wave&list波形和列表窗口8ModelSim實(shí)現(xiàn)方法實(shí)現(xiàn)方法n 交互式的命令行
3、 (Cmd) 唯一的界面是控制臺(tái)的命令行, 沒有用戶界面n 用戶界面 (UI) 能接受菜單輸入和命令行輸入 課程主要討論n 批處理模式 從DOS或UNIX命令行運(yùn)行批處理文件 不討論9基本仿真步驟基本仿真步驟1 建立庫2 映射庫到物理目錄3 編譯源代碼- 所有的HDL代碼必須被編譯- Verilog和VHDL是不同的4 啟動(dòng)仿真器5 執(zhí)行仿真101 建立建立ModelSim庫庫UI) 從主菜單里面: Design - Create a New LibraryCmd) 從main, 記錄窗口:ModelSim vlib 11ModelSim 庫庫n 包含編譯設(shè)計(jì)單元的目錄 VHDL 和 Veri
4、log 都被編譯到庫里n 兩個(gè)類型 Working (缺省值 work) 包含當(dāng)前被編譯的設(shè)計(jì)單元 編譯前必須建立一個(gè)working庫 每個(gè)編譯只允許一個(gè) Resource 包含能被當(dāng)前編譯引用的設(shè)計(jì)單元 在編譯期間允許多個(gè) VHDL庫能通過LIBRARY和USE子句引用12ModelSim 設(shè)計(jì)單元設(shè)計(jì)單元n 主要 在一個(gè)特定的庫中必須有唯一的名字 VHDL Entities(實(shí)體) Package Declarations(包聲明) Configurations(結(jié)構(gòu)) Verilog Modules(模塊) User Defined Primitives (用戶定義原語)n 次要 在相同
5、的庫里單元可以用一個(gè)普通名稱 VHDL Architectures(體系) Package bodies Verilog沒有次要單元13n VHDL Library std 包含packages standard 和 textio 這些packages初學(xué)者不要去修改n IEEEpure 包含唯一IEEE 認(rèn)可的 std_logic_1164 packages 用于仿真加速n IEEE 包含預(yù)編譯的Synopsys和IEEE 算法包 給std_logic的基本類型 用于仿真加速VHDL 預(yù)先確定庫預(yù)先確定庫14vlib 命令命令n 建立庫n 缺省值是 work_infoany_verilog_
6、moduleany_vhdl_unit_lock_primary.dat_primary.vhdverilog.asm_primary.dat.dat.asmn Where_primary.dat - Verilog module 或 VHDL entity的編碼格式_primary.vhd - Verilog 端口的VHDL entity陳述 .dat - VHDL體系的編碼格式verilog.asm 和 .asm 執(zhí)行代碼文件15建立庫建立庫(UI)選擇 a new library only 和輸入庫名這個(gè)命令在局部目錄建立一個(gè)庫子目錄- vlib lpm_sim16映射邏輯庫名映射邏輯庫
7、名n 必須映射一個(gè)邏輯庫名到庫路徑(定位) 在庫路徑里的文件必須已經(jīng)被編譯 支持相對(duì)的, 絕對(duì)的, 和軟件路徑名n 需要庫在工作目錄里沒有定位n 用vmap命令172 映射邏輯庫名映射邏輯庫名n 語法: vmap UI) 從主菜單: Design - Browse Libraries Design - Create a New LibraryCmd) 從主體的記錄窗口:ModelSim vmap my_work c:/my_design/my_lib 18映射現(xiàn)有的庫映射現(xiàn)有的庫(UI)選擇選擇 a map to an existing library 和和輸入庫名輸入庫名瀏覽庫目錄瀏覽庫目錄
8、用這個(gè)命令可映射一個(gè)設(shè)計(jì)單元已經(jīng)預(yù)編譯的庫目錄- vmap lpm_sim c:/Quartus/library/lpm19映射現(xiàn)有的庫映射現(xiàn)有的庫(UI)選擇選擇 a new library and a logical mapping to it a輸入庫名輸入庫名這個(gè)命令在局部目錄建立一個(gè)庫目錄然后為它設(shè)立映射- vlib my_lib- vmap my_lib my_lib20映射庫映射庫 (UI)用用Add 按鈕建立一按鈕建立一個(gè)新的庫和映射個(gè)新的庫和映射21其他的庫命令其他的庫命令n vdel 從指定的庫中刪除一個(gè)完整的庫或者一個(gè)設(shè)計(jì)單元 UI) Design - Library B
9、rowser (刪除庫或者映射) UI) Design - View Library Contents (刪除設(shè)計(jì)單元) Cmd) vdel -lib n vdir 顯示指定庫的內(nèi)容 UI) Design - View Library Contents Cmd) vdir -lib 223 編譯源代碼編譯源代碼(VHDL)n UI) Design - Compilen Cmd) vcom -work .vhd .vhd 文件按出現(xiàn)的順序被編譯 Compilation order/dependencies (next slide)n 87 VHDL是缺省的 UI) 用Default Option
10、s 按鈕設(shè)為93 Cmd) 用 -93 選項(xiàng)(必須是第一個(gè)參數(shù)) n 缺省編譯到工作庫 例如. Vcom -93 my_design.vhd注意: 當(dāng)庫中涉及的設(shè)計(jì)單元被改變時(shí)設(shè)計(jì)單元必須重新分析。23VHDL Design Units Dependenciesn Entity before Architecturen Package Declaration before Package Bodyn Design units must compiled before being referenced Packages before Entity/Architectures using them
11、 Entities/Configurations before Architectures referencing themn Configurations are compiled last243 編譯源代碼編譯源代碼(Verilog)n UI) Design - Compilen Cmd) vlog -work .v .v 文件按出現(xiàn)的順序被編譯 文件的順序或者編輯的順序不重要n 支持增量式編譯n 缺省編譯到work庫 例如. vlog my_design.v注意:當(dāng)庫中涉及的設(shè)計(jì)單元被改變時(shí)設(shè)計(jì)單元必須重新分析。25Verilog 增量編譯增量編譯n 只有被改變的設(shè)計(jì)單元被編譯n 自動(dòng)或
12、者手動(dòng) 手動(dòng)更有效 自動(dòng)在命令行用 -incr 選項(xiàng)n Module 和 UDP實(shí)例和 hierarchical references可在仿真時(shí)解決 一些錯(cuò)誤在編輯時(shí)將不能察覺 引用的模塊沒有編譯 不正確的端口連接 不正確的hierarchical references26編譯編譯 (UI)點(diǎn)亮一個(gè)或多個(gè)文點(diǎn)亮一個(gè)或多個(gè)文件并點(diǎn)擊件并點(diǎn)擊 Compile27錯(cuò)誤信息錯(cuò)誤信息錯(cuò)誤信息在錯(cuò)誤信息在 Main 窗口顯示窗口顯示在信息上雙擊,引起在信息上雙擊,引起錯(cuò)誤的代碼在錯(cuò)誤的代碼在 Source 窗口被點(diǎn)亮窗口被點(diǎn)亮284 啟動(dòng)仿真器啟動(dòng)仿真器n UI) Design - Load New De
13、signn Cmd) vsim -lib n VHDL vsim top_entity top_architecture 仿真 Entity/Architecture 對(duì) 也能選擇一個(gè)結(jié)構(gòu)n Verilog vsim top_level1 top_level2 仿真多個(gè)top級(jí)模塊29啟動(dòng)仿真器啟動(dòng)仿真器 (UI)選擇仿真器的分辨率選擇仿真器的分辨率選擇庫選擇庫選擇頂級(jí)選擇頂級(jí)module 或或 entity/architecture30啟動(dòng)仿真器啟動(dòng)仿真器(UI)指定指定 SDF文件文件使用定時(shí)值的等級(jí)的使用定時(shí)值的等級(jí)的類型類型 (如果不是頂級(jí)如果不是頂級(jí))31vsim 命令的參數(shù)命令的參
14、數(shù)n 參數(shù) -t 指定仿真的時(shí)間分辨率 單位可以是fs, ps, ns, ms, sec, min, hr 如果用了 Verilog的 timescale指令, 將使用整個(gè)設(shè)計(jì)中的最小的時(shí)間精度 可選項(xiàng)(缺省是 ns) -sdfmin | -sdftyp | -sdfmax = 注釋SDF文件 可選項(xiàng) 使用實(shí)例名也是可選項(xiàng); 如果沒有使用, SDF用于頂級(jí)325 執(zhí)行仿真執(zhí)行仿真n UI) Runn COM) run n 按timesteps指定的時(shí)間長度執(zhí)行仿真33執(zhí)行仿真執(zhí)行仿真 (UI)選擇選擇 timesteps數(shù)量就數(shù)量就可以執(zhí)行仿真可以執(zhí)行仿真Restart 重裝任何已改動(dòng)重裝任何
15、已改動(dòng)的設(shè)計(jì)元素并把仿真時(shí)間設(shè)的設(shè)計(jì)元素并把仿真時(shí)間設(shè)為零為零COM) restart34run 命令參數(shù)命令參數(shù)n 可選的參數(shù) - 指定運(yùn)行的timesteps數(shù)量 單位可用fs, ps, ns, ms, sec -step Steps to the next HDL statement -continue 繼續(xù)上次在-step或斷點(diǎn)后的仿真 -all 運(yùn)行仿真器直到?jīng)]有其他的事件35run 命令舉例命令舉例 run 1000從當(dāng)前位置運(yùn)行仿真 1000 timesteps run 2500 ns從當(dāng)前位置運(yùn)行仿真2500 ns run 3000運(yùn)行仿真到 timestep 300036仿真
16、器激勵(lì)仿真器激勵(lì)n 測(cè)試臺(tái) Verilog 或 VHDL 非常復(fù)雜的仿真 交互式仿真n force命令 簡單的模塊仿真 直接從命令控制臺(tái)輸入 .DO 文件 (宏文件)37force 命令命令n 允許用戶給VHDL信號(hào)和Verilog線網(wǎng)予以激勵(lì)n 常規(guī)語法: force , n 參數(shù) item_name 被激勵(lì)的HDL項(xiàng)的名稱 必需的 必須是一個(gè)Must be a scalar or one-dimensional array of characters Can be an indexed array, array slice, or record sub-element as long as
17、 its of the above type Can use wildcards as long as only one match is obtained38force 命令命令(繼續(xù)繼續(xù))n 其他參數(shù) value 被強(qiáng)制的項(xiàng)的值 必須適合項(xiàng)的數(shù)據(jù)類型 必需的 time 指定值的時(shí)間單位 相對(duì)于當(dāng)前的仿真時(shí)間 用 character指定絕對(duì)時(shí)間 時(shí)間單位能被指定 缺省值是仿真分辨率 可選的ValueDescription 1111 character sequence 2#1111 binary radix 10#15 decimal radix 16#F hexadecimal radix
18、39force 命令命令(繼續(xù)繼續(xù).)n 其他參數(shù) -repeat 在指定周期重復(fù)force命令 可選的 -cancel 在指定周期后取消強(qiáng)制force命令 可選的40force 命令舉例命令舉例 force clr 0 在當(dāng)前仿真時(shí)間強(qiáng)制 clr 到 0 force bus1 01XZ 100 ns 在當(dāng)前仿真時(shí)間后100ns強(qiáng)制 bus1到 01XZ force bus2 16#4F 200 仿真啟動(dòng)后強(qiáng)制 bus2到 4F直到200時(shí)間單位 ,分辨率在仿真啟動(dòng)時(shí)選擇 force clk 0 0, 1 20 -repeat 50 -cancel 1000 在當(dāng)前仿真后0時(shí)間單位強(qiáng)制clk到
19、0和在20時(shí)間單位強(qiáng)制到1. 每50時(shí)間單位重復(fù)直到1000. 因此, 下一個(gè) 1 將在70時(shí)間單位發(fā)生 force clk2 1 10 ns, 0 20 ns -r 100 ns 和上一個(gè)例子相似。-r前面的時(shí)間單位表達(dá)式必須放在大括號(hào)里41DO 文件文件n 自動(dòng)完成仿真步驟的宏文件 庫設(shè)置 編譯 仿真 強(qiáng)制仿真激勵(lì)n 能在所有的ModelSim 模式里被調(diào)用 UI) Macro - Execute COM) do .don 能調(diào)用其他的DO文件cd c:mydirvlib workvcom counter.vhdvsim counterview *add wave /*add list /
20、*do run.do42DO文件舉例文件舉例add 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, 1 50 -repeat 100run 1000cd c:mydirvlib workvcom counter.vhdvsim counterview *do stimulus.do
21、my_sim.dostimulus.do43ModelSim 用戶界面用戶界面44ModelSim 用戶界面特征用戶界面特征n 有九個(gè)窗口: main, structure, source, signals, process, variables, dataflow, wave, 和和 list 窗口窗口n 支持任何窗口的多個(gè)副本n 拖放 在一個(gè)窗口選擇HDL項(xiàng)后, 用鼠標(biāo)左鍵,這些項(xiàng)能被從一個(gè)窗口拖和放到另一個(gè)窗口. HDL項(xiàng)可從 Dataflow, List, Signals, Source, Structure, Variables, 和 Wave窗口拖出. 可把它們放到 List 或者
22、 Wave 窗口注意注意: Main窗口只允許存在一個(gè),因?yàn)檫@個(gè)窗口控制仿真器45Main 窗口窗口n ModelSim 這是設(shè)計(jì)加載前的提示符 能瀏覽幫助, 編輯庫, 編輯源代碼而不用調(diào)用一個(gè)設(shè)計(jì)n VSIM 設(shè)計(jì)加載后顯示的提示符n 告訴我們仿真器的行為動(dòng)作 命令 信息 聲明46Main 窗口窗口: 庫庫n Design Menu - Browse Libraries 加入新庫或編輯已有的庫 瀏覽和編輯庫目錄47Main 窗口窗口: 啟動(dòng)窗口啟動(dòng)窗口n 用于選擇要加載的設(shè)計(jì)n 選擇: 時(shí)間分辨率 Supports multipliers of 1, 10, and 100 each tim
23、e scale. 包含頂級(jí)設(shè)計(jì)單元的庫 頂級(jí)設(shè)計(jì)單元 Entity/Architecture對(duì) 構(gòu)造 模塊n Design Menu - Load New DesignCOM) vsim 48Main 窗口窗口: 選項(xiàng)選項(xiàng)n Options Menu - Simulation Options49Structure 窗口窗口n 設(shè)計(jì)的結(jié)構(gòu)多層瀏覽 VHDL (oo) - Package, component instantiation, generate and block statements Verilog () module實(shí)例, named fork, named begin, task
24、, 和 function Instantiation label, entity/module, architecture 成為當(dāng)前層 for Source 和 Signals 窗口, updates Process 和Variables 窗口COM) view structure50Source 窗口窗口n 從Structure窗口選擇n Options 菜單 (源代碼的控制瀏覽)n Color-coded 注釋, 關(guān)鍵字, 字符串, 數(shù)字, 執(zhí)行行, 標(biāo)識(shí)符, 系統(tǒng)任務(wù), 文本n 完全的編輯能力 保存 編譯和重啟n 拖放n 描述/檢查 VHDL 信號(hào), 變量和常數(shù)COM) view sou
25、rce51Source 窗口窗口n 描述 顯示所選的HDL項(xiàng)的信息n 檢查 顯示所選HDL項(xiàng)當(dāng)前仿真值1) 高亮信號(hào), 變量, 常數(shù), 線網(wǎng), 或寄存器2) 右擊鼠標(biāo)并選擇 Now 或 Object Menu - Examine/Description52Process窗口窗口n 顯示外部和內(nèi)部的處理n View - Active Shows all processes scheduled for execution during the current simulation cyclen View - In Region Shows names of all processes in the
26、 region selected in the Structure windowCOM) view process53Process窗口窗口n 指示器 Process is scheduled to be executed 處理正等待 VHDL 信號(hào)或Verilog 線網(wǎng)改變 或等待超時(shí) Process has executed a VHDL wait statement without a time-out or sensitivity listCOM) view process54Signals 窗口窗口n 緊跟Structure窗口 顯示Structure窗口的當(dāng)前層HDL項(xiàng)的名稱和值n
27、 排序 升序,降序或聲明順序n 層次 - (+)可展開的, (-)已展開的n VHDL 信號(hào)n Verilog 線網(wǎng), 寄存器變量和已命名的時(shí)間n “拖放” Wave和List窗口n Force 用于激勵(lì)n Filter 為瀏覽選擇信號(hào)類型 (輸入, 輸出, 內(nèi)部, 等)COM) view signals55Dataflow 窗口窗口n VHDL信號(hào)或Verilog線網(wǎng)的圖形描繪 信號(hào)或線網(wǎng)在窗口中央 Processes that drive signal or net on the left Processes that read the signal or are triggered by
28、 the net on the rightCOM) view dataflow56Dataflow 窗口窗口n Processes Signals read by or nets that trigger the process on the left Signals or nets driven by the process on the rightn Single-Double clicking update of signals and processes57Wave 窗口窗口n 用波形瀏覽仿真結(jié)果的圖形化的歷史記錄 VHDL 信號(hào)和過程變量 Verilog 線網(wǎng), 寄存器變量, 已命名
29、事件n 對(duì)于更多的邏輯信號(hào)多個(gè)波形窗口用于更多的邏輯信號(hào)n 改變信號(hào)和向量的基數(shù)已方便查看n 打印波形Adjustable spacingbetween signalsVHDL VariableColor-coding on a signal-by-signal basisCursor Measurement拖放拖放縮放菜單縮放菜單項(xiàng)格式化項(xiàng)格式化多個(gè)指針多個(gè)指針強(qiáng)大的編輯和查找能力強(qiáng)大的編輯和查找能力VerilogCOM) view wave58List 窗口窗口n 用表格顯示仿真結(jié)果 VHDL 信號(hào)和過程變量 Verilog 線網(wǎng)和寄存器變量n 從這個(gè)窗口或到這個(gè)窗口“拖放”n 編輯功能
30、查找n 建立用戶定義的總線 - EditCombinen 設(shè)置觸發(fā)和選通n Write List - Tabular, Event or TSSIn Marker - Add, Delete or GotoCOM) view list59Variables 窗口窗口n 列出 HDL 項(xiàng)的名稱 VHDL 常數(shù), generics 和變量 Verilog 寄存器變量n 到當(dāng)前過程的路徑被顯示在左下n 樹層次 - (+)可展開的, (-)已展開的n 分類 升序, 降序或聲明順序n 改變 選擇HDL項(xiàng)改變值n 瀏覽 在Wave 或 List 窗口 或 log 文件的項(xiàng) 選擇變量或?qū)又械淖兞緾OM) v
31、iew variables60ModelSim 用戶界面特征用戶界面特征(繼續(xù)繼續(xù).)n 自動(dòng)更新窗口 Dataflow 窗口: 當(dāng)一個(gè)進(jìn)程被選到這個(gè)窗口的中央, Process, Signals, Source, Structure, 和 Variables 窗口會(huì)被更新. Process 窗口: 當(dāng)一個(gè)進(jìn)程被選擇, Dataflow, Signals, Structure, 和Variables窗口被更新. Signals 窗口: 當(dāng)Signals窗口被選擇,Dataflow 窗口是唯一被更新的窗口. Structure 窗口: 當(dāng)從你的設(shè)計(jì)結(jié)構(gòu)中層次瀏覽中的一個(gè)被選擇, Signals 和 Source 窗口將自動(dòng)更新.61ModelSim 用戶界面用戶界面(繼續(xù)繼續(xù).)n 查找名稱或搜索值 除兩個(gè)窗口外其他窗口都允許用戶通過菜單EditFind查找項(xiàng)名稱 。 只有 Main 和 Dataflow 窗口沒有這個(gè)功能。 在List 和Wave 窗口, 能通過EditSearch 搜索HDL項(xiàng)值。n 排序HDL 項(xiàng) 用EditSort 菜單選項(xiàng), HDL項(xiàng)能被排序(按升序,降序, 或聲明順序)。 缺省, 這些項(xiàng)按被聲明的順序排序。62ModelS
溫馨提示
- 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è)計(jì)合同樣本模板
- 2024個(gè)人房屋出租合同精簡版
- 手機(jī)銷售合同范本2024年
- 2024家長委托代理人小學(xué)生接送合同
- 房產(chǎn)贈(zèng)與合同范例
- 2024汽車零部件運(yùn)輸合同模板
- 2024年塘壩承包合同堰塘承包協(xié)議
- 2024廣告活動(dòng)贊助合同范本
- 葡萄酒代理授權(quán)合同樣本-合同格式
- 2024上海國內(nèi)旅游合同范本
- 新部編人教版四年級(jí)上冊(cè)語文課件(第16課 風(fēng)箏)
- 臨床診斷與思維步驟課件
- 放射科危急值制度考試試題與答案
- 通信發(fā)展的前世今生兒童科普(課堂PPT)課件(PPT 38頁)
- 老年人口腔保健知識(shí)PPT課件
- 荒蕪?fù)恋鼗謴?fù)與重建的生態(tài)工程匯總
- 怎么才能快速學(xué)會(huì)做賬
- 第四章齲病的預(yù)防
- 內(nèi)鏡中心進(jìn)修護(hù)士培訓(xùn)計(jì)劃
- 深圳市不動(dòng)產(chǎn)登記申請(qǐng)表
- 裝修垃圾清運(yùn)單
評(píng)論
0/150
提交評(píng)論