【正文】
top n wave signals n add wave /top/p/* n add log r * n run simulation n run all n 3. 數據流窗口的一個主要作用就是瀏覽設計中的各種連接,可以用來檢查指定 信號、網線寄存器的驅動以及接收等特點。n 4. 數據流窗口中的另外一個重要的特點是可以通過事件追蹤來定位輸出信號, 數據流窗口中內置的波形查看窗口給類似操作提供了極大的方便。n 5. 追蹤未知信號 ‘X’。使用數據流窗口可以很快確定產生未知信號的原因,數 據流窗口和標準的波形窗口是互相聯系的,所以可以在波形窗口中觀察一個信號然后在數據流窗口中對這個信號進行追蹤,進而查找問題的源頭。追蹤未知態(tài)n 6. 在數據流窗口中顯示層次。 存儲器窗口調試n 1. 啟動 ModelSim仿真器并改變目錄到設計目錄。n 2. 創(chuàng)建工作目錄、編譯設計。 n 在主窗口的【 ModelSim】提示符后鍵入 vlib work 命令創(chuàng)建工作目錄。 n 在主窗口的【 ModelSim】提示符后鍵入 vlog 件。 n 在主窗口的【 ModelSim】提示符后鍵入 set NumericStdNoWarnings 1 命令。n 3. 加載設計。 n 4. 查看一個存儲器。 n 在主窗口中選擇【 View】 /【 Memory】命令打開存儲器窗口,在存儲器窗口的【 List】區(qū)域顯示了當前設計中使用到的所有存儲器。 n 在存儲器列表中選擇【 /ram_tb/spram1】實例,存儲器窗口中將顯示這個存儲器的地址以及數據等內容。n 在主窗口【 sim】視圖中選擇【 spram2】實例 。n 運行仿真 。n 存儲器窗口中的地址數據區(qū)域隨著仿真的進行自動更新。n 5. 將存儲器的內容保存成一個文件。n 6. 初始化一個存儲器。在 ModelSim 中有 3 種方法來初始化一個存儲器,分別如 下:n 通過加載保存好的文件初始化存儲器。n 部分使用保存好的文件,部分使用模板。n 使用數據模板填充的方式 。 變量窗口調試 n 1. 啟動仿真器并改變目錄到設計目錄。n 2. 在主窗口的命令控制臺【 Modelsim】提示符后鍵入 vlib library_4 命令創(chuàng)建一個新的工作庫。n 3. 在命令提示符后鍵入 v –work library_4 ,編譯這三個文件到工作庫中。n 4. 在命令提示符后鍵入 vmap work library_4命令,映射新建的庫到工作庫中,同時這個命令將修改 ModelSim 的配置文件 。n 5. 在主窗口中選擇【 Simulate】 /【 Simulate】命令,打開仿真參數對話框。n 6. 在主窗口輸入 view *命令,彈出仿真器的全部窗口。 n 7. 輸入 add list *命令將頂層模塊的全部信號添加到列表窗口中。 n 8. 輸入 add wave *命令將頂層模塊的全部信號添加到波形窗口中。 n 9. 運行仿真。 n 10. 查看 命令控制臺反饋的信息, 查找錯誤,并重新運行仿真,反復調試,直到仿真成功。 列表窗口調試 n 1. 在列表窗口中選擇【 Tools】 /【 Window Preference】命令,打開列表窗口屬性 對話框。 n 2. 選擇其中的觸發(fā)選項卡【 Triggers】 。n 3. 在窗口中選中某一個信號或者全部信號,然后在菜單欄中選擇【 View】 /【 Signal Properties】命令打開相應的對話框,可以在對話框中改變信號顯示的名稱以及信號數據顯示的數值類型。 ModelSim的其他常用操作 自動仿真n 在 ModelSim中宏文件通常使用 “do”作為文件后綴,所以一般將宏文件也叫 DO文件 。n DO文件是一個包含了很多命令的腳本文件,這個文件可以使用一系列的 ModelSim命令組成,也可以使用 TCL語言編寫,也可以混合使用兩種方式。n DO文件可以在 ModelSim的 GUI中執(zhí)行,也可以不啟動ModelSim而直接在操作系統(tǒng)的命令行中執(zhí)行。 n 可以在任何一個文本編輯器里創(chuàng)建一個 DO文件,也可以在ModelSim主窗口中使用【 File】 /【 Transcript】 /【 Save Transcript as】命令將執(zhí)行過的所有命令保存成一個 DO文件。n 可以在主窗口中選擇【 Tools】 /【 Execute Macro】命令執(zhí)行一個 DO 文件,或者直接使用 do your_file_name.do 命令執(zhí)行 DO文件,需要注意的是 do命令只可以在 ModelSim的命令控制臺中使用而不能用在操作系統(tǒng)的命令行中。n vlib work n vmap work work n vlog n vsim n add wave ld n add wave rst n add wave clk n add wave d n add wave q n force freeze clk 0 0, 1 {50 ns} r 100 n force rst 1 n force rst 0 10 n force ld 0 n force d 1010 n run 1700 n force ld 1 n run 100 n force ld 0 n run 400 n force rst 1 n run 200 n force rst 0 10 n run 1500 DO 文件的例子,在這個 DO 文件中首先建立了一個工作庫并映射它,編譯設計源文件,加載設計,添加一些信號到波形窗口中,然后提供了測試激勵。 WLF文件n 波形日志格式文件( WLF, Wave Log Format)。n WLF文件提供了一組仿真的數據,在這個數據集中記錄了指定層次中信號、變量等的仿真數據,可以在仿真結束后使用這個文件對仿真過程進行精確回放,同時可以使用這個文件與正在進行的仿真數據進行對比,得到不同仿真波形的時序差異。 波形比較 n ModelSim工具提供了波形比較的功能,使用這個功能可以將當前正在進行的仿真與一個參考數據結合(WLF 文件)進行比較,比較的結果可以在波形窗口或者列表窗口中查看,也可以將比較的結果生成一個文本文件。 SDF文件n SDF 時序標注( Standard Delay Format Timing Annotation)n 在 Xilinx公司的 FPGA/CPLD設計中使用 “.sdf”作為時序標注文件的擴展名,而在 Altera 公司的 FPGA設計中使用 “.sdo”作為時序標注文件的擴展名。n 在 SDF標注文件中對每一個底層邏輯門提供了 3 種不同的延時值,分別是典型延時值、最小延時值和最大延時值。 VCD文件n VCD 文件是在 IEEE 1364 標準中定義的一種 ASCII 文件,在這個文件中包含了頭信息、變量的預定義和變量值的變化等信息。n 在 Verilog 語言中支持 VCD 的系統(tǒng)任務,并可以通過在 Verilog 源代碼中使用 VCD 系統(tǒng)任務來生成 VCD 文件。 本章小結 n 主要介紹了 ModelSim仿真工具的使用,詳細說明了仿真工具的各個窗口用途以及使用方法。n 使用 ModelSim仿真工具完成各種 HDL語言的仿真。n ModelSim在 ISE集成環(huán)境中的使用方法。 課后問題與作業(yè)n 1. 為什么在進行仿真以前需要對廠家的仿真庫進行預編譯?n 2. 波形比較的過程是什么?波形比較共有幾種類型?可以使用哪些窗口查看波形比較的結果?n 3. 什么是時序標注文件?它在仿真過程的地位是什么?怎樣才是真正的時序仿真?