當(dāng)前位置: 首頁 > 新聞熱點(diǎn)
發(fā)布日期:2022-07-14 點(diǎn)擊率:23
SIC設(shè)計(jì)人員進(jìn)行了長達(dá)數(shù)年的驗(yàn)證策略討論之后,我終于醒悟了:我們正處在一個(gè)設(shè)計(jì)人員需要管理數(shù)十億次仿真循環(huán)的階段。
目前在視頻芯片領(lǐng)域,標(biāo)準(zhǔn)和高清電視都很熱門,這些芯片的設(shè)計(jì)人員需要完成數(shù)百次一致性數(shù)據(jù)流仿真,才能確保芯片可以出貨。在無線手持終端市場,固件則是關(guān)鍵。最終器件需要引導(dǎo)Linux系統(tǒng)并在LCD屏幕上運(yùn)行Java應(yīng)用程序。網(wǎng)絡(luò)路由的設(shè)計(jì)人員需要通過偽隨機(jī)交通加大芯片的負(fù)荷,從而得到像丟包率這些關(guān)鍵性能參數(shù)的基準(zhǔn)。
所有這些任務(wù)都有一個(gè)共同點(diǎn):他們需要數(shù)十億次的仿真循環(huán)。只要設(shè)計(jì)人員認(rèn)識(shí)到,他或者她無法像其他那些仿真那樣管理數(shù)十億次循環(huán)時(shí),他們的情況就像撞到了墻,我把這種情況稱為“十億次循環(huán)挑戰(zhàn)。”
當(dāng)然,第一個(gè)挑戰(zhàn)就是運(yùn)行十億次仿真循環(huán)需要多長時(shí)間。對(duì)平均規(guī)模的設(shè)計(jì)來說,寄存器傳輸級(jí)(RTL)仿真需要大約10天的量級(jí)。如果在RTL代碼上修改一條連線,并且需要重新運(yùn)行所有的測試來保證沒有問題,那么所需的耗時(shí)就很不切實(shí)際了。花費(fèi)幾分鐘倒還可以,難道不是這樣嗎?
第二個(gè)挑戰(zhàn)是在這么多次循環(huán)中保持芯片繁忙所需的帶寬。讓我們用一個(gè)可以實(shí)時(shí)處理3 gigabit數(shù)據(jù)的HDTV芯片來做例子。如果設(shè)計(jì)團(tuán)隊(duì)有十天時(shí)間用于十億次仿真循環(huán),測試平臺(tái)只需要向該設(shè)計(jì)提供約10 kbit的數(shù)據(jù)--這是一個(gè)合理的數(shù)目。這也是為什么每個(gè)人都容易忘掉帶寬的原因。如果目標(biāo)是在幾分鐘內(nèi)完成仿真,那就意味著向設(shè)計(jì)提供200 megabit量級(jí)的數(shù)據(jù)。要移動(dòng)這樣量級(jí)的數(shù)據(jù)需要特殊種類的測試平臺(tái)。
第三個(gè)挑戰(zhàn)是調(diào)試。設(shè)計(jì)人員如何在十億次循環(huán)中進(jìn)行查找呢?如果,僅僅是一種可能,在像快速信號(hào)數(shù)據(jù)庫(FSDB)這樣的壓縮格式中進(jìn)行完全RTL級(jí)追蹤,將會(huì)占用硬盤上4 terabyte的數(shù)據(jù)。只是從快速硬盤上讀取文件就需要數(shù)天時(shí)間。完全的數(shù)據(jù)查詢也同樣是不可能的。
跟房地產(chǎn)行業(yè)一樣,答案就是“位置,位置,位置。”設(shè)計(jì)人員希望能在不同的抽象層次之間進(jìn)行查找。嵌入式軟件處在最高層,而可能產(chǎn)生問題的級(jí)別包括:
* 操作系統(tǒng)已經(jīng)完成引導(dǎo)了嗎?
* 進(jìn)程是否卡在某個(gè)中斷處理中?
* 為什么設(shè)備的驅(qū)動(dòng)器不能正確處理數(shù)據(jù)?
一旦設(shè)計(jì)人員完成了定位--在較高層次--發(fā)生問題的地方,他或她就可以開始對(duì)這個(gè)區(qū)域進(jìn)行放大,并進(jìn)入較低的抽象層次。接著可以在監(jiān)控、檢查和斷言的幫助下縮小問題的范圍并跟蹤出可能的根源。只有在設(shè)計(jì)人員在這兩個(gè)級(jí)別檢查了所有的信息之后,他們才可以進(jìn)入信號(hào)級(jí)別,并獲得已完成識(shí)別的某段RTL波形。在不同抽象層次之間查找問題的能力,也就是從軟件開始逐漸進(jìn)入硬件的過程,可以避免在大量的仿真中迷失方向。只有同時(shí)解決了上述三個(gè)挑戰(zhàn),設(shè)計(jì)團(tuán)隊(duì)才算真正克服了“十億次循環(huán)挑戰(zhàn)。”
作者:Alain Raynaud
技術(shù)總監(jiān)
EVE公司