何時(shí)使用軟件仿真,何時(shí)使用硬件仿真
大約在 40 年前,Comprehensive Computing Systems and Services公司在市場(chǎng)上推出了首個(gè)名為 TEGAS 的商業(yè)數字軟件仿真器,該設備主要用于測試生成和軟件仿真系統。這一對門(mén)級電路進(jìn)行仿真的系統由一個(gè)小型專(zhuān)家團隊開(kāi)發(fā),而在此之前只有針對晶體管級電路進(jìn)行仿真的模擬仿真軟件。TEGAS 是其專(zhuān)用的描述語(yǔ)言。這種語(yǔ)言?xún)H用于生成數字電路測試向量。最終,仍須通過(guò)原型板進(jìn)行設計驗證。
本文引用地址:http://dyxdggzs.com/article/201711/371166.htm隨著(zhù) 20 世紀 80 年代早期計算機輔助工程 (CAE) 行業(yè)的興起,數字軟件仿真器或邏輯軟件仿真也在電子工程界流行起來(lái),成為設計驗證的主要手段。到 20 世紀 90 年代末,數字軟件仿真器逐漸發(fā)展演變?yōu)榧拇嫫鱾鬏敿?nbsp;(RTL) 軟件仿真器,這種軟件仿真器支持兩種流行的硬件描述語(yǔ)言 (HDLs)—— Verilog 和 VHDL?,F有的 EDA(電子設計自動(dòng)化,CAE 和 CAD 的產(chǎn)物)供應商用了十多年的時(shí)間在同一個(gè)工具中支持這兩種語(yǔ)言。如今,Synopsys、Cadence 和 Mentor Graphics這三家大型 EDA 供應商,都提供各自的 HDL 軟件仿真器,在市場(chǎng)上呈現三足鼎立的狀態(tài)。
多年來(lái)一系列的改進(jìn)使得 HDL 軟件仿真器變得愈加完美?,F在,它是一款不可限量的工具,是設計驗證和假設分析中必不可少的工具,但其還是有自身的局限性,即設計規模不能超過(guò) 1 億個(gè) ASIC 等效門(mén)。這種限制較為隨意,事實(shí)上,仍然可以對更大型的設計進(jìn)行軟件仿真,只是執行速度奇慢無(wú)比。
一個(gè)示例
若要使用在 10 Hz 下運行的現代軟件仿真器來(lái)仿真在 100 MHz 下運行的 1 億 ASIC 門(mén)設計上的一秒鐘的真實(shí)數據,這絕非易事。在這種設計復雜度下,可能需要花費 1 千萬(wàn)秒的時(shí)間。即 2,778 小時(shí),或者 115 天。一秒鐘的 100 MHz 真實(shí)數據等于 1 億個(gè)時(shí)鐘周期,這個(gè)數字相當大,可能會(huì )超出處理典型測試平臺的要求。在處理典型測試平臺時(shí),一毫秒或者更短時(shí)間就足夠了,在大內存配置的最新 PC 上運行時(shí),則會(huì )將執行時(shí)間縮短至一天或更短。這是個(gè)合理的目標。
HDL 軟件仿真器可以在 PC 場(chǎng)中并行運行,每個(gè) PC 會(huì )處理功能完善的測試平臺。半導體公司有成千上萬(wàn)臺 PC 構成的計算場(chǎng)全天運行。
但 1 億周期仍不足以處理嵌入式軟件設計。由于處理軟件在本質(zhì)上為串行流程,所以對于這項任務(wù)來(lái)說(shuō),有必要按順序執行數十億周期。然而,帶有 HDL 軟件仿真許可的 PC 場(chǎng)卻鞭長(cháng)莫及。軟件程序無(wú)法在子集中進(jìn)行拆分,再并行運行。
那么,要如何驗證 SoC 設計的嵌入式軟件呢?
進(jìn)入硬件仿真時(shí)代
硬件仿真其實(shí)由來(lái)已久,它給設計人員在流片前提供了一種更為準確的電路行為描述,因為硬件仿真是通過(guò)真實(shí)的電路和邏輯來(lái)實(shí)現設計。硬件仿真始于 20 世紀 80 年代末,在 20 世紀 90 年代末盛行,當時(shí)主要是通過(guò)商業(yè) FPGA 進(jìn)行實(shí)現,用于驗證需要較長(cháng)測試周期的處理器和圖形設計。它們也遇到諸如電路建模難度高以及可靠性低等各種問(wèn)題。其成本也較為高昂,并且作為單用戶(hù)資源,其投資回報較低。然而,硬件仿真器的出色執行速度仍使其成為長(cháng)處理周期的必要工具。
還是之前的示例,在 1 MHz 下運行的硬件仿真器需要花費 100 秒來(lái)執行 1 秒鐘的真實(shí)數據以及處理 1 億次周期。硬件仿真器可以在一小時(shí)左右的時(shí)間內啟動(dòng)操作系統。而且,硬件仿真器的投入比重新流片便宜得多。

圖 1:不同設計規模下軟件仿真與硬件仿真性能對比
HDL 軟件仿真器由于緩存缺失和內存交換,其執行速度會(huì )隨著(zhù)設計規模增加而急劇下降。不過(guò)與之不同的是,在此情況下,硬件仿真器的性能只會(huì )受到輕微影響(見(jiàn)圖 1)。
由于商用 FPGA 硬件仿真器有一定的限制性,定制芯片硬件仿真器由此應運而生。這種硬件仿真器主要有兩種不同類(lèi)型:由 Mentor Graphics 提供的定制 FPGA 硬件仿真器,又稱(chēng)片上硬件仿真器;以及由 Cadence Design Systems 提供的基于處理器的硬件仿真器。同時(shí),Synopsys 也支持使用比標準 FPGA 硬件仿真器更為先進(jìn)且功能有所增強的最新商用 FPGA 硬件仿真器。
直到十年前,硬件仿真器才在電路硬件仿真 (ICE) 模式中被單獨部署為物理測試環(huán)境。由于當流片提供激勵和處理響應時(shí),被測設計 (DUT) 將最終駐留在此環(huán)境中。因為難以進(jìn)行設置,ICE 模式現在并不常見(jiàn),而對更加靈活的測試環(huán)境的需求卻在不斷增長(cháng)。應用硬件橋沒(méi)有可控性/可再現性,并且由于安裝時(shí)間和維護成本的增加,其還會(huì )增加測試環(huán)境的復雜度。由于可合成的測試平臺能在硬件仿真器內部進(jìn)行映射,并且無(wú)需依賴(lài)外部環(huán)境便可以硬件仿真器的最高速度執行,因此該測試平臺區域還有其他可行的替代方案。不過(guò)遺憾的是,它們不易開(kāi)發(fā)。
基于事務(wù)的驗證或加速(TBV 或 TBX)是業(yè)內最看好的方法,具有兩方面的優(yōu)勢。首先,能采用少一個(gè)數量級的代碼行,在更高抽象層次寫(xiě)入測試平臺,簡(jiǎn)便而又不易出錯。其次,由于在硬件仿真器內部映射晶體管的總線(xiàn)功能模型 (BFM) 實(shí)現了急劇加速,這些測試平臺比傳統 RTL 平臺執行更快。另一個(gè)益處是,當用戶(hù)切換設計或新用戶(hù)登錄時(shí),TBV 或 TBX 不需要人為監督來(lái)處理速度適配器。這種方式也適合于遠程訪(fǎng)問(wèn)。
何時(shí)使用軟件仿真,何時(shí)使用硬件仿真
HDL 軟件仿真器適用于設計周期早期階段的硬件調試,早期階段的設計主要專(zhuān)注于模塊級別。憑借易用、快速設置、極速設計編譯等特點(diǎn),它們可以極其靈活地調試硬件設計。它們還支持每天進(jìn)行多次設計迭代…只要設計規模合理。但在數千萬(wàn)門(mén)級別時(shí)會(huì )出現問(wèn)題,這在現在看來(lái)只是典型的系統級設計驗證。如上所述,它們并不適合嵌入式軟件驗證。
相反,硬件仿真能找到幾乎所有設計缺陷,無(wú)論是在硬件中還是在 SoC 嵌入式軟件中。硬件仿真可處理任何設計規模,但需要較長(cháng)時(shí)間進(jìn)行環(huán)境搭建,至少一天,也可能更長(cháng)時(shí)間。而且,相比軟件仿真器,其編譯速度相對較慢,大約需要一小時(shí)以上才能完成編譯(見(jiàn)圖 2)。

圖 2:基于性能、設計能力和設置/編譯時(shí)間的軟件仿真與硬件仿真對比
現代硬件仿真器支持多個(gè)并發(fā)用戶(hù),包括通過(guò)遠程訪(fǎng)問(wèn),因此可增加投資回報。
評論