如果問(wèn)廣大的ICer一個(gè)問(wèn)題,大家在日常仿真中用的最頻繁的工具是什么?
我相信絕大多數(shù)人的答案是Verdi——Synopsys旗下的一款功能強(qiáng)大的工具:
Verdi自動(dòng)化調(diào)試系統(tǒng)是Verdi SoC調(diào)試平臺(tái)的核心,它支持對(duì)所有設(shè)計(jì)和驗(yàn)證流程進(jìn)行全面的調(diào)試。它包括強(qiáng)大的技術(shù),幫助您理解復(fù)雜和不熟悉的設(shè)計(jì)行為,讓困難和乏味的調(diào)試過(guò)程自動(dòng)化,并能讓多樣和復(fù)雜的設(shè)計(jì)環(huán)境一致化。
如上面的官方定義所示:
在IC設(shè)計(jì)中,可以根據(jù)仿真結(jié)果檢查或者理解設(shè)計(jì);
在IC驗(yàn)證中,常常用來(lái)調(diào)試(debug)一些錯(cuò)誤的情況。
在IC君的眼中,Verdi既可以閱讀調(diào)試代碼,又可以查看波形(Verdi里面的nWave工具),包括數(shù)字設(shè)計(jì)的波形和模擬設(shè)計(jì)的波形,確實(shí)是居家旅游、工作賺錢(qián)的必備利器
1、下面分享一些在實(shí)際做項(xiàng)目過(guò)程中verdi在debug時(shí)的小技巧:連續(xù)信號(hào)有效數(shù)量的測(cè)量。
如下圖所示,clk是輸入時(shí)鐘信號(hào),data_enable_in是輸入數(shù)據(jù)有效標(biāo)志信號(hào),y_in則是輸入數(shù)據(jù)。在debug的時(shí)候,有時(shí)我們想要知道白色光標(biāo)和黃色光標(biāo)時(shí)間內(nèi)有多少個(gè)連續(xù)有效的數(shù)據(jù)y_in。我們?cè)撊绾巫龅侥兀?/p>
一般可以使用以下3種方法:
方法1:最直接也是最笨的辦法,當(dāng)然是手動(dòng)去數(shù),1、2、3…;如果該時(shí)間段內(nèi),數(shù)據(jù)量較少,很快就可以數(shù)出來(lái)了。當(dāng)數(shù)據(jù)量較多時(shí),只要你有足夠的耐心和時(shí)間,有時(shí)還需要一副好眼睛,最終也是可以得到正確的結(jié)果。不過(guò)效率非常低下,比較麻煩的是還容易數(shù)錯(cuò)。
方法2:如果已知時(shí)鐘周期(本例子中clkp=6.736ns),則可以計(jì)算該時(shí)間段內(nèi)時(shí)鐘個(gè)數(shù)來(lái)獲知數(shù)據(jù)量;上面例子的圖中兩個(gè)光標(biāo)之間的時(shí)間差delta=188.608ns,delta/T=28,因此就是28個(gè)數(shù)據(jù)了。是不是要比直接用手動(dòng)數(shù)快很多了?這個(gè)辦法雖然準(zhǔn)確,但是每次都要計(jì)算一次,如果需要頻繁的獲知不同時(shí)間段內(nèi)的有效數(shù)據(jù)還是太麻煩了一點(diǎn)。
方法3:本文重點(diǎn)要介紹的方法。該方法是通過(guò)把時(shí)鐘周期設(shè)置為時(shí)間單位,這樣兩個(gè)光標(biāo)之間的時(shí)間差就是該段時(shí)間內(nèi)的有效數(shù)據(jù)量了。具體操作方法如下:
如下圖用鼠標(biāo)點(diǎn)擊1,會(huì)彈出對(duì)話(huà)框;點(diǎn)擊2位置倒三角形,下拉選項(xiàng)中選時(shí)鐘周期單位是ns;然后再把timeunit 改為clock周期6.736ns,點(diǎn)擊OK
再看delta顯示出來(lái)的值,已經(jīng)變成28了,即為我們要數(shù)的數(shù)據(jù)量了。
這個(gè)方法對(duì)于一段時(shí)間內(nèi)的連續(xù)有效數(shù)據(jù)來(lái)說(shuō),應(yīng)該是最簡(jiǎn)單有效的獲取數(shù)據(jù)個(gè)數(shù)的方法了。任意改變兩光標(biāo)的距離或位置,都很直接的得到該段時(shí)間內(nèi)的連續(xù)有效數(shù)據(jù)量。該方法在debug過(guò)程中常常會(huì)用到,請(qǐng)大家善加利用。
2、另外還有一個(gè)比較有效的辦法是利用verdi的nWave里面的Signal Event Report 功能。該方法雖然稍顯麻煩,但善于利用,也可以變得非常好用。方法如下圖:
a.鼠標(biāo)點(diǎn)擊選中clk 這個(gè)信號(hào);
b.點(diǎn)擊view菜單,選擇下拉菜單里面的SignalEvent report,就會(huì)彈出對(duì)話(huà)框;
c.進(jìn)度條往后拖,會(huì)看到Falling#這一欄顯示的數(shù)據(jù)28就是我們要的數(shù)據(jù)量了。
以上就是一段時(shí)間內(nèi)連續(xù)有效數(shù)據(jù)的幾個(gè)測(cè)量方法。debug的時(shí)候方法3最簡(jiǎn)單便捷,應(yīng)用頻率也較高;但是其他幾個(gè)方法在特定的場(chǎng)景下也可以發(fā)揮出自己的作用,需要根據(jù)實(shí)際debug的時(shí)候靈活應(yīng)用。
-
Verdi
+關(guān)注
關(guān)注
0文章
22瀏覽量
8800
原文標(biāo)題:Verdi使用技巧——連續(xù)有效信號(hào)量測(cè)方法
文章出處:【微信號(hào):icstudy,微信公眾號(hào):跟IC君一起學(xué)習(xí)集成電路】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論