使用波形配置文件
Vivado Simulator允許用戶自定義波形顯示方式,當(dāng)前的顯示狀態(tài)稱作波形配置。波形配置可以保存為WCFG文件,供以后使用。一個(gè)波形配置對(duì)應(yīng)一個(gè)Wave窗口,沒有保存的波形配置顯示為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)行仿真過程中,會(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ì)象而來的窗口對(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)無法完整顯示,該選項(xiàng)設(shè)置從哪邊開始省略字符顯示,包括left、middle和right。
- Draw Waveform Shadow:選中,波形顯示會(huì)帶有陰影效果。
- Show signal indices:選中,波形對(duì)象的Name左側(cè)會(huì)顯示對(duì)應(yīng)的行數(shù),并且可以拖動(dòng)行數(shù)之間的橫線來改變波形對(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ì)相符),常見的基數(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è)置模擬波形的顯示方式。注意:模擬顯示僅支持位寬不超過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無效。
觀察波形輔助工具
上文提到窗口對(duì)象中還包括如下三類,來幫助設(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用來隔離不同的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)過程中會(huì)有一個(gè)根據(jù)數(shù)據(jù)轉(zhuǎn)換狀態(tài)變換的圈(不選中該功能始終為空心圈,不會(huì)變化)??招娜Α鸨硎竟鈽?biāo)處在信號(hào)的兩個(gè)過度點(diǎn)之間(過度點(diǎn)即為值發(fā)生改變的點(diǎn));實(shí)心圈●表示光標(biāo)位于過度點(diǎn)處或標(biāo)記(marker)上。如下圖所示:
通過此功能,設(shè)計(jì)者即可準(zhǔn)確地將光標(biāo)置于信號(hào)的邊緣處。波形窗口工具欄中還有Previous Transition和Next Transition兩個(gè)功能,可以改變光標(biāo)位置到選定對(duì)象的前一個(gè)或后一個(gè)過度點(diǎn)。可以同時(shí)選中多個(gè)對(duì)象。
2.標(biāo)記
標(biāo)記(Marker)用來指示波形中設(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)開始,如果沒有輔助光標(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é)果之間切換,如果沒有找到工具條會(huì)顯示“Value not found”。
編輯:hfy
-
波形
+關(guān)注
關(guān)注
3文章
390瀏覽量
32348 -
Vivado
+關(guān)注
關(guān)注
19文章
835瀏覽量
68794 -
Waveform
+關(guān)注
關(guān)注
0文章
3瀏覽量
2054
發(fā)布評(píng)論請(qǐng)先 登錄
Vivado無法選中開發(fā)板的常見原因及解決方法

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通過AXI Quad SPI實(shí)現(xiàn)XIP功能

Vivado使用小技巧

Vivado編輯器亂碼問題

評(píng)論