FPGA、ASIC、または SoC プロジェクトの複数のメンバーが、高い抽象度での初期の重要な意思決定を協力して行い、コードとモデルを生成して実装を迅速に行うことができます。
MATLAB および Simulink を使用することで、以下を行うことができます。
- 各種アーキテクチャの選択のモデル化とシミュレーション
- 実装に向けたアルゴリズムのトップダウンでの調整
- 固定小数点の量子化の収束
- 量産品質の RTL と組み込み C コードの生成
- デジタルまたはアナログ シミュレーション環境で使用する検証モデルの生成
- 機能安全認証ワークフローの遵守
MATLAB を使用した量産設計と検証
SoC アーキテクチャとトップダウン設計
アルゴリズム開発者は、システムアーキテクト、デジタル、アナログ/ミックスドシグナル、および検証エンジニアと協力して、高い抽象度でアーキテクチャのオプションを検討することができます。これにより、チームで分割戦略を実験し、ハードウェア マイクロ アーキテクチャや固定小数点の量子化などの実装の詳細を使用して、分割を段階的に調整することができます。数学演算から量産実証済みのハードウェア IP ブロックおよびサブシステムまで、300 を超えるブロックが SystemVerilog、Verilog、VHDL の生成をサポートしています。
このトップダウンプロセス全体で、シミュレーション用のより詳細なモデルをシステムコンテキストで継続的に統合して、機能とパフォーマンスの問題を早期に排除することができます。このプロセスでは、システムレベルのテストケースのスイートを作成および管理し、モデルカバレッジを測定できるため、実装が正常に完了したことを確認することができます。
製品を見る
検証モデル生成
ASIC Testbench for HDL Verifier アドオンを使用すると、Verilog テストベンチや VHDL テストベンチを記述することなく、直接 MATLAB および Simulink から検証コンポーネントをエクスポートできます。 これにより、RTL シミュレーションの参照モデルとスティミュラスの高位の動作を正確に把握することができます。高位設計が変更された場合は、モデルを再生成することができます。
こうした検証コンポーネントは SystemVerilog Direct Programming Interface (DPI) を使用するため、SystemVerilog をサポートするシミュレーターであればどれでも使用することができます。RTL 検証環境で UVM を使用している場合は、オプションで Simulink から Universal Verification Methodology (UVM) コンポーネントを生成することができます。
量産向けコードの生成
従来の設計プロセスでは多くの場合、仕様書を作成し、その仕様書に基づいてコードを作成するという手作業のプロセスでバグが発生します。MATLAB と Simulink を使用してシステムレベルの検証を実行すると、検証済みの実装モデルから直接 FPGA および ASIC 設計用の HDL コードや C コードを生成することができます。
生成された HDL は可読性に優れ、ソースモデルまで遡ってトレース可能であり、ターゲットに依存しません。パイプライン挿入などの速度の最適化、リソース共有などの面積の最適化、各種コーディングスタイルと構造オプションを管理することができます。また、再ターゲット可能な IP コアを構築して、SoC 設計におけるプロセッサタスクを高速化することもできます。AMD® および Intel® の合成ツールはコード生成メニューから自動的に実行できますが、スクリプトを生成して任意の FPGA または ASIC 合成ツールを実行することもできます。
機能安全
プロジェクトで機能安全規格への準拠が必要な場合、FPGA、ASIC、および SoC 開発のワークフローは、DO-254、ISO 26262、および IEC 61508 用キットに含まれています。こうしたワークフローには、モデルが適切な規格要件に準拠していることを確認するために、組み込みチェック機能を備えたモデルアドバイザーの実行が含まれます。
生成された HDL コードおよび C コードは、可読性に優れ、モデルと要件まで遡ってトレースできるため、コードをレビューしやすくなります。コシミュレーションや FPGA インザループを使用した back-to-back テストなどの各種手法を用いて、検証要件を満たすことができます。