SoC Blockset

SoC アーキテクチャのシミュレーションおよび解析

ソフトウェアのアルゴリズム、ハードウェアロジック、メモリシステム、I/O デバイスを開発して、SoC アプリケーションに統合します。ハードウェアに展開する前に、アーキテクチャの代替を評価します。

仕様からの SoC アーキテクチャの開発

System Composer™ アプリケーションの機能アーキテクチャから始めて、機能コンポーネントを SoC ハードウェア アーキテクチャ (プロセッサ)、プログラマブル ロジック (FPGA)、およびメモリに割り当てることができます。アプリケーション全体の動作をシミュレーションし、正しく機能しているかどうかを確認します。次に、実装を評価して、ハードウェアとソフトウェア間で機能コンポーネントをどのように割り当てるかを判断します。

アルゴリズムリソース使用量の解析

System Composer を使用して、機能コンポーネントを SoC ハードウェア アーキテクチャのコンポーネントに割り当てる。

アルゴリズムリソース使用量の解析

Simulink モデルまたは MATLAB® 関数を解析して、実装に必要な算術演算子の数を要約したレポートを生成します。これらのレポートを使用して、FPGA、ASIC、SoC デバイスのさまざまなアーキテクチャを比較し、設計上のトレードオフを実行して、ハードウェアとソフトウェアの分割について探索します。

MATLAB 関数または Simulink モデルを実装するために必要な演算子の推定数と型を表示。

MATLAB 関数または Simulink モデルを実装するために必要な演算子の推定数と型を表示。

タスクの実行

オペレーティングシステム (OS) で管理されているとおり、組み込みソフトウェアでのタスクの実行をモデル化します。正確なタイミングでコンテキストの切り替え、タスクのプリエンプション、および実行期間を考慮して、タスクをシミュレーションします。FPGA ファブリックで生成されたソフトウェア割り込みをモデル化します。非確定的なタスク期間のシミュレーションを実行するための統計を適用するか、またはハードウェアテスト中に記録されたタスクの期間を適用します。

タイミング図を使用して、タスクのプリエンプション、コンテキストの切り替え、実行期間を可視化。

タイミング図 を使用して、タスクのプリエンプション、コンテキストの切り替え、実行期間を可視化。

SoC モデルテンプレート

段階的なアプローチを使用して、SoC アプリケーションの完全なモデルをゼロから構築します。または、ビジョンアプリケーションおよび通信アプリケーション用のテンプレートなど、ハードウェア/ソフトウェアのコプロセッシング用の事前定義されたテンプレートから作成します。

事前定義されたモデルのテンプレートを使用して、SoC アプリケーション用のモデルを構築。

事前定義されたモデルのテンプレートを使用して、SoC アプリケーション用のモデルを構築。

記録された I/O データを使用したシミュレーション

RF 信号や HDMI データなどのハードウェア ペリフェラルのソースを記録した後に、シミュレーションまたはハードウェアテストで記録データをソースとして再生します。

シミュレーションのソースとして記録データを再生。

シミュレーションのソースとして記録データを再生。

システム性能の解析

シミュレーションを通じてメモリパフォーマンスとタスクの実行を評価し、デバイス上のプロファイリングを実行します。

タスク実行の解析

タイマードリブンのタスクとイベントドリブンのタスクを組み込んだ Simulink モデルを実行して、SoC アプリケーションのソフトウェアシステムをシミュレーションします。タスク実行のタイミング、プリエンプション、レートのオーバーラン、ドロップ、およびコア使用率を可視化します。前回のシミュレーション、または SoC デバイスから直接取得したタスクのタイミングに関するデータを使用して、シミュレーションでタスクの実行を再現します。

タスク実行の解析

タスク実行レポートに、タスクの最小値、最大値、一般的なタイミングと、プロセッサコアの使用統計を表示。

DDR メモリのパフォーマンス

システム設計のメモリ帯域幅を解析します。SoC デバイスに展開する前に、シミュレーションの結果と帯域幅のメトリクスを可視化します。

共有メモリのトランザクションをシミュレーションして、パフォーマンスを解析。

共有メモリのトランザクションをシミュレーションして、パフォーマンスを解析。

デバイス上のメモリパフォーマンスの監視とタスク実行のプロファイリング

SoC デバイスでメモリパフォーマンスとタスクの実行を測定します。次に、これらの測定値を可視化および解析して、システム パフォーマンスの要件を満たすように SoC モデルを調整します。MATLAB または Simulink のテストベンチから、リアルタイムで SoC デバイスと連携します。

コード計測プロファイラーを使用して、タスクの実行を測定。

コード計測プロファイラーを使用して、タスクの実行を測定。

SoC や FPGA デバイスへの展開

プログラマブル ロジック用のリファレンス設計と RTL コードを生成します。プロセッサタスク用の C/C++ コードを生成します。完成したハードウェア/ソフトウェア アプリケーションを開発用ボードに展開します。

組み込みソフトウェアのプロジェクトを生成

SoC Blockset を Embedded Coder® と併用して、スケジューラー、ソフトウェアのタスク、I/O デバイスのドライバーの統合など、モデルから組み込みソフトウェアの完全なプロジェクトを生成します。

モデルから組み込みソフトウェアの完全なプロジェクトを生成。

モデルから組み込みソフトウェアの完全なプロジェクトを生成。

リファレンス設計を生成

プログラマブル ロジック デバイス用のリファレンス設計を生成します。リファレンス設計は、外部メモリやソフトウェア アプリケーションに接続可能なデータパスと制御パスを含む、IP コアによる構成済みネットワークです。SoC Blockset では、Xilinx および Intel の設計ツールに接続してビットストリームを生成した後、FPGA ボードと SoC ボードをプログラミングします。

HDL Coderにより生成された HDL アルゴリズム IP で使用するためのリファレンス設計を生成。

HDL Coderにより生成された HDL アルゴリズム IP で使用するためのリファレンス設計を生成。

COTS ボードとカスタム ボードをターゲット化

Xilinx Zynq UltraScale+ MPSoC および RFSoC、Zynq-7000 SoC、Intel Cyclone、Arria SoC FPGA など、サポートされているハードウェアキットにハードウェア/ソフトウェアのアプリケーションを実装します。ハードウェア サポート パッケージを使用してボードをターゲット化するか、カスタムボード用のサポートを構築します。

ギャラリーを見る (4 枚の画像)

注目の応用例

無線通信、動画および画像処理、制御用のハードウェア/ソフトウェア アプリケーションを開発および展開します。

無線通信およびレーダー

プロセッサ、FPGA、DDR メモリサブシステムの影響を考慮しながら、無線通信およびレーダー アプリケーションを評価します。Xilinx Zynq UltraScale+ MPSoC および RFSoC デバイスの事前定義されたモデルを使用してハードウェア/ソフトウェア アプリケーションをシミュレーションし、開発ボードに展開して RFSoC デバイスのデータコンバーターを構成します。

SoC Blockset を使用して、Xilinx UltraScale+ RFSoC を対象としたレンジ ドップラー レーダーなどのアプリケーションをモデル化、シミュレーション、展開。

動画および画像処理

データ量の多い動画および画像処理アプリケーションでは、設計者がメモリ帯域幅の要件を評価して、アプリケーションのフレームレートとフレームサイズの要件を満たしていることを確認する必要があります。SoC Blockset を使用して外部 DDR メモリをモデル化し、シミュレーションでメモリ帯域幅を動的に評価します。次に、HDL Coder™ を使用して完全準拠の AXI4 インターフェイス IP を生成します。

動画および画像処理

SoC Blockset のブロックを使用した動画アプリケーションのモデル化。

モーター制御と電力制御

制御タスクをさまざまなコンピューティング ユニットに分割することで、マルチコア マイクロコントローラーまたは SoC にリアルタイムのモーターおよびパワー エレクトロニクス制御を実装します。プラントとの ADC/PWM ペリフェラル/プロセッサ間通信をシミュレーションし、プロトタイプシステムに展開します。

モーター制御と電力制御

複数のプロセッサ間でアルゴリズムを分割。

マイクロコントローラーとマイクロプロセッサへのシミュレーションと展開

ソフトウェア アルゴリズムを開発し、オペレーティング システムおよびハードウェア コンポーネントの効果を組み込んで、ハードウェアに展開します。

マルチプロセッサ アーキテクチャ モデリング

複数のプロセッサ間でアルゴリズムを分割することにより、設計のモジュール化を達成してパフォーマンスを改善します。マルチプロセッサの実行とプロセッサ内部のデータ通信をモデル化します。

マイクロコントローラーおよびマイクロプロセッサ ボードへの展開

Embedded Coder でソフトウェア アプリケーションを生成することにより、ハードウェアボードでのラピッド プロトタイピングを実行します。デバイス上でのプロファイリングを実行して、アプリケーションを微調整します。

ソフトウェア アプリケーションを TI Delfino F28379D LaunchPad に展開。

ソフトウェア アプリケーションを TI Delfino F28379D LaunchPad に展開。