VCS課時4: 使用VCD文件進行后處理


課程目標

原來是互動的過程,這一節課主要講的是仿真平台完成任務,用DVE打開打開波形文件

  • 查看波形文件

  • 查看log文件

最早的是VCD文件,在這基礎上推出的VCD+文件,文件比較大,讀取慢

  1. 在仿真代碼中,嵌入dump 波形
  2. 產生VCD文件
  3. DVE在仿真后步驟

1 DVE后處理模式

PPT1

  • 仿真的速度(depend on data dump commands 各種開關)

    (設計驗證的初期,需要我們把波形保持下來,這個時候bug比較多,但是到后面設計收斂,跑的比較久,這個時候就不需要dump波形)

  • 信號的可見性(查看仿真工具的信息,波形和log文件)

  • 問題的追蹤性(可以追蹤到問題出在哪兒)

  • 是否方便使用(是否對用戶友好,user friendly)(verdi、debussy對應的fsdb文件,debug最好用的工具之一)

PPT2

項目里面通過makefile的文件,腳本(批處理)

PPT3

DVE目前只支持VCD plus文件,可以用相互的轉換工具

PPT4

關鍵是dump波形,$vcdpluson(參數),可以記錄部分的波形文件

2 VCD+的系統任務

PPT1

層次化的記錄波形(0, A)整個模塊,以A為top層的

PPT2

從memory中寫入磁盤,當有任務的時候

PPT3

PPT4 例子

1576115652488

不帶參數:仿真哪個module里面,以及所有的子模塊信號

$readmenb display語句

3 VCD+文件的編譯

PPT1

  • files 編譯需要的文件
  • vcdplus_switchs 打開vcd+系統任務

直接的就是 vcs source.v -degugg_all

編譯后打開vpd文件,dve -vpd vcdplus.vpd

PPT2

  • -debug_all全部開關打開對性能影響比較大,-pp打開關鍵的開關
  • +vpdfile+filename 指定生成的vpd文件
  • 后面三個用的比較多

4 小技巧

PPT1

PPT2

PPT3

5. 課程實驗

Makefile的格式

givm顯示行號,命名模式下輸入 : set nu

學腳本就是一勞永逸,簡化操作

開始的幾句

  • 代碼覆蓋率和設置輸出文件

  • VCS的編譯命令

包括了時序檢查

  • 仿真的命令(這里用SIM代替了很多復雜的命令)

  • 編譯命令,開始仿真命令,清除命令

技巧:在GVIM打開新的文件,進入命令行輸入tabnew ./打開一個窗口顯示了當前文件夾下的所有文件,上下移動光標,按enter進入改文件或者文件夾

verilog文件加入命令

各種不同的vcdpluson

makefile執行

make clean執行makefile下的清除命令

make con執行編譯命令

編譯上產生的log文件和終端產生的信息是一樣的,語法錯誤會在這里記錄下來

make sim執行仿真

dve打開波形文件

  1. dve & 左上角file找到vpd+文件

選擇波形信號,然后加入到波形文件add wave view

  • debug的過程,發現信號哪里錯了,鼠標移動到那,雙擊會跳到源文件中去
  1. dve -vpd ***文件名

只記錄頂層信號

更改記錄波形的命令$vcdpluson(1, fsm_top)

重新編譯,結果只計入top層

加載數組並記錄

.txt文本記錄的數據

重新編譯終端會顯示的結果如下:

默認情況下是不會記錄的數組的,打開開關vcdolusmemon()

波形信號的顯示為:

加入display語句

第一句加在仿真文件里為:

第二句和第三句為,加在設計文件里面

開始仿真,終端打出了三個hello verilog,問題是你不知道是哪一個文件的輸入。可能是隨機執行順尋

重要的宏__file____line__

加入了宏,告訴額外的信息,哪一個文件的哪一行

重新執行仿真,不同的是:


免責聲明!

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



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