simvision使用


Access Design Source Code:

1)通過file---open來打開,

2)通過send to source viewer來看,

雙擊信號,進行driver的trace,顯示在左側的driver/load tab或者直接轉到下一個scope的source code file

查找:

1)右側tool bar

2)edit-----search,

signal的選擇,

1)單擊或者框選,

2)select---scope/port/signal

信號右鍵的功能:

1) Follow signal,相當於verdi中的connection功能。

2) Trace Driving logic/Trace loading logic

3) send to waveform/watch/Schematic/Design/Design file window

4) Create Probe,

5) Show Value

6) Set Force/Release Force/Deposit Value

 

在進行trace的時候,如果對象是Verilog的register或者VHDL的 variable,直接進入相應的source code

                           如果對象是Verilog的net或者VHDL signal,進入左側的sidebar

在source code中可以直接進行edit,然后revoke來直接進行編譯仿真。

Access Design Objects

使用design browser tab,通過filter進行scope的選擇。

使用design search  tab,主要來選擇signal(input,output,inside)/transaction/assertion等

Creating and Managing Probes

通過probe signal,可以在仿真過程中保存signal的值,之后可以直接查看probe的signal的值。

當用戶向Waveform window添加signals和scopes時,Simvision自動添加probe。

在創建probe的過程中,需要勾選include task/function,include sub-scope,disable/enable add to waveform

可以在simvision---show---probes中查看已經打開的probe,也可以進行刪除操作。

probe不能對在仿真中new的變量添加,不知道probe和watch window的應用區別

 

Setting and managing Breakpoints

simvision中支持的breakpoint的添加方式,

1) time breakpoint,  stop at specify time or time interval(delta cycle)

2) signal breakpoint,  stop based on a design object

3) line breakpoint, stop at specified line

4) Condition breakpoint,

通過simulation----Set BreakPoint---time來設置,

使用breakpoint的前提是,在編譯時,必須添加-linedebug

Changing and Monitoring the value of an Object during Simulation

在verilog中只有force和deposit兩種方式。前提是在elaborate時,必須有-access +w的選項。

不能force的design object:

1) Verilog memory or memory element

2) bit-select或者part-select verilog register/wire

可以通過Simulation----Show-----Forces來顯示當前已有的force

不能deposit的object:(memory可以)

1) analog signal

Controlling the Simulation

可以通過simulation bar來進行simulation的控制,

reset simulation:simulation time到0,設置的breakpoint和probe保留,但是force和deposit的動作都被移除。

reinvoking simulation:改變source code之后,通過reinvoke來啟動simulator。

Saving and Restarting a simulation checkpoint

simulation的checkpoint可以保存design在某個simulation time的所有狀態,包括:已經打開的database,設置的breakpoint

                                       之前某個時間點的force和deposit的信號。

checkpoint的保存對large simulation的debug十分有用。

保存一個simulation check point

選擇simulation---save checkpoint,點擊Run Clean,為了將當前時間點的sequential code執行完畢。

從check point重新開始:

選擇simulation---Restart from checkpoint,

 

Debugging at the Delta Cycle Level

實際仿真時,並不能做到完全並行,simulator通過將每個時間點分為delta cycle並且先后調用進程來進行模擬。

在波形中,只能反映的是每個time point的最終的信號值。

delta cycle的執行過程:紅色表示會發生迭代,藍色表示最終的跳轉。

Simulation Cycle Debugger的打開:

Windows---Tools---Simulation Cycle Debug

打開之后,有一個state diagram表示當前執行的point

               另一個window,表示即將執行的point

直接點擊某個statement就可以打開Source Browser window

Cycle Debugging的選項,

 

Debugging API Applications

DPI/PLI這類的API可以在simulator中,調用C/C++/SystemC這樣的task。

SimVision提供GDB的環境,來直接debug API application, (環境中的gcc必須與IUS中的一致)

當調用API application時,compiling和elaborate HDL design需要加額外的option,

Eg:API調用DPI task,必須在elaborator中加入 -dpiheader,並指定一個.h文件來declares DPI task。

在simulation---systemc/c++/c debug選項,在console中加入gdb tab,並且Source Browser中加入GDB 控制。

simulator和GDB之間的交叉控制,主要通過breakpoint來設置,

 

Tracing Paths with the Trace Signals Sidebar

trace signals sidebar可以使能driving/loading logic,並自動的tarce所有的X value的path。

使用simvision進行driver trace操作時,simvision可以顯示出force的操作,並給一個較高的grade。

為了在waveform中加入更多的內容,可以

1) probe signal,來加入更新element到波形中。

2) 在進行仿真時,加入-event option,提供更加精確的sequence time。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM