SoC Blockset

SoC ハードウェア アーキテクチャおよび SoC ソフトウェア アーキテクチャの設計、評価、実装

SoC Blockset™ は、ASIC、FPGA、システムオンチップ (SoC) 用のハードウェア アーキテクチャおよびソフトウェア アーキテクチャのモデル化、シミュレーション、解析を行うための Simulink® ブロックおよび可視化ツールを提供します。メモリモデル、バスモデル、I/O モデルを使用してシステム アーキテクチャを構築し、そのアーキテクチャをアルゴリズムと一緒にシミュレーションできます。

SoC Blockset では、生成されたテストトラフィックまたは実際の I/O データを使用して、メモリと内部および外部の結合性や、スケジューリングと OS の影響をシミュレーションできます。さまざまなシステム アーキテクチャをすばやく調べ、ハードウェアとソフトウェアの分割に伴うインターフェイスの複雑度を予測し、ソフトウェアのパフォーマンスとハードウェア使用率を評価できます。

SoC Blockset は、Zynq®-7000、Ultrascale+™、Intel SoC FPGA など、Xilinx® および Intel® のFPGA デバイスと SoC プラットフォームのリファレンス設計をエクスポートします。これらのリファレンス設計は、Xilinx および Intel の設計ツールで使用できます。

詳細を見る:

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

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

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

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

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

メモリトランザクション

ハードウェアロジックと組み込みプロセッサ間で共有するメモリトランザクションをモデル化して、シミュレーションします。メモリトラフィックをアービトレートするよう、DMA メモリコントローラーを設定します。シミュレーションでメモリレイテンシとスループットを考慮します。

タスクの実行

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

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

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 で使用するためのリファレンス設計を生成。

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

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

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

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

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

周辺機器モデリング

ADC や PWM のような周辺機器の動作を含む閉ループシステムのシミュレーションを実行します。モデルでは、ADC-PWM 同期およびレイテンシを考慮することが可能です。

ADC、PWM および Task Manager ブロックを使用して、トリガーの動作をモデル化

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

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

個別のプロセッサで実行されるベアメタルプロセス間の通信を IPC チャネルでシミュレーション。

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

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

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