使用 Verdi 的過程中,難免會(huì)碰到表示某種變化量的多位寬數(shù)字信號(hào),我們關(guān)心的是它的變化趨勢(shì)。今天主要聊聊數(shù)字信號(hào)的模擬化呈現(xiàn)。
數(shù)字信號(hào)的模擬化呈現(xiàn)
Verdi 提供了既簡單又直觀的操作,去繪制數(shù)字信號(hào)的模擬變化趨勢(shì)。尤其是在觀察周期性計(jì)數(shù)的數(shù)字信號(hào)時(shí),例如調(diào)制頻率的變化,還有 FIFO 讀寫地址的變化,這種方式基本是可以做到一目了然的。
操作方式:nWave 窗口菜單 - Waveform - Analog Waveform
對(duì)于 Verdi 這個(gè)工具來說,它對(duì)于數(shù)字信號(hào)本身的含義目前還沒有智能到可以自動(dòng)識(shí)別。所以我們需要指定特定數(shù)字信號(hào)的表示方式(Notation),是無符號(hào)、二補(bǔ)碼還是補(bǔ)碼等等。
操作方式:nWave 窗口菜單 - Waveform - Set Notation
模擬波形的顯示范圍
還有一個(gè)可能遇到的局限性就是,Verdi 在繪制數(shù)字信號(hào)的模擬波形時(shí),默認(rèn)會(huì)按照整個(gè)波形的動(dòng)態(tài)范圍來繪圖。如果一個(gè)數(shù)字信號(hào)的初始值和工作時(shí)實(shí)際的動(dòng)態(tài)范圍差別很大,那么觀察實(shí)際工作時(shí)的模擬波形時(shí),波形變化的幅度相比整個(gè)動(dòng)態(tài)范圍就會(huì)太小,無法明了的看到小動(dòng)態(tài)范圍的變化趨勢(shì)。
手動(dòng)調(diào)節(jié)顯示范圍
還好 Verdi 提供了手動(dòng)調(diào)節(jié)顯示范圍的功能。
操作方式:nWave 窗口菜單 - Analog - Zoom Value...
根據(jù)需要調(diào)節(jié)上限和下限,調(diào)節(jié)過程中波形是實(shí)時(shí)更新的。
對(duì)比效果如下圖,第一個(gè)信號(hào)是默認(rèn)范圍的,動(dòng)態(tài)變化縮成一條直線了,沒有觀察價(jià)值。第二個(gè)信號(hào)是調(diào)整了范圍的,可以清楚的看到變化趨勢(shì)。第三個(gè)是原始的數(shù)字信號(hào)。
自動(dòng)調(diào)節(jié):切換 FSDB 文件
還有一個(gè)比較笨的解決方法是,寫出 FSDB 文件時(shí),根據(jù)特定信號(hào),從數(shù)字信號(hào)開始動(dòng)態(tài)變化的時(shí)候,做一個(gè)文件切換。這樣就把數(shù)字信號(hào)初始化部分的波形分離出去。當(dāng)我們著重分析動(dòng)態(tài)變化的部分時(shí),就不需要加載初始化部分的波形。Verdi 在繪制模擬波形的時(shí)候,只會(huì)看到小動(dòng)態(tài)范圍的數(shù)值,繪制出來的變化趨勢(shì)就足夠清楚了。
$fsdbDumpfile("tb_000.fsdb");
$fsdbDumpvars(0, tb);
@(posedge some_trigger_signal);
$fsdbSwitchDumpfile("tb_001.fsdb");
自動(dòng)調(diào)節(jié):加載特定時(shí)間范圍
當(dāng)然作為團(tuán)隊(duì)項(xiàng)目的螺絲釘,有時(shí)候不方便控制 FSDB 文件的產(chǎn)生方式,那么在加載 FSDB 文件的時(shí)候,可以選擇指定一個(gè)時(shí)間范圍。感謝讀者 @Erik Li
提供的這個(gè)技巧。
操作方式:nWave窗口菜單 - Open,選擇 FSDB 文件到 Target Name 后,點(diǎn)擊左下方的 Options... 按鈕。
在彈出的對(duì)話框中選中 Open File By Time Range,然后點(diǎn)擊 OK 按鈕。
再點(diǎn)擊 OK 按鈕,在彈出的對(duì)話框中就可以選擇感興趣的時(shí)間起止范圍了。
如何提高螺絲釘?shù)淖晕倚摒B(yǎng)
今天就到這里。最后再分享一個(gè)最近才發(fā)現(xiàn)的 Verdi 調(diào)用參數(shù)。
verdi -preTitle "some text"
螺絲釘做久了,需要同時(shí)打開的 Verdi 窗口數(shù)量與日俱增。怎么從密密麻麻的任務(wù)欄圖標(biāo)中找到要找的那個(gè),是個(gè)麻煩但不緊急的問題。除了貫徹?cái)嗌犭x、及時(shí)關(guān)閉短期內(nèi)不需要的窗口之外,用上面的選項(xiàng)為每一個(gè) Verdi 窗口做個(gè)簡潔唯一的命名,也是一個(gè)不那么有效的解決之道。
-
數(shù)字信號(hào)
+關(guān)注
關(guān)注
2文章
936瀏覽量
47472 -
模擬器
+關(guān)注
關(guān)注
2文章
862瀏覽量
43087 -
FIFO存儲(chǔ)
+關(guān)注
關(guān)注
0文章
103瀏覽量
5953
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論