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