擁有數十億或更多門的大型片上系統 (SoC) 已成為硬件和嵌入式軟件驗證的關鍵設計挑戰。這些復雜的 SoC 設計集成了大量嵌入式軟件,需要數十億個時鐘周期進行驗證。它導致了一種多管齊下的 SoC 驗證方法,允許將嵌入式軟件驗證的某些方面從硅后階段轉移到硅前階段。
為了做好準備,讓我們看看傳統驗證工具在服務于軟件密集型 SoC 設計時面臨的限制。然后,我們可以看到將這些工具與虛擬技術相結合如何可以在流片前改進大型硬件和軟件系統的測試。
寄存器傳輸級 (RTL) 模擬器處理硬件設計模型。它非常適合硬件調試,因為它相對容易使用,而且設置和編譯速度很快。但是,RTL 模擬器不適合嵌入式軟件驗證,因為需要的驗證周期數達到數十億。
傳統硬件仿真
傳統硬件仿真將 RTL 中定義的 SoC 設計編譯到硬件平臺上,并在其上運行驗證測試,速度比仿真快 5 到 6 個數量級。然而,盡管它可以有效地調試硬件和軟件交互,但仿真器傳統上被配置為在線仿真 (ICE) 模式,其中大量電纜將被測設計 (DUT) 連接到外圍設備。它是通過將 DUT 連接到現實世界的速度適配器來執行的。
隨著復雜 SoC 設計的外圍設備數量增加,外圍設備的虛擬化大大增加了可用于硬件仿真的使用模型。
FPGA 原型設計主要用于驗證芯片設計。傳統上,軟件開發人員使用 FPGA 原型進行軟件驗證,因為它比仿真速度更快,并且允許更長的軟件運行時間。然而,FPGA 原型設計涉及大量的人工干預,這使得在大型 SoC 設計中調試軟件成為一項乏味而痛苦的任務。
虛擬機的興起
進入虛擬化原型設計和仿真,提供多種選擇來驗證和驗證復雜 SoC 設計中的軟件。許多公司現在開始使用仿真工具來確保軟件開發在其 IC 設計中的協同作用。例如,多媒體、移動和網絡市場的一些主要參與者正在使用Mentor Veloce 仿真平臺來訪問虛擬和傳統方法的混合驗證。
首先,有虛擬原型系統,從簡單的存根代碼到在 QEMU 中運行的虛擬板,再到更高級的虛擬原型系統,以幫助工程師驗證他們的代碼。其次,隨著現代 SoC 中外圍設備數量的增加,需要更精確的模型來要求接口虛擬化。
在這里,由模擬器和虛擬機組成的混合模型可以極大地簡化 SoC 驗證環境。混合和虛擬方法比在仿真或仿真上運行的 RTL 模型更快,因為處理器和一些周圍的外圍設備是在更抽象的級別上建模的。更抽象的模型更容易創建和驗證,并且更易于移植。
Mentor Veloce 仿真平臺允許通過 Codelink 等工具調試軟件堆棧。
Veloce 仿真平臺使用虛擬原型設計和類似虛擬實驗室的環境,允許 SoC 設計人員通過 Codelink 和 WarpCore 等工具執行軟件調試。以 WarpCore 為例,它結合了虛擬機和 RTL 執行環境,只有在不涉及太多硬件的情況下才會發揮作用。
審核編輯:郭婷
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604349 -
寄存器
+關注
關注
31文章
5357瀏覽量
120685 -
soc
+關注
關注
38文章
4182瀏覽量
218508
發布評論請先 登錄
相關推薦
評論