Deterministic ICE中也許已完美地將電路內(nèi)仿真 (ICE)與基于軟件測試的虛擬環(huán)境相結(jié)合。
需要指出的是,ICE模式曾經(jīng)是硬件加速器的第一種部署方式。在這種模式中,硬件加速器需要插入物理目標(biāo)系統(tǒng)上的插孔,以此代替待開發(fā)的芯片,從而利用實(shí)時數(shù)據(jù)支持運(yùn)行和調(diào)試硬件加速器內(nèi)部映射的被測設(shè)計(DUT)。
與ICE模式相比,筆者更喜歡虛擬環(huán)境模式中的部署,且該模式擁有基于軟件的測試環(huán)境。與寄存器傳輸級 (RTL) 相比,它是在更高抽象層次上進(jìn)行編寫的,以此代替物理目標(biāo)系統(tǒng)。(參見下表)。
正如意大利的一句流行說法:“讓凱撒得到他應(yīng)得的”?;蛘呷缑绹囊痪淞餍姓Z,“即使對不喜歡的事物也要公平對待”。顯然,ICE最大的好處就是可以通過真實(shí)流量來運(yùn)行DUT,進(jìn)而減少耗時并且避免測試平臺創(chuàng)建過程中可能出現(xiàn)的錯誤。趕緊在實(shí)際應(yīng)用中全面施行這一流程吧。想必,要在模糊的設(shè)計區(qū)域里尋找令人厭煩的隱匿錯誤,實(shí)際應(yīng)用會比任何基于軟件的測試平臺都更為有效。
ICE的另一個獨(dú)特性在于它能支持與目標(biāo)系統(tǒng)連接的自定義和專有接口,而該目標(biāo)系統(tǒng)基于的高度機(jī)密IP內(nèi)容是硬件加速仿真的終端用戶絕無法向外界披露的。將這種方法與創(chuàng)建和調(diào)試測試平臺比較。如果出現(xiàn)錯誤,設(shè)計人員最后總是會問:“這是測試平臺錯誤還是設(shè)計錯誤?”很顯然,調(diào)試測試臺會延長驗(yàn)證任務(wù)的總分配時間,而用于驗(yàn)證的時間從來都是不夠的。
ICE驗(yàn)證方法伴隨著眾多問題,其中大部分問題源于該方式的硬件本質(zhì)。這些問題包括缺乏靈活性、有限的復(fù)用性、存在潛在不可靠性以及各種影響部署的不便性。更別提,ICE還會產(chǎn)生額外成本以及功耗,這些可通過虛擬方式降低或快速消除。
其中最突出的一個問題就是:當(dāng)調(diào)試DUT時,它缺少確定性或者可重復(fù)性。
設(shè)計調(diào)試
設(shè)計調(diào)試是無法提前規(guī)劃的一種探尋過程。這是因?yàn)?,錯誤往往因?yàn)槲粗脑颍谖粗牡胤胶蜁r間,出其不意的出現(xiàn)。
如果將其應(yīng)用于包含大量嵌入式軟件的幾億門片上系統(tǒng) (SoC) 設(shè)計時,調(diào)試過程需要較長序列。為了在硬件或者軟件設(shè)計中找到隱藏于未知角落的錯誤,這些序列需要運(yùn)行,即使不是幾十億次,也得是幾百萬次的驗(yàn)證周期。
在以上示例中,存在三個關(guān)鍵未知因素:地點(diǎn)、時間和事由。這三個因素足以延誤整個測試計劃的進(jìn)度,即便該計劃已經(jīng)過深思熟慮。請謹(jǐn)記,在競爭如此激烈的市場中,若一項(xiàng)生命周期為24個月的新產(chǎn)品延期一個月上市,那么它將造成 相當(dāng)于潛在總收益12%的損失。若產(chǎn)品生命周期為12個月,如現(xiàn)代智能手機(jī),其潛在損失將大幅增加,約占總收益的25%或四分之一。
潛在的損失足以說明驗(yàn)證解決方案的價值所在。
硬件加速仿真就是此項(xiàng)任務(wù)的最佳選擇。硬件加速器的性能極為快速,與硬件描述語言(HDL)軟件仿真器相比,其執(zhí)行和調(diào)試速度高出了幾個數(shù)量級。事實(shí)上,它們的快速執(zhí)行速度便是它們的設(shè)計初衷。對于疑似隱藏設(shè)計問題的區(qū)域,它們即便在運(yùn)行了幾十億次周期之后,仍能快速縮放。
雖然相較于基于軟件的驗(yàn)證解決方案,硬件仿真價格更高昂,但在從每個驗(yàn)證周期來看,它們卻是最便宜的驗(yàn)證引擎。
ICE 調(diào)試問題
然而,在ICE模式中調(diào)試芯片設(shè)計會顯得過于繁瑣而又令人沮喪。這是由于物理目標(biāo)系統(tǒng)缺少確認(rèn)性以及可預(yù)測的行為,從而妨礙了錯誤的發(fā)現(xiàn)并延長了發(fā)現(xiàn)時間。
使用硬件加速器追蹤DUT的錯誤,就需要基于特定時間觸發(fā),全速地把每個設(shè)計寄存器的活動捕獲到追蹤存儲器中。追蹤存儲器容量很有限,僅能容納幾百萬次周期的波形深度,這相較于幾十億次全速運(yùn)行的周期是非常少的。
連續(xù)運(yùn)行時,會在不同的時間/區(qū)域內(nèi)顯示相同的設(shè)計錯誤或者根本不顯示任何設(shè)計錯誤。
因此,用戶為了找到自己感興趣的調(diào)試窗口和轉(zhuǎn)儲正確的波形最終需要進(jìn)行多次——很可能是數(shù)百次的運(yùn)行。由于ICE模式行為具有隨機(jī)性,每次運(yùn)行都可能會在不同的時間點(diǎn)內(nèi)檢測出相同的錯誤,甚至更糟糕的是,根本檢測不出任何錯誤(參見上圖)。它具有隨機(jī)性。很顯然,在ICE模式中復(fù)現(xiàn)錯誤是一項(xiàng)挑戰(zhàn),其對于快速找到錯誤根源至關(guān)重要。
來看下SoC大量使用第三方IP的例子。經(jīng)常,一個能單獨(dú)工作的IP核在內(nèi)嵌于SoC時卻無法工作。利用ICE模式對深埋于DUT的IP進(jìn)行調(diào)試可能會導(dǎo)致驗(yàn)證團(tuán)隊沒日沒夜地加班。
Deterministic ICE
于是,問題變成了:是否可讓ICE的調(diào)試環(huán)境具有確定性?很高興,答案是肯定的。
如果設(shè)計人員在精確序列中的首次運(yùn)行中,捕捉到激勵和響應(yīng),然后移除物理目標(biāo)系統(tǒng)(內(nèi)在非確定性)并不斷回放激勵,那么調(diào)試環(huán)境將具有可重復(fù)性和確定性。這就稱為Deterministic ICE。
基本上,這種方法是將物理ICE環(huán)境轉(zhuǎn)變?yōu)榈刃У奶摂M環(huán)境,從而讓設(shè)計人員獲得虛擬環(huán)境的所有特征和功能優(yōu)勢。它們可以檢查斷言與覆蓋率收斂、執(zhí)行低功耗分析和功耗估計,并進(jìn)行嵌入式軟件調(diào)試。
當(dāng)需要專有接口時,ICE模式是硬件加速仿真用戶的唯一可行方案。值得慶幸的是,Deterministic ICE能幫助設(shè)計人員避免眾多問題,改善ICE模式不那么吸引人的形象。
-
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
120915 -
存儲器
+關(guān)注
關(guān)注
38文章
7525瀏覽量
164160 -
加速器
+關(guān)注
關(guān)注
2文章
806瀏覽量
37999
發(fā)布評論請先 登錄
相關(guān)推薦
評論