隨著SOC/ASIC 設計規模不斷增大,且結構愈加復雜,導致驗證的復雜度呈指數級增長。為了縮短芯片的上市周期,在不同設計階段工程師們往往選擇不同的仿真驗證工具,提高整個芯片開發效率。在一個芯片的設計開發流程中,軟件仿真是其中重要的一個部分。這種基于軟件的邏輯仿真可以說在整個功能驗證中都需要用到。
什么是軟件仿真?
軟件仿真,簡單說來,就是用軟件和編程語言將所有的硬件特征虛擬出來。它先是通過計算機結合測試激勵來模擬芯片在真實環境下的運行狀況,幫助工程師通過各種調試手段來判斷運行結果是否符合預期。
由于它能夠較快速地搭建一個仿真環境,十分簡便;而且軟件仿真對DUT的結果可視化較好(輸出波形可直接觀測),可以以用戶友好的GUI模式來進行debug;工程師也可以隨時暫停或者中斷驗證工具的運行,提高了整個debug的效率。 此外,回歸測試(regression test)是邏輯仿真不能忽略的一部分。
對于芯片這種人類史上既宏大又細微的工程,任何一個改變就像多米諾骨牌一樣,牽一發而動全身。因此,工程師會重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。這樣的動作就是回歸測試,也是軟件仿真的主要功能之一。
基于以上特性,在數字芯片的前端設計中,軟件仿真是工程師們常規必備的驗證工具,其重要性不言而喻。
軟件仿真面臨哪些挑戰?
不過,這種通過運行軟件的方式驗證芯片的設計方案固然簡單方便,但對于SOC/ASIC規模越來越大,設計越來越復雜的今天,仿真運行需要花費的時間也越來越長。從運行效率來看,軟件仿真更適合一些小規模的設計,尤其是在一些模塊級別的功能驗證上,軟件仿真的編譯速度很快,這在一定程度上會加快整體項目的驗證速度。
此外,軟件仿真會在具有不同物理抽象層次(級別)下進行,例如晶體管級、邏輯門級、RTL級和行為級。為了加速整個芯片開發周期,在外購IP越來越普遍的今天,芯片開發大多是自主設計部分和多個IP模塊集成,形成復雜芯片的設計。如果交付的IP模塊源代碼并不是RTL代碼,就沒辦法使用軟件仿真進行驗證。因此,基于以上兩點,軟件仿真在運行時,還需要支持連接第三方工具如數學建模,硬件仿真加速器,原型驗證平臺等共同完成功能仿真。
雖然軟件仿真技術對工程師來說非常有必要,但就現有的商業模式來說,提供的商用軟件仿真服務會以軟件許可證(software license)的形式收費。但在實際使用時,工程師們難以依賴經驗進行有效算力與工具需求計算的匹配。
因為項目開發中對于算力的需求是波動的。有時候已購買的license無法滿足現實使用需求,有部分設計工程師獲取不到就會造成搶占或擁堵。但如果超前部署,又會帶來巨額的成本投入,有可能在閑置時造成資源的浪費。這就對芯片開發效率產生致命影響。對于企業來說怎么平衡生產和效益匹配的問題是當下急需解決的事情。
高性能、多語言混合的
商用數字軟件仿真工具
PegaSim
芯神馳是思爾芯傾力打造的一款高性能、多語言混合的商用數字軟件仿真工具,已得到多家海內外廠商驗證。
其采用了創新的架構算法,實現了高性能的仿真和約束求解器引擎,對System Verilog語言、Verilog 語言、VHDL語言和UVM方法學等提供了廣泛的支持,同時支持時序反標和門級后仿真,并可提供功能覆蓋率、代碼覆蓋率分析等功能。同時創新的軟件架構允許仿真器支持不同的處理器架構—— x86-64、RISC-V、ARM等。芯神馳可搭配思爾芯的芯神匠架構設計軟件、芯神鼎硬件仿真系統,以及芯神瞳原型驗證平臺,可實現設計與驗證工程師從IP、子系統及全系統等不同場景的驗證需求,進而滿足當今復雜SoC的驗證需求。
更重要的是,此款商用數字軟件仿真工具采用創新的商業模式,可以很好地滿足企業多樣化的需求,幫助企業解決license使用緊張、算力不足、license被設計工程師長期占用等問題。真正為企業做到降本增效,加速芯片設計,確保整個芯片設計流程對需求規格的完整實現,以及項目按照預期的驗證計劃高效地推進。
審核編輯:劉清
-
SoC芯片
+關注
關注
1文章
617瀏覽量
35040 -
GUI
+關注
關注
3文章
662瀏覽量
39890 -
DUT
+關注
關注
0文章
189瀏覽量
12490
原文標題:一文淺談SoC功能驗證中的軟件仿真
文章出處:【微信號:S2C_Corporation,微信公眾號:思爾芯S2C】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論