ASIC および SoC

ASIC のアルゴリズムのモデリング、検証、およびプログラミング

特定分野の専門家およびハードウェア エンジニアは、MATLAB® および Simulink® を使用して、プロトタイピングとASIC設計を行います。MATLAB と Simulink を使用すれば、次のことが可能になります。

  • 仕様に関するコミュニケーション不備を排除するために ASIC ハードウェアに向けてアルゴリズムを改良する
  • 高レベルの抽象度でシステムオンチップの動作をシミュレートする
  • システムレベルのモデルとテストケースを再利用して検証を早期に開始する
  • 製品クオリティの RTL の生成

「Simulink 環境は、システムレベルのアーキテクチャ探索に理想的です。シミュレーションは、以前のワークフローの 200 倍高速です。また Simulink モデルは C や HDL コードに簡単に変換できるため、拡張性および再利用性が高まります。」

Ken Chen, Faraday

MATLAB を ASIC および SoC で使用する 

ASIC の設計のモデリング 

hardware architecture (8:13) をデジタルアルゴリズムに追加します。これには、fixed-point quantization (30:34)が含まれるため、リソースをより効率的に使用できます。またnative floating-point (8:55)コード生成も含まれるため、FPGA でのプロトタイプ作成がより簡単に行えます。テストとゴールデン リファレンス・アルゴリズムを再利用して、一連の改良点をシミュレートします。

HDL Coder™ は、HDL 対応の Simulink および MATLAB 関数ブロックと、Stateflow® チャートから直接合成可能な VHDL または Verilog を生成します。初期のFPGA prototyping (20:51)と本番環境の実装のために同じモデルからコードを生成できます。このアプローチにより、ハードウェア設計と検証のワークフローに俊敏性と再利用性が備わります。


システムオンチップ動作のシミュレーション

実装前にシステムレベルのバグやパフォーマンスの問題を特定して排除するために、デジタル、アナログ、およびソフトウェアの機能性をともに高度な抽象化でモデリングします。SoC Blockset™ を使用して、メモリ、内部/外部の接続性、およびスケジューリングと OS の影響をシミュレートします。

Simulink Test™ を使用してシステムレベルのテストケースを作成および自動化し、Simulink Coverage™ を使用して要件を満たすためのメトリクスを報告します。

サブシステムを改良しながら、SoC を継続的に検証することで、プロジェクト全体の等価性と SoC レベルの互換性を確保します。  


検証を早期に開始する

HDL Verifier™ は、MATLAB および Simulink のテスト環境を再利用して FPGA 設計を検証します。

cosimulation (5:35)では、Mentor Graphics または Cadence Design Systems のシミュレータで実行されている Verilog または VHDL 設計に接続された MATLAB または Simulink のテストベンチを自動的に実行できます。

SystemVerilog シミュレーターでリファレンス モデル、スティミュラス、または高速なシミュレーション モデルとして使用するために、アナログまたはデジタルのモデルを SynopsysCadence Design Systems、または Mentor Graphics から SystemVerilog DPI (5:19) コンポーネントとしてエクスポートします。


本番環境用 ASIC 設計

特定分野の専門家およびハードウェア エンジニアは、MATLAB および Simulink を使用して、ワイヤレスビデオ/画像処理motor and power control (24:20)、およびセーフティクリティカルなアプリケーション向けに、本番環境の FPGA および SoC を共同設計しています。

幅広いアーキテクチャの選択肢を検討してから、HDL Coder の高レベルの合成のoptimizations (49:42)を使用して、実装の目標を達成します。モデルと要件まで戻ってトレース可能な、可読性の高い RTL を自動的に生成します。HDL Coder は、合成可能で設計のルールに準拠した RTL と共に、SoC への統合を容易にするためのさまざまな AXI4 インターフェイスを生成します。