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