使用波形配置文件
Vivado Simulator允許用戶自定義波形顯示方式,當前的顯示狀態(tài)稱作波形配置。波形配置可以保存為WCFG文件,供以后使用。一個波形配置對應(yīng)一個Wave窗口,沒有保存的波形配置顯示為untitled。打開仿真后,F(xiàn)ile菜單中有與波形配置相關(guān)的指令:

這些控制功能依次是:
- New Waveform Configuration:創(chuàng)建一個新的波形配置,Vivado會打開一個新波形窗口,但是不包含任何HDL對象,設(shè)計者從Scope或Object窗口中人工添加;
- Open Waveform Configuration:打開配置文件同時打開一個波形窗口,會顯示存儲在WCFG文件中對象的波形數(shù)據(jù);
- Saving a Wave Configuration:保存當前波形配置到WCFG文件中。
如果關(guān)閉了仿真,下次需要使用是只是想查看上次仿真的結(jié)果,而不是重新運行仿真,點擊Flow菜單下的Open Static Simulation,選擇WDB文件即可(在project.sim/sim_1/behav路徑下)。靜態(tài)仿真模式下,Vivado Simulator會從WDB文件中讀取數(shù)據(jù)并顯示。
運行仿真過程中,會將顯示的HDL對象的波形活動、Sope窗口中的對象、Objects窗口中的對象存儲到WDB文件中。但注意,Vivado不能打開2014.3版本之前創(chuàng)建的WDB文件。
窗口對象(wave object)
向波形配置中添加一個HDL對象,其實并不是直接添加該對象,Vivado會創(chuàng)建一個窗口對象,該對象與HDL對象有聯(lián)系也有區(qū)別。借助此特性,一個HDL對象可以創(chuàng)建多個與其相關(guān)的窗口對象,且每個窗口對象的顯示設(shè)置可以不同。比如一個用16進制顯示,另一個用10進制顯示。
由HDL對象而來的窗口對象稱作設(shè)計窗口對象,除此之外,還有其它的對象類型:隔離帶(divider)、群組(group)、虛擬總線(virtual buses)。這些對象都是為了提高觀察波形的便捷性,前兩者示例如下圖。虛擬總線是將多個信號組合為一個總線顯示。

波形窗口中包含Name、Value和波形三部分。
- Name默認顯示為short形式,右鍵菜單中Rename指令可以創(chuàng)建custom名稱,Name指令選擇顯示方式為short、long(顯示對象所處層次路徑)或custom。
- Value根據(jù)格式和基數(shù)設(shè)置顯示方式不同,注意波形窗口中的radix和Objects窗口中的radix設(shè)置只作用于各自的窗口。
默認Value顯示的基數(shù)為16進制,想要改變默認設(shè)置,在波形窗口中點擊Settings,選擇一個Radix:

順便再介紹下其它設(shè)置選項實現(xiàn)的功能效果:
- Elide Setting:如果信號名字太長無法完整顯示,該選項設(shè)置從哪邊開始省略字符顯示,包括left、middle和right。
- Draw Waveform Shadow:選中,波形顯示會帶有陰影效果。
- Show signal indices:選中,波形對象的Name左側(cè)會顯示對應(yīng)的行數(shù),并且可以拖動行數(shù)之間的橫線來改變波形對象的高度。
- Show grid lines:選中,波形窗口中會顯示網(wǎng)格線。
- Snap to Transition/Floating Ruler:與測量有關(guān),具體在下文介紹。
在選中對象的右鍵菜單->Radix中可以設(shè)置單個信號的基數(shù)(應(yīng)與該信號的本質(zhì)相符),常見的基數(shù)已經(jīng)非常熟悉。Radix還可以選擇為Real,設(shè)計者可以在Real Setting中設(shè)置Value按指定的定點數(shù)或浮點數(shù)格式顯示,提供了極大的便利性。
該功能非常實用,比如CORDIC IP核在計算arctan函數(shù)時,輸出數(shù)據(jù)為帶符號、小數(shù)點從MSB三位后的格式,只需要在這里設(shè)置相應(yīng)格式,就可以直接顯示為-pi~pi的范圍,而不需要人工計算。

設(shè)置模擬波形顯示方式
有時總線數(shù)據(jù)用模擬波形的方式觀察更直觀,但注意信號的Radix設(shè)置必須符合其本質(zhì),才能顯示正確的波形。比如一個總線數(shù)據(jù)按帶符號二進制補碼編碼,Radix必須設(shè)置為一種帶符號格式;如果一個數(shù)據(jù)為浮點數(shù)格式,必須選擇real并做正確的設(shè)置。
在對象右鍵->Waveform Style,可選擇模擬(Analog)或數(shù)字(Digital)顯示方式,Anolog Settings中可以設(shè)置模擬波形的顯示方式。注意:模擬顯示僅支持位寬不超過64Bits的總線。

下面介紹一下各選項的設(shè)置方法和效果:
- Row Height:規(guī)定選中對象的顯示高度,單位為像素點數(shù)目,相當于收縮或拉伸波形的高度(digital顯示方式高度為20,analog顯示高度默認為100)。
- Y Range:規(guī)定波形區(qū)域的數(shù)值顯示范圍。Auto模式下根據(jù)當前的仿真時間內(nèi)的值自動選擇范圍,且會隨時間更新;Fixed設(shè)置固定的顯示范圍。
- Interpolation Style:設(shè)置將數(shù)據(jù)點連成線的插值方式,Liner表示線性插值,Hold表示保持插值,兩個點之間的數(shù)據(jù)會保持前一個點的數(shù)據(jù)值。
- Off Scale:設(shè)置超出顯示范圍的波形該如何處理,Hide會隱藏超出范圍的部分,Clip會超出范圍為的部分限制在最大值/最小值(即削頂),overlap在超出范圍時仍然會顯示波形,但是波形會疊在其它波形對象上。
- Horizontal Line:選中會在指定值處畫一條水平線。
此外,某些總線信號的有效順序可能與定義的Bit順序相反,可以在右鍵菜單中選擇“Reverse bit order”交換總線Bit順序,如bus[7:0]交換后為bit[0:7],信號的值和波形也會跟著改變。
在時間刻度上右鍵,可以設(shè)置顯示時間的方式,包括fs、ps、ns、us、ms、s,Auto會自動選擇最適合的單位,Default表示HDL設(shè)計中規(guī)定的仿真精度。此外還有Samples以離散采樣數(shù)值的方式顯示,User為用戶自定義的時間單位,但這兩個設(shè)置對HDL無效。
觀察波形輔助工具
上文提到窗口對象中還包括如下三類,來幫助設(shè)計觀察仿真結(jié)果:
- Group:一個Group相當于一個容器,將相關(guān)的波形對象組合在一個文件夾中。選中想要添加的對象,右鍵->New Group即可建立一個新組。注意選中g(shù)roup后delete會刪除掉該組和內(nèi)部所有的對象,如果只是想解散組,使用右鍵菜單中的Ungroup。
- Divider:divider用來隔離不同的HDL對象,點擊信號的右鍵菜單中->New Divider,會在其下方創(chuàng)建一條隔離帶,delete即可刪除。
- Virtual Bus:可以將多個標量或向量組合在一起作為虛擬總線顯示,按順序選中要添加的對象,右鍵->New Virtual Bus。同樣delete會刪除掉虛擬總線所有對象,僅刪除虛擬總線應(yīng)使用Ungroup。
除此之外,Vivado還提供了一些其它特性幫助設(shè)計者分析波形中的數(shù)據(jù):
1.光標
在波形上單擊,會出現(xiàn)黃色的光標,稱之為主光標;按住Shift鍵,再在另一個地方點擊,會出現(xiàn)第二個光標,稱之為輔助光標(虛線,會替換原主光標所在位置)。頂部會顯示每個光標所處的時間點,底部有刻度尺且顯示兩者之間的時間差(顯示刻度尺需要在設(shè)置中選中Floating Ruler)。單擊波形窗口的任意地方,即可隱藏輔助光標。

如果設(shè)置中選中了Snap to Transition,拖動光標過程中會有一個根據(jù)數(shù)據(jù)轉(zhuǎn)換狀態(tài)變換的圈(不選中該功能始終為空心圈,不會變化)??招娜Α鸨硎竟鈽颂幵谛盘柕膬蓚€過度點之間(過度點即為值發(fā)生改變的點);實心圈●表示光標位于過度點處或標記(marker)上。如下圖所示:

通過此功能,設(shè)計者即可準確地將光標置于信號的邊緣處。波形窗口工具欄中還有Previous Transition和Next Transition兩個功能,可以改變光標位置到選定對象的前一個或后一個過度點??梢酝瑫r選中多個對象。
2.標記
標記(Marker)用來指示波形中設(shè)計者關(guān)心的重大事件,可以對與標記事件相關(guān)的時間進行測量。在窗口工具欄中點擊Add Marker(如下圖紅框)添加標記,自動測量并顯示標記與光標之間的時間差。

標記同樣支持Snap to Transition功能,讓設(shè)計者可以準確地標記信號邊緣。在標記上右鍵,選中Delete Marke**r或**Delete All Markers即可刪除標記。底部也會顯示時間刻度尺輔助時間測量,0時刻從輔助光標開始,如果沒有輔助光標會從選中的Marker處開始。
3.查找功能
右鍵菜單中Find/Find Value可分別用于查找某一對象或者選中對象中的特定值??瞻卓蛑休斎霂Р檎易址?,必須與設(shè)置的Radix相符,否則編輯框會變?yōu)榧t色提示錯誤(如十六進制就只能輸入0-F)。

句號的點‘.’相當于通配符,如查找“1.2”,便會找到102、112等等。Match用于設(shè)置匹配模式,Beginning、End(以查找內(nèi)容為開頭或結(jié)尾)或Exact(精確值)。Previous和Next在結(jié)果之間切換,如果沒有找到工具條會顯示“Value not found”。
編輯:hfy
-
波形
+關(guān)注
關(guān)注
3文章
404瀏覽量
32973 -
Vivado
+關(guān)注
關(guān)注
19文章
852瀏覽量
70756 -
Waveform
+關(guān)注
關(guān)注
0文章
3瀏覽量
2156
發(fā)布評論請先 登錄
SmartBug2.0 用戶指南:硬件連接、功能使用與數(shù)據(jù)處理全解析
AMD Vivado Design Suite 2025.2版本現(xiàn)已發(fā)布
vcs和vivado聯(lián)合仿真
AMD Vivado設(shè)計套件2025.1版本的功能特性
Tektronix泰克MDO32示波器FFT功能使用指南
Vivado無法選中開發(fā)板的常見原因及解決方法
【HarmonyOS 5】桌面快捷方式功能實現(xiàn)詳解
AMD Vivado Design Suite 2025.1現(xiàn)已推出
泰克TBS1102X示波器FFT功能使用指南
如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果
Vivado 2018.3軟件的使用教程
一文詳解Vivado時序約束
Vivado Waveform功能使用技巧詳解
評論