吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式軟件驅動的硬件驗證

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Frank Schirrmeister ? 2022-06-14 15:21 ? 次閱讀

另一組片上系統驗證方法依賴于使用經過驗證的硅片、新的和未經測試(可能尚不可用)硅片的虛擬原型以及 FPGA 原型在硬件上執行實際軟件。正如我們從這個角度看到的那樣,有時會使用所有三種方法。

據最佳估計,90 nm 芯片設計背后的軟件開發工作已經超過了硬件開發工作。對 2011 年的預測是,不到 40% 的整體芯片開發成本將用于硬件。軟件現在主導著項目周期,并決定了芯片何時可以投入批量生產。結果,軟件驗證的重要性增加了,軟件在硬件驗證過程中扮演了不可或缺的角色。

將硬件和軟件結合在一起

今天,工程師使用三種基本技術在硬件表示上執行軟件。在衍生設計中,部分軟件可以使用上一代芯片進行開發。這種方法通常最適用于分層軟件架構中較高的軟件部分,特別是對于獨立于硬件的應用程序。

虛擬原型提供了設計周期中最早的解決方案,因為它們可以在架構確定后立即實施。這些原型是片上系統 (SoC)、電路板、I/O 和用戶界面的預寄存器傳輸級別 (RTL)、寄存器精確和功能齊全的軟件模型。它們執行未經修改的生產代碼,并使用 USB 等外部接口作為虛擬 I/O 近乎實時地運行。

因為虛擬原型本質上是軟件,所以它們提供了高度的系統可見性和控制,包括多核調試。它們還可以作為半導體和系統制造商之間協作的工具。自 Open SystemC Initiative Transaction Level Model (TLM) 2.0 API 標準化以來,SystemC 已成為使用可互操作的事務級模型開發快速虛擬原型的合適基礎設施。

在 RTL 完成并使用功能驗證技術達到穩定狀態后,可以使用 FPGA 原型。原型是 SoC、電路板和 I/O 實現未修改的 ASIC RTL 代碼的硅前、功能齊全的硬件表示。經過優化實施,它們可以在連接外部接口和激勵的情況下幾乎實時運行,并結合 RTL 仿真提供比實際芯片更高的系統可見性和控制。與傳統的硬件/軟件覆蓋相比,FPGA 原型提供了更高的速度水平,后者將 RTL 仿真與周期精確的處理器模型相結合。

根據所需的準確性、速度和所需的可用時間,不同的技術為軟件開發和軟件驅動的硬件驗證提供最合適的解決方案。混合產品通常允許設計人員利用多種產品的優勢。例如,可以通過處理器和外圍設備的快速事務級模型來增強 RTL 仿真,以提高仿真速度和驗證覆蓋率。或者,在混合使用模式下處理設計問題的虛擬原型和 FPGA 原型結合了基于軟件和硬件的執行,提供了比單獨產品更好的解決方案。

從實際項目中學習

為了更好地理解這個問題,Synopsys 和 International Business Strategies 分析了包括復雜硬件和軟件在內的 12 個項目的項目工作量和經過的時間。圖 1 顯示了分析的 12 個項目的示例。上半部分顯示了不同開發階段的時間線;底部顯示了每個階段的總體項目工作量的百分比。

圖 1:在對 12 個項目的分析中,RTL 驗證占用了 21% 的硬件/軟件開發工作量。

poYBAGKoN4SAe7SdAAJudbYtL-U173.png

RTL 驗證平均占整體硬件/軟件工作量的 21%,或僅硬件工作量的 38%。此外,RTL 驗證消耗了從需求到 GDSII 所用時間的大約 55%。驗證在流片的整個流程中以不同的變體繼續進行,而且在 IP 認證上花費的大部分精力也可以被認為是另一種形式的驗證。因此,驗證很容易達到硬件開發中經常提到的 70% 的數字。

從硬件從規范到流片的開發時間來看,移植操作系統平均需要大約三分之一的時間,開發實用軟件大約需要一半時間,三分之二的時間用于移植操作系統。開發應用軟件。在工程樣品可用時開始軟件開發的全系列開發過程將使項目進度再增加半年到四分之三的時間。除非項目是并行開發的,否則軟件開發會延遲大量交付硬件的能力。

雖然在項目開始后從需求到流片有 17% 的時間可以使用穩定的規范(虛擬原型的先決條件),但從需求到流片需要將近 70% 的時間才能達到穩定的 RTL(先決條件)用于硬件原型。虛擬和硬件原型在非常不同的時間可用,因此適用于非常不同的開發階段。

提高驗證效率

如果在 SoC 設計周期的早期提供虛擬原型用于軟件開發,它可以不斷發展以滿足不同的需求。軟件驅動驗證的三種主要使用模型在 RTL 中利用虛擬原型與信號級仿真的集成:

1. 當一個 RTL 塊可用時,它可以在虛擬原型中替換它的 TLM。然后可以在此版本的原型上驗證軟件,作為驗證硬件和軟件的一種方式。知道使用了真實的系統場景會增加驗證的信心。此外,鑒于盡可能多的系統在事務級別進行模擬,驗證的模擬速度更快。

2. 虛擬原型還可以作為運行實際系統軟件的測試臺組件,為 RTL 驗證測試臺開發和硅后驗證測試提供先機。虛擬原型可用于生成系統激勵來測試 RTL,然后驗證虛擬原型和 RTL 功能是否相同。用戶可以在TLM嵌入式定向軟件測試上進行高效開發,也可以用于系統集成測試。結果,驗證測試用例開發的生產力提高了。

3. 由于虛擬原型的某些部分被驗證為等同于它們相應的 RTL,虛擬原型可以成為參考可執行規范。因此,用戶獲得了針對事務級別和 RTL 的單一黃金測試平臺。

圖 2 顯示了 Synopsys Innovator 虛擬原型開發環境中的 USB On-The-Go 示例和分別使用事務級處理器模型和嵌入式軟件的 USB 驗證環境。

圖 2:在 USB 驗證環境中,事務級處理器模型通過 USB 連接到 RTL。

poYBAGKoN46AOn-nAAPhXJM6Rrk850.png

即使在項目開始時沒有虛擬原型,硬件組件的虛擬化也可以幫助從 RTL 驗證環境開始逐步提高驗證效率。

在事務級別用虛擬處理器模型替換系統中片上處理器的 RTL 表示可以顯著提高仿真速度,從而縮短驗證周轉時間。在幾個客戶示例中,更換單個處理器模型將仿真速度提高了 32 倍。

為了在功能 RTL 驗證中加入軟件驅動程序以執行實際產品測試用例,只需對適當的子系統進行建模并將其連接到 RTL 仿真。這可以像從庫中添加事務級處理器模型一樣簡單,通過簡單的總線模型將其連接到正在驗證的外設的 TLM,然后將其連接到 RTL,如圖 2 所示。

混合原型

為了通過提高仿真速度和系統中嵌入式軟件的執行來進一步提高驗證效率,可以使用硬件原型。鑒于虛擬原型和硬件原型在項目的根本不同階段都可用,混合原型提供了一個可行的解決方案,讓開發人員可以利用這兩個世界的優勢。

雖然虛擬原型在設計流程的早期就可用——通常僅在規范穩定后幾周——它們通常并不代表 FPGA 原型可以展示的完整實現細節。相比之下,FPGA 原型在相當高的速度下運行完全準確,但在設計流程的后期可用,盡管在硅片從生產中返回之前還很長時間。

圖 3 顯示了混合 TLM 和硬件原型的原理圖。幾種混合使用模型結合了虛擬原型和 FPGA 原型的優點,包括重用實際 RTL 而不是重新建模和加速硬件和軟件的整體執行。

圖 3:虛擬原型和 FPGA 原型的混合使用模型結合了虛擬原型和 FPGA 原型的優點。

poYBAGKoN52AOkMVAAPApSgwAuE373.png

未來更智能的驗證

由于驗證對項目工作和時間表以及軟件對項目成功的影響越來越大,考慮到嵌入式軟件的智能驗證變得越來越重要。

使用虛擬原型,無論是自下而上的 RTL 驗證,還是自上而下的虛擬原型驗證,都可以逐步提高驗證效率。通過使用處理器和外圍設備的虛擬化事務級模型增強傳統 RTL 仿真,可以提高驗證效率。這提高了仿真速度,并允許直接執行 TLM 參考模型作為測試臺的一部分。在自上而下的流程中,可以通過重用現有的虛擬原型及其模型來提高驗證效率,這可以通過簡單地將正在驗證的 RTL 替換為 TLM 直到 RTL 可用,從而為驗證場景開發提供先機。虛擬原型隨后成為 RTL 驗證的參考。

虛擬原型和 FPGA 原型的混合以及 RTL 仿真和事務級模型的混合允許開發人員利用各個解決方案的綜合優勢。對驗證效率的直接影響很大程度上源于更快的模擬執行,這反過來又可以加快驗證周轉速度。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19409

    瀏覽量

    231207
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606064
  • 嵌入式
    +關注

    關注

    5094

    文章

    19178

    瀏覽量

    307732
收藏 人收藏

    評論

    相關推薦

    如何提高嵌入式代碼質量?

    的情況下也必須保持穩定的性能。 3. 硬件依賴:嵌入式軟件緊密依賴硬件平臺,需要充分理解硬件特性才能編寫高效且穩定的代碼。 了解這些特點有助
    發表于 01-15 10:48

    為什么嵌入式驅動開發工程師可以拿高薪?

    。 為什么嵌入式驅動開發工程師可以拿高薪? 嵌入式驅動開發工程師屬于技術密集型工作,不僅需要深入了解硬件的工作原理,還需掌握各種編程語言
    發表于 01-07 16:56

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備中。這些系統的關鍵特點是它們與硬件的緊密集成
    的頭像 發表于 12-09 09:38 ?421次閱讀

    嵌入式學習建議

    對廣大渴望學習嵌入式系統的學子提出幾點基礎階段的學習建議: ①嵌入式系統軟件硬件密切相關,一定要打好軟硬件基礎。其實,只要找到正確的方法,
    發表于 10-22 11:41

    什么是嵌入式?一文讀懂嵌入式主板

    在現代科技浪潮中,嵌入式技術已成為支撐各種智能設備和系統運行的核心力量。那么,究竟什么是嵌入式嵌入式系統,顧名思義,是將計算機的硬件軟件
    的頭像 發表于 10-16 10:14 ?1594次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。嵌入式主板如同是設備
    的頭像 發表于 09-30 10:05 ?985次閱讀

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式Linux開發的基本步驟,以及每個步驟的說明。
    的頭像 發表于 09-02 09:11 ?635次閱讀

    嵌入式系統中的實時操作系統

    嵌入式RTOS是嵌入式應用程序運行、相互交互和與外界通信的底層軟件機制。在本節中,您將了解嵌入式軟件開發人員使用哪些流行RTOS以及它們運行
    的頭像 發表于 08-20 11:28 ?551次閱讀

    嵌入式軟件開發與AI整合

    嵌入式軟件開發與AI整合是當前技術發展的重要趨勢之一。隨著人工智能技術的快速發展,嵌入式系統越來越多地集成了AI算法,以實現更復雜的智能功能。以下是關于嵌入式
    的頭像 發表于 07-31 09:25 ?835次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發與AI整合

    嵌入式硬件VS軟件,到底哪個更難?

    嵌入式系統開發中,硬件軟件是密不可分的兩個方面。但是,究竟是硬件開發更具挑戰性,還是軟件開發更難以應對呢?本文將就這一問題展開討論,探究
    的頭像 發表于 06-13 08:10 ?1327次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>硬件</b>VS<b class='flag-5'>軟件</b>,到底哪個更難?

    從事嵌入式方向,一定要軟硬件通吃?

    軟件工程師的職責嵌入式軟件工程師的主要職責是為嵌入式系統編寫和調試代碼,確保系統按預期工作。他們需要處理底層硬件接口、實時操作系統(RTOS
    的頭像 發表于 06-05 08:10 ?1290次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟<b class='flag-5'>硬件</b>通吃?

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式
    發表于 05-16 11:00

    嵌入式系統軟硬件基礎知識大全

    兩部分組成的。硬件部分包括處理器、存儲器、輸入輸出等,是嵌入式系統實現功能的基礎。軟件部分則包括操作系統、驅動程序、應用程序等,負責控制硬件
    發表于 05-09 14:12

    嵌入式軟件設計的原則分享

    嵌入式軟件開發如果具有更好的閱讀性、擴展性以及維護性,就需要考慮很多因素。今天給大家分享幾個嵌入式軟件設計的原則。
    發表于 02-25 10:54 ?751次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設計的原則分享

    嵌入式軟件開發應該掌握哪些知識?

    嵌入式軟件開發應該掌握哪些知識? 一、 什么是嵌入式軟件嵌入式軟件通常是指
    發表于 02-19 11:23
    澳门百家乐官网网站| 老k百家乐游戏| 网络百家乐官网金海岸破解软件| 织金县| 德州扑克 规则| 威尼斯人娱乐的微博| 百家乐去哪里玩最好| 百家乐软件购买| LV百家乐官网娱乐城| 百家乐官网几点不用补牌| 百家乐官网国际赌场娱乐网规则 | 百家乐官网游戏机分析仪| 葡京百家乐官网玩法| 百家乐官网经验之谈| 澳门百家乐官网指数| 澳门百家乐官网博彩网| 百家乐官网玩法的技巧| 百家乐官网真钱电玩| 百家乐官网波音平台路单| 百家乐官网三路秘诀| 百家乐官网视频游戏帐号| 至尊百家乐官网qvod| 百家乐官网桌布橡胶| 百家乐官网明灯| 百家乐官网娱乐场真人娱乐场| 如何赢百家乐官网的玩法技巧和规则| 诸子百家乐官网的玩法技巧和规则| 巴比伦百家乐官网的玩法技巧和规则| 捷豹百家乐官网娱乐城| 百家乐起步多少| 百家乐在线洗码| 威尼斯人娱乐城博彩| 顶级赌场官网| 澳门娱乐城官网| 梁山县| 百家乐官网破解策略| 韩国百家乐官网的玩法技巧和规则| 风水做生意店铺的门| 百家乐购怎么样| 威尼斯人娱乐下载平台| 哈巴河县|