使用波形配置文件
Vivado Simulator允許用戶自定義波形顯示方式,當(dāng)前的顯示狀態(tài)稱作波形配置。波形配置可以保存為WCFG文件,供以后使用。一個(gè)波形配置對(duì)應(yīng)一個(gè)Wave窗口,沒(méi)有保存的波形配置顯示為untitled。打開仿真后,F(xiàn)ile菜單中有與波形配置相關(guān)的指令:
這些控制功能依次是:
- New Waveform Configuration:創(chuàng)建一個(gè)新的波形配置,Vivado會(huì)打開一個(gè)新波形窗口,但是不包含任何HDL對(duì)象,設(shè)計(jì)者從Scope或Object窗口中人工添加;
- Open Waveform Configuration:打開配置文件同時(shí)打開一個(gè)波形窗口,會(huì)顯示存儲(chǔ)在WCFG文件中對(duì)象的波形數(shù)據(jù);
- Saving a Wave Configuration:保存當(dāng)前波形配置到WCFG文件中。
如果關(guān)閉了仿真,下次需要使用是只是想查看上次仿真的結(jié)果,而不是重新運(yùn)行仿真,點(diǎn)擊Flow菜單下的Open Static Simulation,選擇WDB文件即可(在project.sim/sim_1/behav路徑下)。靜態(tài)仿真模式下,Vivado Simulator會(huì)從WDB文件中讀取數(shù)據(jù)并顯示。
運(yùn)行仿真過(guò)程中,會(huì)將顯示的HDL對(duì)象的波形活動(dòng)、Sope窗口中的對(duì)象、Objects窗口中的對(duì)象存儲(chǔ)到WDB文件中。但注意,Vivado不能打開2014.3版本之前創(chuàng)建的WDB文件。
窗口對(duì)象(wave object)
向波形配置中添加一個(gè)HDL對(duì)象,其實(shí)并不是直接添加該對(duì)象,Vivado會(huì)創(chuàng)建一個(gè)窗口對(duì)象,該對(duì)象與HDL對(duì)象有聯(lián)系也有區(qū)別。借助此特性,一個(gè)HDL對(duì)象可以創(chuàng)建多個(gè)與其相關(guān)的窗口對(duì)象,且每個(gè)窗口對(duì)象的顯示設(shè)置可以不同。比如一個(gè)用16進(jìn)制顯示,另一個(gè)用10進(jìn)制顯示。
由HDL對(duì)象而來(lái)的窗口對(duì)象稱作設(shè)計(jì)窗口對(duì)象,除此之外,還有其它的對(duì)象類型:隔離帶(divider)、群組(group)、虛擬總線(virtual buses)。這些對(duì)象都是為了提高觀察波形的便捷性,前兩者示例如下圖。虛擬總線是將多個(gè)信號(hào)組合為一個(gè)總線顯示。
波形窗口中包含Name、Value和波形三部分。
- Name默認(rèn)顯示為short形式,右鍵菜單中Rename指令可以創(chuàng)建custom名稱,Name指令選擇顯示方式為short、long(顯示對(duì)象所處層次路徑)或custom。
- Value根據(jù)格式和基數(shù)設(shè)置顯示方式不同,注意波形窗口中的radix和Objects窗口中的radix設(shè)置只作用于各自的窗口。
默認(rèn)Value顯示的基數(shù)為16進(jìn)制,想要改變默認(rèn)設(shè)置,在波形窗口中點(diǎn)擊Settings,選擇一個(gè)Radix:
順便再介紹下其它設(shè)置選項(xiàng)實(shí)現(xiàn)的功能效果:
- Elide Setting:如果信號(hào)名字太長(zhǎng)無(wú)法完整顯示,該選項(xiàng)設(shè)置從哪邊開始省略字符顯示,包括left、middle和right。
- Draw Waveform Shadow:選中,波形顯示會(huì)帶有陰影效果。
- Show signal indices:選中,波形對(duì)象的Name左側(cè)會(huì)顯示對(duì)應(yīng)的行數(shù),并且可以拖動(dòng)行數(shù)之間的橫線來(lái)改變波形對(duì)象的高度。
- Show grid lines:選中,波形窗口中會(huì)顯示網(wǎng)格線。
- Snap to Transition/Floating Ruler:與測(cè)量有關(guān),具體在下文介紹。
在選中對(duì)象的右鍵菜單->Radix中可以設(shè)置單個(gè)信號(hào)的基數(shù)(應(yīng)與該信號(hào)的本質(zhì)相符),常見(jiàn)的基數(shù)已經(jīng)非常熟悉。Radix還可以選擇為Real,設(shè)計(jì)者可以在Real Setting中設(shè)置Value按指定的定點(diǎn)數(shù)或浮點(diǎn)數(shù)格式顯示,提供了極大的便利性。
該功能非常實(shí)用,比如CORDIC IP核在計(jì)算arctan函數(shù)時(shí),輸出數(shù)據(jù)為帶符號(hào)、小數(shù)點(diǎn)從MSB三位后的格式,只需要在這里設(shè)置相應(yīng)格式,就可以直接顯示為-pi~pi的范圍,而不需要人工計(jì)算。
設(shè)置模擬波形顯示方式
有時(shí)總線數(shù)據(jù)用模擬波形的方式觀察更直觀,但注意信號(hào)的Radix設(shè)置必須符合其本質(zhì),才能顯示正確的波形。比如一個(gè)總線數(shù)據(jù)按帶符號(hào)二進(jìn)制補(bǔ)碼編碼,Radix必須設(shè)置為一種帶符號(hào)格式;如果一個(gè)數(shù)據(jù)為浮點(diǎn)數(shù)格式,必須選擇real并做正確的設(shè)置。
在對(duì)象右鍵->Waveform Style,可選擇模擬(Analog)或數(shù)字(Digital)顯示方式,Anolog Settings中可以設(shè)置模擬波形的顯示方式。注意:模擬顯示僅支持位寬不超過(guò)64Bits的總線。
下面介紹一下各選項(xiàng)的設(shè)置方法和效果:
- Row Height:規(guī)定選中對(duì)象的顯示高度,單位為像素點(diǎn)數(shù)目,相當(dāng)于收縮或拉伸波形的高度(digital顯示方式高度為20,analog顯示高度默認(rèn)為100)。
- Y Range:規(guī)定波形區(qū)域的數(shù)值顯示范圍。Auto模式下根據(jù)當(dāng)前的仿真時(shí)間內(nèi)的值自動(dòng)選擇范圍,且會(huì)隨時(shí)間更新;Fixed設(shè)置固定的顯示范圍。
- Interpolation Style:設(shè)置將數(shù)據(jù)點(diǎn)連成線的插值方式,Liner表示線性插值,Hold表示保持插值,兩個(gè)點(diǎn)之間的數(shù)據(jù)會(huì)保持前一個(gè)點(diǎn)的數(shù)據(jù)值。
- Off Scale:設(shè)置超出顯示范圍的波形該如何處理,Hide會(huì)隱藏超出范圍的部分,Clip會(huì)超出范圍為的部分限制在最大值/最小值(即削頂),overlap在超出范圍時(shí)仍然會(huì)顯示波形,但是波形會(huì)疊在其它波形對(duì)象上。
- Horizontal Line:選中會(huì)在指定值處畫一條水平線。
此外,某些總線信號(hào)的有效順序可能與定義的Bit順序相反,可以在右鍵菜單中選擇“Reverse bit order”交換總線Bit順序,如bus[7:0]交換后為bit[0:7],信號(hào)的值和波形也會(huì)跟著改變。
在時(shí)間刻度上右鍵,可以設(shè)置顯示時(shí)間的方式,包括fs、ps、ns、us、ms、s,Auto會(huì)自動(dòng)選擇最適合的單位,Default表示HDL設(shè)計(jì)中規(guī)定的仿真精度。此外還有Samples以離散采樣數(shù)值的方式顯示,User為用戶自定義的時(shí)間單位,但這兩個(gè)設(shè)置對(duì)HDL無(wú)效。
觀察波形輔助工具
上文提到窗口對(duì)象中還包括如下三類,來(lái)幫助設(shè)計(jì)觀察仿真結(jié)果:
- Group:一個(gè)Group相當(dāng)于一個(gè)容器,將相關(guān)的波形對(duì)象組合在一個(gè)文件夾中。選中想要添加的對(duì)象,右鍵->New Group即可建立一個(gè)新組。注意選中g(shù)roup后delete會(huì)刪除掉該組和內(nèi)部所有的對(duì)象,如果只是想解散組,使用右鍵菜單中的Ungroup。
- Divider:divider用來(lái)隔離不同的HDL對(duì)象,點(diǎn)擊信號(hào)的右鍵菜單中->New Divider,會(huì)在其下方創(chuàng)建一條隔離帶,delete即可刪除。
- Virtual Bus:可以將多個(gè)標(biāo)量或向量組合在一起作為虛擬總線顯示,按順序選中要添加的對(duì)象,右鍵->New Virtual Bus。同樣delete會(huì)刪除掉虛擬總線所有對(duì)象,僅刪除虛擬總線應(yīng)使用Ungroup。
除此之外,Vivado還提供了一些其它特性幫助設(shè)計(jì)者分析波形中的數(shù)據(jù):
1.光標(biāo)
在波形上單擊,會(huì)出現(xiàn)黃色的光標(biāo),稱之為主光標(biāo);按住Shift鍵,再在另一個(gè)地方點(diǎn)擊,會(huì)出現(xiàn)第二個(gè)光標(biāo),稱之為輔助光標(biāo)(虛線,會(huì)替換原主光標(biāo)所在位置)。頂部會(huì)顯示每個(gè)光標(biāo)所處的時(shí)間點(diǎn),底部有刻度尺且顯示兩者之間的時(shí)間差(顯示刻度尺需要在設(shè)置中選中Floating Ruler)。單擊波形窗口的任意地方,即可隱藏輔助光標(biāo)。
如果設(shè)置中選中了Snap to Transition,拖動(dòng)光標(biāo)過(guò)程中會(huì)有一個(gè)根據(jù)數(shù)據(jù)轉(zhuǎn)換狀態(tài)變換的圈(不選中該功能始終為空心圈,不會(huì)變化)??招娜Α鸨硎竟鈽?biāo)處在信號(hào)的兩個(gè)過(guò)度點(diǎn)之間(過(guò)度點(diǎn)即為值發(fā)生改變的點(diǎn));實(shí)心圈●表示光標(biāo)位于過(guò)度點(diǎn)處或標(biāo)記(marker)上。如下圖所示:
通過(guò)此功能,設(shè)計(jì)者即可準(zhǔn)確地將光標(biāo)置于信號(hào)的邊緣處。波形窗口工具欄中還有Previous Transition和Next Transition兩個(gè)功能,可以改變光標(biāo)位置到選定對(duì)象的前一個(gè)或后一個(gè)過(guò)度點(diǎn)??梢酝瑫r(shí)選中多個(gè)對(duì)象。
2.標(biāo)記
標(biāo)記(Marker)用來(lái)指示波形中設(shè)計(jì)者關(guān)心的重大事件,可以對(duì)與標(biāo)記事件相關(guān)的時(shí)間進(jìn)行測(cè)量。在窗口工具欄中點(diǎn)擊Add Marker(如下圖紅框)添加標(biāo)記,自動(dòng)測(cè)量并顯示標(biāo)記與光標(biāo)之間的時(shí)間差。
標(biāo)記同樣支持Snap to Transition功能,讓設(shè)計(jì)者可以準(zhǔn)確地標(biāo)記信號(hào)邊緣。在標(biāo)記上右鍵,選中Delete Marke**r或**Delete All Markers即可刪除標(biāo)記。底部也會(huì)顯示時(shí)間刻度尺輔助時(shí)間測(cè)量,0時(shí)刻從輔助光標(biāo)開始,如果沒(méi)有輔助光標(biāo)會(huì)從選中的Marker處開始。
3.查找功能
右鍵菜單中Find/Find Value可分別用于查找某一對(duì)象或者選中對(duì)象中的特定值??瞻卓蛑休斎霂Р檎易址?,必須與設(shè)置的Radix相符,否則編輯框會(huì)變?yōu)榧t色提示錯(cuò)誤(如十六進(jìn)制就只能輸入0-F)。
句號(hào)的點(diǎn)‘.’相當(dāng)于通配符,如查找“1.2”,便會(huì)找到102、112等等。Match用于設(shè)置匹配模式,Beginning、End(以查找內(nèi)容為開頭或結(jié)尾)或Exact(精確值)。Previous和Next在結(jié)果之間切換,如果沒(méi)有找到工具條會(huì)顯示“Value not found”。
編輯:hfy
-
波形
+關(guān)注
關(guān)注
3文章
397瀏覽量
32740 -
Vivado
+關(guān)注
關(guān)注
19文章
844瀏覽量
70061 -
Waveform
+關(guān)注
關(guān)注
0文章
3瀏覽量
2117
發(fā)布評(píng)論請(qǐng)先 登錄
AMD Vivado設(shè)計(jì)套件2025.1版本的功能特性

vivado仿真時(shí)GSR信號(hào)的影響

Tektronix泰克MDO32示波器FFT功能使用指南

Vivado無(wú)法選中開發(fā)板的常見(jiàn)原因及解決方法

AMD Vivado Design Suite 2025.1現(xiàn)已推出
泰克TBS1102X示波器FFT功能使用指南

如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

一文詳解Vivado時(shí)序約束

AMD Vivado Design Suite IDE中的設(shè)計(jì)分析簡(jiǎn)介

Vivado Design Suite用戶指南:邏輯仿真

AMD Vivado Design Suite 2024.2全新推出
Xilinx_Vivado_SDK的安裝教程

每次Vivado編譯的結(jié)果都一樣嗎

使用Vivado通過(guò)AXI Quad SPI實(shí)現(xiàn)XIP功能

Vivado使用小技巧

評(píng)論