1.前言
Live-Simulation (live-sim)模式允許Visualizer調試環境與Questasim進行交互操作,此模式將Visualizer GUI與Questasim仿真相結合,因此可以在線調試當前仿真的結果和波形。
在livesim模式中,可以在Visualizer GUI中控制仿真、設置斷點(Breakpoints)、單步調試、檢查記錄或未記錄的數據值、以及跟蹤類對象。因此,在調試驗證環境或RTL的問題時,livesim可以更有效率地定位問題。下文介紹下live-simulation模式如何啟動以常用功能。
2.啟動live-sim模式
Questasim要求使用3步仿真流程(vlog, vopt, vsim)來調用livesim模式下的Visualizer,而不是2步仿真流程(vlog, vsim+vopt)。
第一步:準備TB和RTL代碼
這里簡單創建名為livesim_example.sv的文件,它的內容是:
module livesim_example;
int a = 600;
int b = 66;
int c;
reg clk = 1'b0;
initial begin
c = a + b;
$display("result1: The sum of a(%0d) and b(%0d) is c(%0d)", a, b, c);
# 10ns;
forever begin
# 5ns;
clk = ~clk;
c = c + 1;
$display("The current c: %0d", c);
# 5ns;
c = c + 2;
$display("The current c: %0d", c);
end
end
endmodule
第二步:vlog命令編譯
需要調用Questasim的vlog命令把代碼先編譯過,命令如下:
vlib work
vlog livesim_example.sv
這時候會生成livesim_example的top module。(注意,如果是VHDL文件的話,要使用vcom命令,而不是vlog)
第三步:vopt命令優化
需要調用Questasim的vopt命令把design優化下,命令如下:
vopt -debug livesim_example -o live_opt -designfile design.bin
這時候會生成名為live_opt的優化design名。
在優化過程中,必須的-designfile參數的作用是創建Visualizer所需的design數據庫文件名稱(design.bin),如果默認用design.bin名稱的話,其實-designfile design.bin可以替換為+designfile,這樣Questasim默認生成的bin文件名字為design.bin。必須的-o參數為design的優化版本指定一個名稱,名稱可以包含小寫字母、大寫字母、數字字符或下劃線。可選的-debug參數限制優化以保證行號的可見性,這就可以在Visualizer的livesim模式下啟用行breakpoints。其它需要的vopt參數大家可以根據需要添加。
第四步:vsim命令仿真
使用vsim命令開始仿真,命令如下:
vsim -visualizer live_opt
這里live_opt的名字就是第三步vopt命令-o參數生成的名字。vsim命令將design加載到仿真器中,然后將design.bin文件和仿真控制傳遞給Visualizer GUI。
在design elaboration過程中,仿真elaboration消息顯示在啟動shell中,并且也保存在visualizer.log文件中。如果elaboration有錯誤,則顯示消息并退出仿真。如果elaboration成功,將調用Visualizer GUI。Visualizer GUI首先讀取數據并連接到仿真器,當GUI準備好接受CLI命令時,在transcript窗口會出現” Visualizer 1>”。
只要完成了以上的幾個步驟,就會出現以下界面,表示進入livesim模式了,也就是聯合Questasim和Visualizer進行實時仿真調試。
3. livesim仿真常用功能
進入livesim模式后,就是使用Visualizer GUI界面去debug代碼了,這里簡單介紹幾個常用功能,更多的用法大家可以去探索下。
3.1 變量值提示
當啟用變量值提示(Value Tool Tip)功能后,記那個鼠標懸停在源代碼、原理圖和許多其它窗口中的對象上時,彈出的工具提示將顯示該對象的值、大小和帶有下劃線 (_) 的基數前綴。此默認值格式化在仿真期間被記錄。
不過通過vsim命令中指定+vis_no_format_num,可以禁用值格式化,只顯示對象值。變量值提示(Value Tool Tip)啟動和關閉按鈕在下圖紅色箭頭指向的地方。
3.2 Debugger菜單
在Debugger菜單下有運行、步進、重新啟動、保存或恢復checkpoints點,以及使用C調試器。
3.3 工具欄的調試
在工具欄上也可以方便的控制仿真的進行。
3.4 設置breakpoint
右鍵代碼的前方,會出現以下窗口,我們就可以設置一些breakpoint來輔助debug。
-
仿真器
+關注
關注
14文章
1019瀏覽量
83939 -
RTL
+關注
關注
1文章
385瀏覽量
59954 -
GUI
+關注
關注
3文章
662瀏覽量
39894 -
VHDL電路
+關注
關注
0文章
4瀏覽量
1426
發布評論請先 登錄
相關推薦
NCSIM、VCS和QuestaSim后仿真如何屏蔽冗余的違例信息呢?
如何用questasim進行systemverilog仿真
ISE設計,questasim仿真時庫編譯的問題
PROTOLINK PROBE VISUALIZER的優勢
介紹一下波形仿真如何進行
全新WEBENCH Visualizer設計工具
ModelSim和QuestaSim功能簡介及應用
![ModelSim和<b class='flag-5'>QuestaSim</b>功能簡介及應用](https://file1.elecfans.com//web2/M00/A5/93/wKgZomUMORGAd9i0AACPcJfFUBc610.jpg)
基于FPGA的仿真如何工作
![基于FPGA的<b class='flag-5'>仿真如</b>何工作](https://file.elecfans.com/web1/M00/A2/E4/pIYBAF1Pn6-AZbtgAABesF5zG8I807.jpg)
如何通過自動化腳本實現Questasim和Verdi的聯合仿真
![如何通過自動化腳本實現<b class='flag-5'>Questasim</b>和Verdi的聯合<b class='flag-5'>仿真</b>](https://file.elecfans.com/web2/M00/00/82/pYYBAGC8kBCAA3w7AAAY4s7NfCk481.png)
評論