天天看點

關于硬體模拟的一點感覺

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/79911871

設計一般以一個規範開始, 這個規範能夠約定最終産品應該做什麼, 并從根本上推動整個開發周期。在開發的早期階段, 第一個任務是使用規範來驗證正在開發的設計是否正确無誤的。然後當設計的所有部分組裝成一個完整的系統時, 第二個任務使用規範來确定系統是否也按照預期的方式運作。

這兩個任務被稱為設計驗證和驗證設計。有時,  這兩個術語可以互換使用。雖然相似, 但這兩個任務有着非常不同的目标。

·    設計驗證: 我們建立的系統正确嗎?

·    驗證設計: 我們建立了正确的系統嗎?

 在晶片系統設計過程中, 采用基于軟體的硬體描述語言(HDL)模拟方法進行設計驗證。相反, 驗證設計是在實際使用的情況下對整個系統的原型進行驗證。

不幸的是, HDL 模拟執行速度并沒有跟上裝置的複雜性, 盡管它有很多優點: 易用性, 靈活性和快速設計疊代時間。許多目前的設計, 例如擁有1024個端口或高畫質影像處理器的網際網路路由器, 需要大量的驗證序列, 即使在最快的 PC 上也需要很多年的時間來模拟。這些序列源自于需要運作長、連續的串行協定流, 或者處理複雜的嵌入式軟體來完全驗證 SoC 或系統設計。

此外, 在矽可用性之前開始軟體驗證已經變得非常重要。為了達到這個目的, 可以引入了一種叫做虛拟樣機的新方法。雖然其中一些工具已經實作了啟動軟體開發的目标, 但它們隻涉及不需要精确表示硬體應用程式。當測試嵌入式軟體, 如固件、裝置驅動程式、作業系統和診斷程式等嵌入式軟體的互動作用時, 它們就失敗了。對于這個測試, 嵌入式軟體開發人員需要依靠一個精确的硬體模型來驗證他們的代碼。

相比之下, 硬體設計師需要一套相當完整的軟體來在系統驗證期間完全測試它們的 SoC。基于 FPGA系統原型的方法提供了設計的精确表示, 但不适合硬體調試。是以, FPGA 原型對軟體開發團隊的吸引力更大, 隻要他們的設計适合一些 FPGA。

最終, 軟體和硬體組需要一起建立一個共同的模型來驗證完整的硬體和嵌入式軟體。對于大多數使用傳統開發周期的, 第一個完整的模型如圖1所示。

圖1 | 傳統開發周期中的 第一個完整模型

因為嵌入式軟體在一個完整的、精确的系統模型中無法被完全驗證, 是以在晶片中發現問題的可能性增加了。它們可以在軟體或軟體和硬體中找到, 通常會迫使額外的晶片響應和代碼的修改。邏輯和代碼的修改都有成本和時間,對市場産生負面的影響。要避免這些影響, 需要采取一種統一的解決方案, 使硬體 / 軟體驗證及确認遠遠領先于第一個定制晶片。

最新一代的硬體仿真器實作了這一點。它們提供了幾乎無限的容量, 最多可以提供數十億個門, 并以1兆赫的速度驗證正在測試的設計(DUT) , 比 FPGA 原型系統提供了更好的硬體調試功能。它們很容易使用, 可以更快地編譯 DUT, 并且允許在世界上任何地方遠端通路。新的軟體應用程式運作在模拟器上, 使他們能夠支援幾種類型的驗證, 從低功耗分析和驗證到測試邏輯驗證的設計。模拟器還将獨特的技術帶到各種各樣的市場領域, 從網絡到處理器 / 圖形, 存儲等等。

在設計周期的早期, 仿真器和 SystemVerilog 用于在組裝完整的 SoC 設計之前驗證IP塊和子系統。在設計周期的後期, 仿真器被用來驗證整個系統, 并執行嵌入式軟體驗證。

它們為硬體工程師和軟體工程師提供完整的硬體和軟體調試功能。這使得硬體和軟體開發組合作并以一種以前不可能的方式解決內建問題(圖2)。

圖2 | 最新一代的硬體模拟器顯著加速了開發周期

以前隻限于對大型設計進行驗證的硬體模拟, 如今已成為所有設計驗證及确認流的基礎。這種新發現的流行是由于晶片定制複雜性的增加和嵌入式軟體的廣泛使用。在一個設計中心, 在未來的整個開發周期中, 從硬體驗證、硬體 / 軟體內建到嵌入式軟體和系統驗證, 硬體模拟被使用在整個開發周期中都可能得到廣泛的使用。

(編譯自 www.embeded-computing.com)