女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

適用于SystemC/C++驗證的形式化解決方案

西門子EDA ? 來源:西門子EDA ? 2025-06-24 11:07 ? 次閱讀

SystemC/C++ 設計的驗證要求

雖然 SystemC/C++ 編程風格已使用多年,但最近出現了一些特定使用模式,它們推動工程團隊采用共同的設計流程。這包括抽象算法設計代碼用作高層次綜合 (HLS) 工具的輸入,虛擬平臺模型用于早期軟件測試,可配置的知識產權 (IP) 模塊,等等。

HLS 用于將“大部分為非時序化”的抽象 SystemC/C++ 設計表示轉換為完全時序化的寄存器傳輸級 (RTL) 設計模塊,該工具已被許多大型半導體和電子系統公司使用。作為一種快速生成具有不同微架構的設計組件,同時快速高效地優化算法處理數據路徑的方法, HLS 工具特別受歡迎。其在控制邏輯以及具有更詳細時序的一般元器件上的使用,也變得越來越普遍。

33199ad4-4cdd-11f0-b715-92fbcf53809c.jpg

圖 1. SystemC/C++ 高層次設計流程

SystemC/C++ 設計的驗證主要通過如下方式進行:利用 GCC 等標準軟件編譯器編譯設計表示,并以與軟件設計類似的方式調試代碼。Open SystemC International (OSCI) SystemC C++ 類庫(現已標準化為 IEEE 1666-2011)引入了使用戶體驗更像 RTL 仿真的功能,但仍有許多問題讓 SystemC 代碼的驗證任務非常復雜和艱巨,包括調試、運行時性能和測試復雜性。該級別的形式化技術一直很稀少。

常見 SystemC/C++ HLS 流程所用的算法描述常常僅使用 C 或 C++ 代碼。這些描述經過測試,以確保算法本身正確運行。SystemC 類庫函數用于提供 HLS 工具所需的極少硬件細節,例如基本時序、復位功能等。綜合工具生成 RTL 代碼,然后將其應用于更傳統的設計細化流程和驗證過程。

設計驗證分為 SystemC 和 RTL 兩個級別。很明顯,工程師更愿意驗證和調試原始 SystemC 設計,而只在綜合后檢查功能等效性,類似于傳統的 RTL 開發過程。然而,由于缺乏有效的 SystemC/C++ 設計驗證環境,工程師們不得不采用更傳統的 HDL 驗證。

隨著工程師提高其設計方法的抽象級別,驗證級別自然也要相應地提高。在 HLS 之前的算法級別,要求直接根據其規范驗證設計,而較少關注編碼細節。功能規范很容易用斷言來表示,因此,使用能夠針對設計嚴格測試斷言的形式化技術是一種自然的選擇。新的控制密集型算法,現在用 SystemC 編寫,僅使用仿真特別難以驗證。

西門子 EDA 的 360 DV SystemC/C++ 驗證功能旨在滿足這些要求。

適用于 SystemC/C++ 設計360 DV 簡介

西門子 EDA 是西門子數字化工業軟件的一部分,其針對 SystemC/C++ 代碼提供的設計驗證 (DV) 解決方案是 360 DV 形式化驗證產品線的一部分。它支持將廣泛的形式化技術應用于以 C++ 或 SystemC 編寫的、具有不同時序和代碼抽象級別的設計組件。

適用于 SystemC/C++ 的 360 DV-Inspect 提供了一系列自動化結構檢查、安全檢查和激活檢查,可將這些檢查應用于設計,而無需手動創建斷言。這對于高層次綜合之前的設計代碼簽核特別有用。該產品包含對 SystemC/C++ 設計特別有用的檢查,如下所述。

適用于 SystemC/C++ 的 360 DV-Verify 是一款基于斷言的形式化驗證工具,它功能齊全,支持針對 SystemC/C++ 設計代碼測試綜合斷言。這些斷言可以使用簡單的 C 斷言語句編寫,也可以是完整的 SystemVerilog 斷言 (SVA),其中包含所有時間、并發結構體。對 SystemC/C++ 設計運用時間斷言的能力是該技術的獨特功能。

33252ea8-4cdd-11f0-b715-92fbcf53809c.jpg

圖 2. SVA 配合 SystemC/C++ 設計使用

作為 360 DV 核心的西門子 EDA 形式化技術平臺由多個證明引擎組成,這些引擎利用一系列標準和專有算法來提供深入的代碼分析。與其他解決方案相比,它始終表現出高收斂度,另外還提供快速、高容量的操作。該平臺可以處理一系列語言,包括支持輕松設置和使用的功能。強大的調試環境為快速跟蹤設計或測試問題提供了一條清晰的途徑。

西門子 EDA 解決方案以支持形式靈活性而著稱,可用來解決一系列問題,而且同樣適用于 SystemC/C++ 設計。這些工具可以在高度交互模式下使用,方便用戶以“假設分析”的使用方式快速查看設計如何運行。它們可以構成完整的指標驅動驗證解決方案的基石,并為 SoC 平臺上的 IP 集成提供一種有效的驗證機制。

自動形式化 SystemC/C++ 設計評估

360 DV 中的全自動功能也可以應用于 SystemC/C++ 硬件設計代碼。在設計過程中盡早消除錯誤可以節省下游的許多工程設計時間,尤其是設計過程從微架構抽象級別開始時更是如此。

360 DV-Inspect 提供一系列自動化檢查,這些檢查利用形式化引擎的強大能力對設計代碼進行深入的靜態分析,而無需手動編寫斷言。這種設計檢查技術基于代碼結構分析運行場景,以尋找潛在的錯誤,因而遠遠超越了傳統的代碼檢查工具。安全檢查(例如越界訪問數組或狀態機死鎖)、激活檢查以及結構分析(包括經典的仿真和綜合操作失配問題),全都具備。

3330d302-4cdd-11f0-b715-92fbcf53809c.jpg

圖 3. SystemC/C++ 代碼中的死鎖檢查

此外,DV-Inspect 提供了一些特別適用于 SystemC 代碼的檢查。例如,檢查哪些寄存器已被顯式初始化很重要。SystemC 變量在仿真中會自動初始化,但 HLS 工具會忽略這些初始化。這會導致難以調試的仿真綜合失配問題。DV-Inspect 還檢查尚未被初始化的寄存器及未定義的操作或多個驅動器能否在設計中傳播 X(未知)值。SystemC 仿真中不存在未知值的概念,因此需要進行形式化分析以發現傳播問題。 SystemC 還缺乏非阻塞賦值,因此導致了順序仿真語義與硬件中的并行操作之間出現競爭條件和失配的情況。

DV-Inspect 可以找出許多仿真或 HLS 都不會進行檢查的問題,包括特定數據類型問題(例如定點運算) 導致的意外行為,以及與并發相關的問題(例如競爭條件評估)。DV-Inspect 提供有價值的綜合前簽核,以節省整體開發時間和資源。

334179d2-4cdd-11f0-b715-92fbcf53809c.jpg

圖 4. 針對 SystemC/C++ 代碼的廣泛檢查

基于順序斷言的SystemC/C++ 驗證

360 DV-Verify 為 SystemC 和其他 SystemC/C++ 設計提供基于斷言的完整驗證解決方案。該工具接受大多數 SystemC 函數,允許針對一系列代碼抽象測試斷言,從事務級模型 (TLM) 到詳細 RTL,一直到網表,從幾乎無時序到周期精準的完整表示。

簡單的 ANSI C 斷言和全時、并發 SystemVerilog 斷言 (SVA),均可配合 SystemC/C++ 設計使用。這種斷言描述的靈活性允許復用其他設計的現有斷言,或將其用作模板,以減少與新格式相關的學習開銷。它還支持一致的綜合前和綜合后流程,相同的斷言(如果編寫時考慮到流程)可以在 SystemC/C++ 業界標準模型及其 RTL 綜合后的衍生模型上復用。此外,針對 RTL 環境創建的驗證知識產權 (VIP) 斷言集,例如總線協議驗證器,可以在 SystemC/C++ 代碼上復用。

這一獨特的能力支持順序斷言,后者可用于描述規范元素、預期的設計特征和要針對抽象代碼進行測試的故障條件。這樣,工程師便可在 SystemC/C++ 級別處理其業界標準設計,確保設計在綜合之前符合規范。它在可針對不同微架構選項實施規范的級別上實現了全面的形式化解決方案。最后,它消除了使用綜合后的 RTL 代碼調試 SystemC/C++ 設計的間接性。

形式化技術已成為硬件設計功能驗證的關鍵組成部分。為了提高抽象級別并利用高層次綜合,許多設計人員已轉向 SystemC/C++。這種方法加快了硬件設計過程,但為了相應地減少驗證時間,必須把重點放在 SystemC/C++ 源代碼上,而不是 HLS 后的 RTL 設計上。適用于 SystemC/C++ 的 360 DV 解決方案滿足這一需求,為高級設計提供自動化設計檢查和基于斷言的全面驗證。HLS 用戶可以充分利用先進的形式化驗證方法,西門子 EDA 解決方案使這一切成為可能。

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

    關注

    113

    文章

    4820

    瀏覽量

    94643
  • 寄存器
    +關注

    關注

    31

    文章

    5428

    瀏覽量

    123785
  • C++
    C++
    +關注

    關注

    22

    文章

    2118

    瀏覽量

    74907
  • systemc
    +關注

    關注

    2

    文章

    26

    瀏覽量

    14727

原文標題:適用于 SystemC/C++ 驗證的形式化解決方案

文章出處:【微信號:Mentor明導,微信公眾號:西門子EDA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    形式化方法的工程化

    形式化工程方法,是以軟件形式化方法理論為基礎,以系統化的工程方法引導工業界工程人員構建高質量的軟件模型,用以引導后續的代碼編寫和相關測試分析。并選取了工業實際場景中的某操作系統的調度系統的形式化驗證
    的頭像 發表于 03-24 11:01 ?1840次閱讀
    <b class='flag-5'>形式化</b>方法的工程化

    SystemC的隨機驗證過程是怎樣的?

    SystemC是基于C++的系統級設計語言,兼具描述硬件電路模型和面向對象的抽象能力。
    的頭像 發表于 08-07 09:43 ?1444次閱讀
    <b class='flag-5'>SystemC</b>的隨機<b class='flag-5'>驗證</b>過程是怎樣的?

    EDA形式化驗證漫談:仿真之外,驗證之內

    “在未來五年內仿真將逐漸被淘汰,僅用于子系統和系統級驗證。與此同時,形式化驗證方法已經開始處理一些系統級任務。隨著技術發展,更多Formal相關的商業標準化會推出。” Intel?fellow
    的頭像 發表于 09-01 09:10 ?1755次閱讀

    如何在ModelSim下用SystemC的做驗證

    C++代碼的驗證部分可以幾乎不加改變的用于基于SystemC驗證模塊的設計,我們為什么還要費力的用SystemVerilog重新寫一遍
    發表于 03-01 11:30

    適用于 bq27421 的全套評估系統解決方案技術資料下載

    描述該參考設計是適用于 bq27421 的全套評估系統解決方案。該解決方案中包括一個帶有集成式電流感應電阻器的 bq27421 電路模塊。使用此設計需要配備用于電量監測計接口的 EV
    發表于 07-24 07:07

    ACRN 之InterruptWindow功能正確性形式化驗證

    重磅推薦|ACRN 之InterruptWindow功能正確性形式化驗證
    發表于 06-18 16:04

    適用于患者監測系統的解決方案

    適用于患者監測系統的潛在解決方案
    發表于 02-26 07:29

    字符分割部分適用于所有的C/C++的代碼嗎

    字符分割部分適用于所有的C/C++的代碼嗎?C/C++的代碼包括哪些?
    發表于 12-17 07:37

    SystemC驗證方法和流程介紹

    SystemC 是由C++衍生而來,本質是在C++的基礎上添加了硬件擴展庫和仿真核,這使SystemC 可以在不同抽象級對復雜電子系統建模。
    發表于 07-19 11:55 ?5356次閱讀
    <b class='flag-5'>SystemC</b> 的<b class='flag-5'>驗證</b>方法和流程介紹

    VaaS平臺已支持區塊鏈平臺智能合約的形式化驗證

    VaaS形式化驗證平臺,采用了多種形式化驗證方法,具有驗證效率高、自動化程度高、人工參與度低、易于使用、支持多個合約開發語言、可支持大容量區塊鏈底層平臺的形式化驗證等優點。
    發表于 12-14 10:18 ?1222次閱讀

    Synopsys為Arm AMBA CXS的VIP提供EDA驗證解決方案

    應用的基于AMBA的多芯片解決方案適用于AMBA CXS規范的新思科技驗證IP,成功使其早期的客戶和合作伙伴驗證下一代芯
    發表于 10-15 09:37 ?4388次閱讀

    適用于Blackfin處理器的VisualDSP++<sup>?</sup>5.0 C/C++編譯器和庫手冊

    適用于Blackfin處理器的VisualDSP++?5.0 C/C++編譯器和庫手冊
    發表于 05-11 11:53 ?10次下載
    <b class='flag-5'>適用于</b>Blackfin處理器的VisualDSP++<sup>?</sup>5.0 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器和庫手冊

    適用于運輸系統的創新電力解決方案

    適用于運輸系統的創新電力解決方案
    發表于 05-18 20:12 ?5次下載
    <b class='flag-5'>適用于</b>運輸系統的創新電力<b class='flag-5'>解決方案</b>

    Formal Verification:形式驗證的分類、發展、適用場景

    形式驗證分為兩大分支:Equivalence Checking 等價檢查 和 Property Checking 屬性檢查 形式驗證初次被EDA工具采用,可以追溯到90年代,被應
    的頭像 發表于 02-03 11:12 ?3404次閱讀

    從小眾走向普及,形式化驗證對系統級芯片開發有多重要?

    首選。據估計,在未來五年內仿真將逐漸被取代,僅用于子系統和系統級驗證。與此同時,形式化驗證方法已經開始處理一些系統級任務,隨著技術的不斷創新,形式化驗證將逐步開始處理更多系統級任務。
    的頭像 發表于 04-21 19:35 ?858次閱讀
    從小眾走向普及,<b class='flag-5'>形式化驗證</b>對系統級芯片開發有多重要?