晶片中整合的電晶體數(shù)量不斷增加,造成電路設(shè)計與驗證挑戰(zhàn)遽增。面對日益縮短的上市時程壓力,晶片設(shè)計人員已開始改用運行速度更快且總體擁有成本(Total Cost of Ownership)更低的硬體模擬設(shè)備,取代傳統(tǒng)電路試驗板或軟體模擬器,以加速晶片驗證與除錯速度。
雖然摩爾定律現(xiàn)在規(guī)定約兩年內(nèi)使積體電路中的電晶體數(shù)目增加一倍,但趨勢是設(shè)計/器件會繼續(xù)變得越來越大。
如今,平均設(shè)計尺寸達(dá)到或超過五千萬專用積體電路(ASIC)門,并且有些單個模組已超過一千萬門。大部分的半導(dǎo)體公司的高端設(shè)計通常超過一億門。處理器/圖形公司的最大設(shè)計已達(dá)到十億門,或許在不久的將來會超越這一數(shù)量級。
驅(qū)動設(shè)計復(fù)雜性急劇上升的因素是在現(xiàn)有產(chǎn)品中,或在全新設(shè)計中添加新特性和新功能的旺盛需求,如果說晶片硬體復(fù)雜性驟升得還不夠,實現(xiàn)產(chǎn)品差異化的嵌入式軟體暴漲又使驗證更為復(fù)雜。工程團(tuán)隊難以承受讓產(chǎn)品更快推向市場的壓力,迫使工程人員必須不斷創(chuàng)新。
晶片復(fù)雜性高 電路試驗板無法驗證
雖然工程師擁有豐富的驗證選項,但其中大多數(shù)存在著固有缺點,在數(shù)位電路設(shè)計初期,晶片復(fù)雜性的范圍介于幾百門到幾千門,設(shè)計可透過電路試驗板進(jìn)行原型驗證。使用嵌有電晶體-電晶體邏輯電路(TTL)邏輯器件(例如SSI/MSI晶片)的電路試驗板,可在晶片量產(chǎn)(Tape Out)前在目標(biāo)系統(tǒng)環(huán)境中驗證和調(diào)試(Debug)設(shè)計。由于是在實際運行條件下測試設(shè)計,因此可確保功能正確性。
如果晶片復(fù)雜性達(dá)到一萬門,則電路試驗板將會無用武之地,并最終被基于事件驅(qū)動演算法的邏輯模擬器取代。這一變化催生了電子設(shè)計自動化(EDA)行業(yè),EDA是電腦輔助工程(CAE)早期縮影。事件驅(qū)動模擬器支援精確的功能和時序驗證,目前仍在寄存器傳輸級(RTL)使用,不過鮮少在邏輯閘(Gate Level)級使用。
RTL軟體模擬器易于使用且經(jīng)濟(jì)高效,具有先進(jìn)的調(diào)試功能。不過,當(dāng)設(shè)計尺寸達(dá)到一億門時,由于緩存未命中和記憶體交換,執(zhí)行速度會迅速下降。雖然通過PC伺服器群與平行化軟體模擬器可以緩解執(zhí)行時間驟降,但無法使用其來測試本質(zhì)上屬于串列流程的嵌入式軟體。
在設(shè)計為在200MHz下運行的一億門電路中,即時執(zhí)行1秒將需要執(zhí)行兩億次回圈。即使對于最快的CPU(具有可觀緩存大小和巨量RAM),樂觀的假設(shè)是,如果每秒可執(zhí)行一百次回圈,RTL軟體模擬器也需要三個多星期才能運行完整個設(shè)計。
模擬器執(zhí)行效能低落會阻止事件驅(qū)動軟體模擬器有效率的測試設(shè)計正確性。事件驅(qū)動軟體模擬器最適合用于模擬實際電路行為的一小部分,這意味著有些功能性故障會檢測不到,工程團(tuán)隊要承擔(dān)代價高昂的設(shè)計返工(Respin)。
針對形式(Formal)或靜態(tài)驗證方法的優(yōu)點,可產(chǎn)生完全列舉的測試向量,卻無法針對電路設(shè)計的功能面進(jìn)行驗證。采用動態(tài)測試是唯一的可用選項,特別是在必須測試嵌入式軟體(軟體驅(qū)動程式、即時操作系統(tǒng)或自訂應(yīng)用程式)的情況下。 硬體驗證語言(HVL),例如e語言、Vera以及C/C++類測試功能庫,透過批量生成無法手動創(chuàng)建的測試來提高生產(chǎn)效率。功能驗證范圍工具可以提升工程師對用HVL創(chuàng)建的測試平臺的可信度,但不會減少應(yīng)用這些測試所需的時間量,也無法用于開發(fā)嵌入式軟體。
硬體輔助驗證工具可以縮小工程師目標(biāo)與傳統(tǒng)邏輯驗證結(jié)果間的差距。以下幾種驗證工具可協(xié)助減少目標(biāo)與結(jié)果的差距:
現(xiàn)場可編程閘陣列(FPGA)原型
基于FPGA的原型可用于處理嵌入式軟體驗證。原型基本上都是電路試驗板,其中用FPGA取代SSI/MSI部件。
由于可程式設(shè)計器件問世,內(nèi)部開發(fā)的FPGA原型也已出現(xiàn)。遺憾的是,隨著設(shè)計尺寸不斷加大,F(xiàn)PGA原型開發(fā)也呈指數(shù)增長。當(dāng)所需的FPGA數(shù)超過十個左右的FPGA晶片時,F(xiàn)PGA原型將變得不可用。調(diào)試基于FPGA的原型比較棘手,這迫使工程師處理復(fù)雜的FPGA問題想辦法讓FPGA可容納晶片設(shè)計,而不是花時間調(diào)試晶片設(shè)計功能。經(jīng)常聽說,當(dāng)設(shè)計已進(jìn)入投片階段時,自制的FPGA原型才可使用。
為解決這些缺點,幾年前一種家庭作坊式產(chǎn)業(yè)應(yīng)用而生,其目標(biāo)是提供可擴(kuò)展的現(xiàn)成FPGA原型,而且這個趨勢正獲得青睞。此類產(chǎn)業(yè)除去繁瑣的內(nèi)部開發(fā)流程,這正是其成功的主要原因。但對于最大配置,他們也只能處理具有約一億門的設(shè)計。
具有除晶片外的最快運行速度是FPGA原型驗證板的主要賣點。相反,用于將設(shè)計映射到原型驗證板的漫長布線/合成時間及相當(dāng)有限的設(shè)計可視性是其兩個主要缺點。
硬體模擬
硬體模擬正成為一種流行的運行時問題解決方案,基于事件的軟體模擬器對此類問題卻無能為力。與通過RTL軟體模擬器實現(xiàn)的執(zhí)行速度相比,該解決方案要快五至六個數(shù)量級。
硬體模擬器并不是一直受到青睞。以前,高昂的擁有成本限制工程團(tuán)隊采用硬體模擬器來測試最大的設(shè)計,例如微處理器和圖形晶片?,F(xiàn)在,隨著新一代硬體模擬器能夠處理高達(dá)幾十億或以上的ASIC閘并提供較低的總體擁有成本,這種情況已得到改進(jìn)。這樣,工程團(tuán)隊就可為廣泛的設(shè)計做出最佳選擇,而不用考慮復(fù)雜性和拓?fù)浣Y(jié)構(gòu)。
作為終極錯誤清除利器,硬體模擬可良好運行。就在晶片量產(chǎn)(Tape Out)前驗證SoC中硬體功能和測試硬體/軟體整合功能正確來說,硬體模擬具有極大價值。 如果硬體設(shè)計人員和軟體發(fā)展人員都使用硬體模擬,則可共用相同系統(tǒng)和電路設(shè)計表示方法。由于組合設(shè)計的軟體和硬體的對晶片功能的解讀,因此他們可一起調(diào)試硬體和軟體間的互動行為正確性,還可以跨越嵌入式軟體與底層硬體間的邊界跟蹤設(shè)計問題,以確定是軟體還是硬體出問題。
基于多個抽象層次的調(diào)試方法從最高層次的嵌入式軟體開始,然后逐步下移至低層次的抽象,以跟蹤各個硬體元素的行為。從數(shù)十億個時鐘周期的資料庫開始,軟體調(diào)試器可以將問題局限在數(shù)百萬個時鐘周期內(nèi)。在這個層次上,軟體團(tuán)隊可識別每個問題根源在軟體代碼的哪個部分?;蛘?,他們也可通知硬體團(tuán)隊使用軟體感知硬體調(diào)試方法放大到較低層次的抽象來追蹤分析問題。
這種多層次調(diào)試方法對RTL軟體模擬器并不適用,因為其速度太慢以至于不能有效地執(zhí)行嵌入式軟體。同樣,該方法對基于FPGA原型也不適用,因為其缺乏對內(nèi)部電路設(shè)計的可視性和訪問性,無法跟蹤硬體錯誤。
當(dāng)今設(shè)計環(huán)境中的硬體模擬系統(tǒng)運行速度更快、更容易使用,并且初期擁有成本更低(圖1)。這些高度可擴(kuò)展、經(jīng)濟(jì)高效的工具可以處理多達(dá)幾十億ASIC門。具有較短的設(shè)置時間和編譯時間,可為多工平行使用者提供強大的調(diào)試環(huán)境和支援。機(jī)器本身都封裝在環(huán)保型(較不占空間,耗電低)空間中。
圖1 上述RTL軟體類比、FPGA原型和硬體模擬的對比是基于性能、設(shè)置/編譯時間、設(shè)計容量和設(shè)計調(diào)試。
更重要的是,硬體模擬器不僅可以連接真實周邊I/O子版(ICE)驅(qū)動的模擬系統(tǒng),也可使用基于軟體(由模擬器送出Test Vector)的TestBench驅(qū)動的加速系統(tǒng);硬體模擬針對TestBench可支援多種語言:Verilog、VHDL、SystemVerilog、C++及SystemC語言編寫,也包括可合成的測試Testnech或測試Vector直接將其包含在硬體模擬器內(nèi)。
一千萬門設(shè)計的典型性能約為2MHz,一億門設(shè)計的最高速度可達(dá)1MHz。當(dāng)設(shè)計尺寸增加時,相比于事件驅(qū)動電路模擬器,硬體模擬器的性能下降得更少。
隨著Time-To-Market壓力越來越大,以及強加給工程團(tuán)隊的不斷升級的硬體/軟體整合和品質(zhì)問題,使得驗證流程成為晶片設(shè)計中具有戰(zhàn)略意義的重要一步。新一代高性價比硬體模擬器為晶片設(shè)計提供理想選擇,這就是為什么硬體模擬已成為批量驗證神器的原因。