SoC Blockset™ は、ASIC、FPGA、プログラム可能なシステムオンチップ (SoC)、マルチコア マイクロコントローラー/マイクロプロセッサ用のハードウェア アーキテクチャおよびソフトウェア アーキテクチャのモデル化、シミュレーション、解析を行うための Simulink® ブロックおよび可視化ツールを提供します。
SoC Blockset では、生成されたテストトラフィックまたは実際の I/O データを使用して、メモリと内部および外部の結合性や、スケジューリングと OS の影響をシミュレーションできます。さまざまなシステム アーキテクチャをすばやく調べ、ハードウェアとソフトウェアの分割に伴うインターフェイスの複雑度を予測し、ソフトウェアのパフォーマンスとハードウェア使用率を評価できます。
SoC Blockset は、Embedded Coder および HDL Coder と併用することで、Xilinx® および Intel® FPGA、Xilinx UltraScale+™ MPSoC や RFSoC デバイスなどのプログラム可能な SoC、Texas Instruments C2000™ MCU などのマルチコア マイクロコントローラー/マイクロプロセッサ用のアプリケーションを実装します。
詳細を見る:
仕様からの SoC アーキテクチャの開発
System Composer™ アプリケーションの機能アーキテクチャから始めて、機能コンポーネントを SoC ハードウェア アーキテクチャ (プロセッサ)、プログラマブル ロジック (FPGA)、およびメモリに割り当てることができます。アプリケーション全体の動作をシミュレーションし、正しく機能しているかどうかを確認します。次に、実装を評価して、ハードウェアとソフトウェア間で機能コンポーネントをどのように割り当てるかを判断します。
アルゴリズムリソース使用量の解析
Simulink モデルまたは MATLAB® 関数を解析して、実装に必要な算術演算子の数を要約したレポートを生成します。これらのレポートを使用して、FPGA、ASIC、SoC デバイスのさまざまなアーキテクチャを比較し、設計上のトレードオフを実行して、ハードウェアとソフトウェアの分割について探索します。
メモリトランザクション
DDR メモリをモデル化して、ハードウェアロジックと組み込みプロセッサ間で共有するメモリトランザクションをシミュレーションします。メモリトラフィックをアービトレートするよう、DMA メモリコントローラーを設定します。シミュレーションでメモリレイテンシとスループットを考慮します。
タスクの実行
オペレーティングシステム (OS) で管理されているとおり、組み込みソフトウェアでのタスクの実行をモデル化します。正確なタイミングでコンテキストの切り替え、タスクのプリエンプション、および実行期間を考慮して、タスクをシミュレーションします。FPGA ファブリックで生成されたソフトウェア割り込みをモデル化します。非確定的なタスク期間のシミュレーションを実行するための統計を適用するか、またはハードウェアテスト中に記録されたタスクの期間を適用します。
SoC モデルテンプレート
段階的なアプローチを使用して、SoC アプリケーションの完全なモデルをゼロから構築します。または、ビジョンアプリケーションおよび通信アプリケーション用のテンプレートなど、ハードウェア/ソフトウェアのコプロセッシング用の事前定義されたテンプレートから作成します。
記録された I/O データを使用したシミュレーション
RF 信号や HDMI データなどのハードウェア ペリフェラルのソースを記録した後に、シミュレーションまたはハードウェアテストで記録データをソースとして再生します。
タスク実行の解析
タイマードリブンのタスクとイベントドリブンのタスクを組み込んだ Simulink モデルを実行して、SoC アプリケーションのソフトウェアシステムをシミュレーションします。タスク実行のタイミング、プリエンプション、レートのオーバーラン、ドロップ、およびコア使用率を可視化します。前回のシミュレーション、または SoC デバイスから直接取得したタスクのタイミングに関するデータを使用して、シミュレーションでタスクの実行を再現します。
DDR メモリのパフォーマンス
システム設計のメモリ帯域幅を解析します。SoC デバイスに展開する前に、シミュレーションの結果と帯域幅のメトリクスを可視化します。
デバイス上のメモリパフォーマンスの監視とタスク実行のプロファイリング
SoC デバイスでメモリパフォーマンスとタスクの実行を測定します。次に、これらの測定値を可視化および解析して、システム パフォーマンスの要件を満たすように SoC モデルを調整します。MATLAB または Simulink のテストベンチから、リアルタイムで SoC デバイスと連携します。
組み込みソフトウェアのプロジェクトを生成
SoC Blockset を Embedded Coder® と併用して、スケジューラー、ソフトウェアのタスク、I/O デバイスのドライバーの統合など、モデルから組み込みソフトウェアの完全なプロジェクトを生成します。
リファレンス設計を生成
プログラマブル ロジック デバイス用のリファレンス設計を生成します。リファレンス設計は、外部メモリやソフトウェア アプリケーションに接続可能なデータパスと制御パスを含む、IP コアによる構成済みネットワークです。SoC Blockset では、Xilinx および Intel の設計ツールに接続してビットストリームを生成した後、FPGA ボードと SoC ボードをプログラミングします。
COTS ボードとカスタム ボードをターゲット化
Xilinx Zynq UltraScale+ MPSoC および RFSoC、Zynq-7000 SoC、Intel Cyclone、Arria SoC FPGA など、サポートされているハードウェアキットにハードウェア/ソフトウェアのアプリケーションを実装します。ハードウェア サポート パッケージを使用してボードをターゲット化するか、カスタムボード用のサポートを構築します。
無線通信およびレーダー
プロセッサ、FPGA、DDR メモリサブシステムの影響を考慮しながら、無線通信およびレーダー アプリケーションを評価します。Xilinx Zynq UltraScale+ MPSoC および RFSoC デバイスの事前定義されたモデルを使用してハードウェア/ソフトウェア アプリケーションをシミュレーションし、開発ボードに展開して RFSoC デバイスのデータコンバーターを構成します。
動画および画像処理
データ量の多い動画および画像処理アプリケーションでは、設計者がメモリ帯域幅の要件を評価して、アプリケーションのフレームレートとフレームサイズの要件を満たしていることを確認する必要があります。SoC Blockset を使用して外部 DDR メモリをモデル化し、シミュレーションでメモリ帯域幅を動的に評価します。次に、HDL Coder™ を使用して完全準拠の AXI4 インターフェイス IP を生成します。
モーター制御と電力制御
制御タスクをさまざまなコンピューティング ユニットに分割することで、マルチコア マイクロコントローラーまたは SoC にリアルタイムのモーターおよびパワー エレクトロニクス制御を実装します。プラントとの ADC/PWM ペリフェラル/プロセッサ間通信をシミュレーションし、プロトタイプシステムに展開します。
ペリフェラル モデリング
ADC や PWM のようなペリフェラルの動作を含む閉ループシステムのシミュレーションを実行します。モデルでは、ADC-PWM 同期およびレイテンシを考慮することが可能です。
マルチプロセッサ アーキテクチャ モデリング
複数のプロセッサ間でアルゴリズムを分割することにより、設計のモジュール化を達成してパフォーマンスを改善します。マルチプロセッサの実行とプロセッサ内部のデータ通信をモデル化します。
マイクロコントローラーおよびマイクロプロセッサ ボードへの展開
Embedded Coder でソフトウェア アプリケーションを生成することにより、ハードウェアボードでのラピッド プロトタイピングを実行します。デバイス上でのプロファイリングを実行して、アプリケーションを微調整します。