芯片設(shè)計調(diào)試是一門困難的學科,而片上系統(tǒng) (SoC) 設(shè)計則更是如此。這就像眾所周知的大海撈針。對于 SoC 設(shè)計,它是兩個大海撈針,一個用于軟件,另一個用于硬件。軟件開發(fā)團隊經(jīng)常將集體矛頭指向硬件團隊,聲稱這是一個硬件錯誤,而硬件團隊則迅速回擊,聲稱這是一個軟件錯誤。如果沒有有效的驗證工具來查明問題,就很難知道誰是對的。這就是硬件仿真的用武之地。
硬件仿真對于調(diào)試硬件和測試 SoC 設(shè)計中硬件和軟件的集成非常重要,遠遠早于第一個芯片。當工程組的兩個不同部分(硬件設(shè)計師和軟件開發(fā)人員)使用仿真時,他們能夠共享相同的系統(tǒng)和設(shè)計表示。SoC 設(shè)計的組合軟件和硬件視圖使它們能夠協(xié)同工作以調(diào)試硬件和軟件交互。
作為大多數(shù) SoC 驗證流程的基礎(chǔ),硬件仿真允許工程團隊更有策略地進行規(guī)劃并實施基于多個抽象級別的調(diào)試方法。工程團隊不必彼此獨立地鉆進兩個干草堆。相反,他們可以跨嵌入式軟件和底層硬件之間的邊界跟蹤錯誤,以確定問題出在軟件還是硬件上。
實現(xiàn)基于多個抽象級別的調(diào)試方法從最高級別的嵌入式軟件開始,然后在抽象級別向下移動以跟蹤各個硬件元素的行為。事實上,從包含數(shù)十億個時鐘周期的數(shù)據(jù)庫開始,軟件調(diào)試器可以將問題定位到幾百萬個時鐘周期內(nèi)。在這個級別,軟件開發(fā)人員可以識別軟件代碼中的源代碼,或者他們的硬件設(shè)計同行可以使用軟件感知硬件調(diào)試方法來專注于較低的抽象級別。該方法要求通過硬件事務(wù)器實現(xiàn)監(jiān)視器、檢查器和斷言,以避免速度下降并幫助將問題縮小到幾千個周期。
一旦審查了這兩個級別收集的數(shù)據(jù),硬件仿真允許工程組向下移動到信號級別。它可以通過所識別時間段的寄存器傳輸電平(RTL)波形分析信息,并追蹤其可能的來源。要么發(fā)現(xiàn)了硬件錯誤,要么清除了硬件故障。如果是后者,它會迫使決定回到軟件環(huán)境。
導航多個級別的調(diào)試抽象
在不同的抽象級別之間導航——從軟件到硬件再到后面——避免了長時間的模擬運行和大量的詳細數(shù)據(jù)(圖 1)。
【圖1 | 硬件仿真為軟件和硬件調(diào)試提供了一個生態(tài)系統(tǒng)。]
軟件模擬器無法實現(xiàn)多級調(diào)試方法,因為它們太慢而無法有效執(zhí)行嵌入式軟件。實際上,它們將運行數(shù)月來處理數(shù)十億個設(shè)計周期,這些設(shè)計的大小達到數(shù)億個專用集成電路 (ASIC) 等效門。對于消費電子設(shè)備或任何其他電子設(shè)備的供應(yīng)商來說,這是一個不可接受的時間限制。
雖然仍然被廣泛使用,但在驗證場景中推動其成功的原始仿真風格的在線仿真 (ICE) 模式現(xiàn)在在基于事務(wù)的驗證中面臨著可行的替代方案。從概念上講,這個想法很簡單。測試是在高級抽象上編寫的,從高級命令到位級信號的轉(zhuǎn)換從測試臺轉(zhuǎn)移到稱為事務(wù)器的專用實體中。通過將事務(wù)處理器映射到硬件仿真器上,與基于仿真的驗證相比,可以輕松實現(xiàn) 5 或 6 個數(shù)量級的加速。
工程組使用事務(wù)處理程序來構(gòu)建虛擬測試環(huán)境,而不是 ICE 物理目標系統(tǒng),方法是用一組等效的事務(wù)處理程序替換一組基于 I/O 協(xié)議的速度適配器(圖 2)。
【圖2 | 一個完整的虛擬測試環(huán)境包括通過事務(wù)建模的所有 SoC 外圍接口。]
基于事務(wù)的加速簡化了設(shè)計調(diào)試。通過完全控制并非由硬件測試臺提供的設(shè)計時鐘,調(diào)試變得更加容易和高效。通過控制時鐘頻率,可以停止仿真的被測設(shè)計 (DUT) 模型、讀取其內(nèi)存內(nèi)容、強制某些寄存器或轉(zhuǎn)儲波形。
傳統(tǒng)上,在 ICE 環(huán)境中調(diào)試需要由來自目標系統(tǒng)的不可控時鐘驅(qū)動的硬件邏輯分析儀。該設(shè)置導致了不確定的行為并損害了調(diào)試 DUT 的能力。硬件仿真供應(yīng)商最近通過將其轉(zhuǎn)換為確定性行為的方法解決了 ICE 外圍設(shè)備的隨機行為。
多層次的協(xié)同驗證視角
一旦軟件設(shè)計人員和硬件開發(fā)人員使用硬件仿真體驗了基于事務(wù)的驗證,他們的整個驗證視角就會發(fā)生變化。無需繁瑣的 ICE 硬件即可快速設(shè)置強大的測試環(huán)境的能力意味著更容易和更有效的調(diào)試。目標可能是相同的——在更短的時間內(nèi)做出更好的設(shè)計——但現(xiàn)在的體驗可能會變得不那么具有挑戰(zhàn)性。
工程團隊發(fā)現(xiàn)現(xiàn)代硬件仿真器是測試硬件和在 SoC 設(shè)計中集成硬件和軟件的必要條件。它使他們能夠更有策略地進行規(guī)劃并成功實施硬件/軟件聯(lián)合驗證。
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120447 -
soc
+關(guān)注
關(guān)注
38文章
4169瀏覽量
218350 -
仿真器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
83766
發(fā)布評論請先 登錄
相關(guān)推薦
評論