軟體/硬體系統的行為分析、即時分析及效能分析

發掘優勢

  • 為任何電子系統的行為、計時需求、架構及效能預估建立模型並進行模擬

  • 在簡單的圖形模型中擷取設計理念和系統使用案例

  • 提供定時執行規格,促進溝通並提供早期權衡分析的基礎

author-image

作者

概覽
Intel® CoFluent™ 工具 (CoFluent) 是一款系統模型和模擬工具,可以為架構和設計執行效能預測並提早進行最佳化。

Intel CoFluent 工具能讓您更輕鬆地探索設計空間,加速執行「假設」分析,協助您加快創新腳步。其不僅能規劃出最好的架構以發揮效能,還能徹底提高資源使用率,協助您降低開發成本。使用 CoFluent 就能在設計週期早期分析系統架構,進而協助您將重新設計的情況減到最少,縮短上市時間。

自 2004 年以來,CoFluent 一直是系統單晶片 (SoC) 和消費性電子產品市場所採用的解決方案。最新版本的 CoFluent 現在可以成功用於模擬端對端物聯網 (IoT) 系統,並為大數據叢集判斷最佳情況。

Intel CoFluent 工具能用來為任何電子系統的行為、計時需求、架構及效能預估建立模型並進行模擬。這包括輸送量、延遲、載入、記憶體及成本的效能預估。例如,CoFluent 可以為下列系統建立模型並進行模擬:物聯網、硬體 (HW) 智慧財產 (IP)、嵌入式軟體 (SW) 應用程式,以及混合軟硬體的多處理器系統。產生的 CoFluent 模型可以用於行為驗證、執行規格、效能分析以及功能性架構。

CoFluent 中的行為會以直覺式圖形表示法和 C/C++ 程式碼來描述。CoFluent 也能讓您不用定義演算法並依其單獨執行時間抽象擷取。使用 Intel CoFluent 工具可以直接預估行為與效能,不需要軟體應用程式碼、韌體,也不需要精確描述附有各個元件/IP 核心模型的平台。

模型建立流程
優良規格對於開發嵌入式系統和晶片的重要性,想必沒有人會質疑。但是一旦系統規格指定完成,該如何確定所選擇的設計符合系統功能及其他需求?較好的辦法是建立模型,而不是直接撰寫文件和繪圖。有沒有最理想的解決方案?建立並執行模型,以確認並驗證其良窳。

Intel CoFluent 工具可讓您在簡單的圖形模型中擷取設計理念和系統使用案例。在這些模型中,系統和使用案例行為會以並行程序的網路來表示,這些程序的進行及彼此互動是為了完成某些邏輯目標。程序之間的資料流與控制流,以及各個程序的流程,都會分別使用圖形語言來描述。C/C++/SystemC 用來當作行動語言。

CoFluent 可讓您執行兩個不同的模型類型:

  • 行為模型:  又稱統計式或標誌式模型(請參閱圖 1)。行為模型可以將資料類型和演算法保留空白,讓資料通訊和運算依其單獨執行時間抽象擷取。這對於驗證及時平行執行的程序,以及程序間的通訊與同步來說,非常實用。
  • 功能模型: 在功能模型中,資料類型與演算法對應到真實的資料定義及系統完成的處理。這些資料類型與演算法可以使用 C/C++/SystemC 來定義或使用 MATLAB* 來描述。

此外,模型的執行時間也可以從校正資料中反向註解。這些執行時間可以依據 C/C++ 程式碼的主機式剖析來進行測量,或在變異範圍中探索。使用 CoFluent,就能在非常短的時間內以較不費力的方式描述模型並取得模擬結果。

在擷取系統使用案例時,所產生的 SystemC 測試案例可以在任何 SystemC 模疑和驗證環境中重複使用。這樣您就可以驗證精簡模型、詳細模型或最終實作。若是與人工撰寫程式比較,CoFluent 抽象擷取圖形和自動產生程式碼的功能,可以讓生產力大幅提升,進而能讓您建立更複雜且更合乎實際情況的測試案例。

Intel CoFluent 工具是一個以 Eclipse* 為基礎的整合式電子系統層級模型和模擬環境。CoFluent 包含圖形模型器和模擬架構:

  • 圖形模型器使用 CoFluent 領域專用語言 (DSL) 來擷取系統行為(前端)。SystemC、C 或 C++ 可以用來當作擷取資料類型與演算法的行動語言。非功能性的系統需求或模型校正資料(例如執行期間或記憶體值)可透過模型屬性來增加。
  • 模擬架構可以為完整的系統自動產生並結合交易級 SystemC 模型,然後使用多組分析工具來解讀模擬蹤跡:
    • 文字列印主控台。
    • 繪線圖: 時間函數中的變數、其他變數函數中的變數。
    • 影像檢視。
    • 演算法剖析: 測量演算法執行時間、計時及計算執行數量。演算法執行時間可以用最小、最大及平均時間來表示。
    • 時間表: 顯示及時平行執行的程序及其狀態(執行中、受阻礙、閒置),並顯示程序間的通訊,等同於附上計時資訊的 UML 序列圖。程序間通訊包含資料讀取/寫入,以及事件取得/設定。
    • 效能剖析: 針對系統及其各個元件取得資源載入(以百分比或 MCycles/s 表示)、耗電量、記憶體用量及成本價值(針對時間的最小值、最大值、平均值及動態剖析)。

CoFluent 還能讓您擷取效能數字,例如延遲、輸送量、緩衝程度、資源載入、記憶體用量及成本:

  • SystemC 程式庫會擴充 Accellera SystemC 2* 和 TLM 程式庫。這個程式庫是 Intel CoFluent 工具核心的運算與通訊模擬引擎。系統會針對多處理器和多核心/多執行緒工作來執行運算。通訊包含訊息佇列、事件及互連。

整合式全功能系統應用程式的模型環境可讓您:

  • 在相同的模型內一次為結構、控制流、資料流及時間屬性建立模型。
  • 描述使用案例及完整的系統功能。
  • 輕鬆整合外部 C/C++ 或 SystemC 程式碼/IP。
  • 將模型匯出至程式庫並控制匯入模式(黑箱或白箱),供其他專案重複使用。

行為和計時限制的完整驗證包括:

  • 完整計時模型 — 演算法與通訊的持續期間。
  • 快速模擬,根據交易級模型 (TLM) 的 SystemC(訊息傳遞)功能。
  • 自動化結合功能,使用多組動態虛擬化和分析工具。

您可以採用下列方式準備進一步的架構設計和實作:

  • 直接用於系統架構和早期效能分析的計時行為模型。
  • 與軟體(即時作業系統抽象擷取)和硬體實作模型相容的功能性架構。
  • 自動產生 SystemC 程式碼,以在與 SystemC 相容的虛擬平台中重複使用。
  • 自動產生文件。
  • 軟體開發套件 (SDK),可讓您建立自己的程式碼產生器、驗證規則及追蹤分析器。

您也可以採用下列方式讓所有專案利益關係者更緊密地互動:

  • 根據並行通訊功能(或程序)的通用模型,代表與技術考量和物理表現無關的系統動態。
  • 明確的執行規格,可為驗證提供重要結果。
  • 高階圖形表示法和模擬結果,讓專案利益關係者更容易憑直覺使用。

讀取器
Intel® CoFluent™ 讀取器是免費的模型檢視程式和模擬器/播放器,可以讀取使用 Intel CoFluent 工具建立的模型。Intel CoFluent 讀取器能讓設計師與他人共用模型、行為、模擬結果及觀察情況,共用對象包括其他工程師、管理員、最終使用者、客戶及行銷人員等可能沒有 Intel CoFluent 工具存取權限的專案利益關係者。使用 Intel CoFluent 讀取器,您就能更輕鬆讀取、瞭解及共用模型與模擬。

摘要
Intel CoFluent 工具提供定時執行規格、促進溝通並提供早期權衡分析的基礎,搭配 Intel CoFluent 讀取器更能填補專案中從規格到實作之間的差距。