HDL Coder

主な機能

  • ターゲットに依存しない合成可能な VHDL コードと Verilog コード
  • MATLAB 関数、System object、Simulink ブロックに対するコード生成サポート
  • Stateflow による Mealy と Moore の有限ステート マシンおよび制御ロジックの実装
  • Xilinx および Altera 開発 ボードのプログラミング用ワークフロー アドバイザー
  • 速度と面積のトレードオフのためのリソースの共有とリタイミング機能
  • DO-254 に準拠したモデルからコードおよびコードからモデルのトレーサビリティ
  • レガシ コードとの統合
Generating HDL code from MATLAB or Simulink with HDL Coder.
HDL Coder を使用して MATLAB または Simulink から HDL コードを生成。合成可能な VHDL コードおよび Verilog コードを MATLAB 関数、Simulink モデル、またはこの 2 つの組み合わせから生成することができます。

HDL コードの生成

HDL Coder を使用すると、FPGA および ASIC 実装用の合成可能な HDL コードを次の手順で生成することができます。

  • MATLAB コード、Simulink ブロック、Stateflow チャートを組み合わせて設計をモデル化
  • 速度と面積の設計目標を満たすようモデルを最適化
  • MATLAB および Simulink 用の統合型 HDL ワークフロー アドバイザーを使用して HDL コードを生成
  • HDL Verifier™ を使用して生成されたコードを検証

MATLAB からの HDL コードの生成

HDL Coder の HDL ワークフロー アドバイザーは、MATLAB コードを浮動小数点から固定小数点に自動的に変換し、合成可能な VHDL コードと Verilog コードを生成します。この機能により、ハードウェア実装用に最適化された HDL コードを生成するオプションを提供すると同時に、抽象的な MATLAB 構文と System object を使用してアルゴリズムを高水準でモデル化することができます。HDL Coder には、MATLAB で作成されたカウンターやタイマーなど、すぐ使用できる論理要素のライブラリが用意されています。

Simulink からの HDL コード生成

HDL ワークフロー アドバイザーは Simulink および Stateflow から VHDL コードと Verilog コードを生成します。Simulink では、Stateflow チャートなどの 200 種類以上のブロックを含むライブラリを使用してアルゴリズムをモデル化することができます。このライブラリは、信号処理および通信システムのモデル化および HDL コードの生成のための、ビタビ デコーダー、FFT、CIC フィルター、FIR フィルターなどの複雑な機能を提供します。

HDL Coder Workflow Advisor for Simulink.
Simulink の HDL Coder ワークフロー アドバイザー。Xilinx ISE と Altera Quartus II に直接接続して、Xilinx および Altera の FPGA をプログラムする HDL コードを生成することができます。

HDL コードの最適化

MATLAB または Simulink では、分散型パイプライン、ストリーミング、リソース共有を使用して、速度と面積の目標を達成するよう HDL コードを最適化することができます。MATLAB では、for ループまたは行列演算を含んだ MATLAB 設計に対して、ループのストリーミングや展開などの高度なループ最適化が使用できます。MATLAB コード上の永続変数または行列変数をブロック RAM にマッピングすることもできます。Simulink では、信号処理とマルチメディア アプリケーションで一般的な多重チャネル設計およびシリアル化技法を実装できます。

HDL Workflow Advisor for MATLAB.
RAM マッピング、パイプライン、リソース共有、ループ展開などの最適化オプションを提供するMATLAB 用 HDL ワークフロー アドバイザー。
Area-speed optimization.
速度と面積の最適化。4 つの乗算器を1つにすると、デザインの面積は小さくなりますが、代償としてデータ転送速度が 4 倍になります。

FPGA 設計の自動化

HDL Coder の HDL ワークフロー アドバイザーは、MATLAB アルゴリズムと Simulink モデルを Xilinx FPGA および Altera FPGA に実装するためのワークフローを自動化します。HDL ワークフロー アドバイザーは、以下のような FPGA 設計プロセスのすべての手順を統合します。

  • Simulink モデルのHDL コード生成への適合性をチェック
  • HDL コード、HDL テスト ベンチ、コシミュレーション モデルの生成
  • Xilinx ISE および Altera Quartus II との統合による合成とタイミング解析の実行
  • 設計に使用されるリソースの推定
  • Simulink モデルへのクリティカル パスタイミング情報の反映
Back annotating a Simulink model with critical path timing.
クリティカル パスタイミング情報を Simulink モデルに反映。HDL ワークフロー アドバイザーは、速度ボトルネックを特定して設計性能を改善するために Simulink上でクリティカル パスのタイミング情報をハイライト表示します。

合成後のタイミング レポートを見て、Simulink モデルへのバック アノテーションを行い、タイミング制約のボトルネックを特定することができます。合成ツールとの統合によって、設計の繰り返し作業の高速化が可能になり、FPGA 設計サイクルの時間を大幅に削減することができます。

HDL コードの検証

HDL Coder は生成された HDL コードの迅速な検証のためVHDL および Verilog テスト ベンチを生成します。HDL コードに変更をもたらすさまざまなオプションを使用して、HDL テスト ベンチのカスタマイズがです。また、スクリプト ファイルを作成すると、HDL シミュレーターでのコードのコンパイルとシミュレーションのプロセスを自動化できます。

HDL Coder は HDL Verifier と連携して、以下のような 2 種類のコシミュレーション モデルを自動的に生成します。

  • Simulink と、Cadence Incisive または Mentor Graphics ModelSim および Questa などの HDL シミュレーターによる HDL コシミュレーションを実行するための HDL コシミュレーション モデル
  • Simulink および FPGA ボードにより設計を検証するための FPGA インザループ (FIL) コシミュレーション モデル
Automatically generated FGPA-in-the-loop (FIL) model for video sharpening.
ビデオ先鋭化のための自動生成された FPGA インザループ (FIL) モデル。FIL シミュレーションにより、ハードウェア上での設計面積の調査を効率的に実行できます。

HDL コードのドキュメント化および追跡

HDL Coder は、ハイパーリンクされた HDL コードと生成された HDL ファイルの一覧表を含む HTML レポートの形式で生成コードをドキュメント化します。HDL コードのハイパーリンクを使用すると、対応する MATLAB アルゴリズムまたはコードを生成した Simulink ブロックに移動することができます。

HDL Coder では、DO-254 などの規格に準拠する信頼性の高いアプリケーションに対してコード トレーサビリティをサポートするために、以下を行うことができます。

  • 生成された HDL コードから MATLAB コードに移動
  • 双方向の追跡を可能にする Simulink ブロックと生成された HDL コードとの間の移動
  • コードの可読性を改善するユーザーが管理できるコメントおよび説明の挿入
Code Generation Report in MATLAB, which lets you navigate to MATLAB code from generated VHDL and Verilog code
生成された VHDL コードおよび Verilog コードから MATLAB コードへの移動が可能な、MATLAB 上でのコード生成レポート。

Simulink Verification and Validation™ を HDL Coder とともに使用すると、Simulink または Stateflow から生成された HDL コードにシステム要件をコメントとして組み込むことができます。これにより、システム要件から生成 HDL コードまでのワークフロー全体を通じて完全な透過性を実現できます。

HDL Code Generation Report in Simulink, which lets you navigate between model and generated HDL code.
モデルと生成された HDL コードとの間の移動が可能な、Simulink での HDL コード生成レポート。

製品評価版の入手
または製品の購入

ハード/ソフト用アルゴリズムの協調設計 ~モデルベースデザインによるProgrammable SoC実装~

Web セミナーを表示する

モデルをHW検証テストベンチとして活用する方法

詳しく知る