HDL Coder

FPGA と ASIC 設計用 VHDL コードと Verilog コードの生成

 HDL Coder は、MATLAB® 関数、Simulink® モデル、および Stateflow® チャートから、移植可能で合成可能な Verilog® コードおよび VHDL® コードを生成します。生成された HDL コードは、FPGA プログラミングと、ASIC プロトタイピングおよび設計に使用できます。

HDL Coder には、Xilinx®、Microsemi®、および Intel® FPGA のプログラミングを自動化するワークフロー アドバイザーがあります。HDL アーキテクチャや実装の設定、クリティカルパスの強調表示、ハードウェアリソースの使用状況の推定を行うことができます。HDL Coder は、Simulink モデルと、生成された Verilog/VHDL コードの間のトレーサビリティを実現します。これにより、DO-254 などの標準規格に準拠する高信頼性アプリケーションのコードを検証できます。

詳細を見る:

HDL コード生成

高レベルの抽象度でハードウェア設計を開発および検証し、FPGA、ASIC、または SoC デバイスをターゲットとする合成可能な RTL コードを自動的に生成します。

高レベルのハードウェア設計

300 以上の HDL 対応 Simulink ブロック、MATLAB 関数、Stateflow チャートから選択して、サブシステムを設計します。設計のハードウェア動作のシミュレート、代替アーキテクチャの調査、合成可能な VHDL または Verilog の生成を行います。

パルス検出アルゴリズムのハードウェア アーキテクチャ

ベンダーに依存しないターゲティング

さまざまな実装ワークフローと、FPGA、ASIC、SoC デバイスで使用するための合成可能な RTL を生成します。プロトタイプと量産コードの生成に同じモデルを再利用します。

あらゆる FPGA、ASIC、または SoC デバイスに展開可能で、ベンダーに依存せず、効率的で合成可能な RTL を生成

良好な可読性かつトレース可能な HDL コード

要件、モデル、および HDL の間のトレーサビリティを維持することにより、DO-254ISO 26262、および IEC 61508 などの機能安全規格に準拠します。生成された HDL は、業界標準のルールに準拠しており、コードレビューのために読み取ることができます。

ソースモデルと要件にリンクされた、生成 HDL コード

予測可能なデザイン クロージャ

アルゴリズムとハードウェアのエンジニアが単一の環境で共同作業できるようにし、仕様書やハンドコーディングされた RTL に依存した従来のワークフローのコミュニケーション ギャップを取り除きながら、それぞれの専門知識を適用します。

ハードウェア開発の高速化

アルゴリズム設計とハードウェア設計を 1 つの環境に統合することで、高品質のシステム設計に効率的に集中できます。ワークフローの初期段階で、ハードウェア実装によるアルゴリズム制約に対する影響を把握します。

ワークフローの初期段階で、連携してハードウェア実装の詳細をアルゴリズムに追加

より最適化されたデザイン

RTL の実装に取り組む前に、さまざまなハードウェア アーキテクチャと固定小数点量子化について検討します。高位合成の最適化は、ロジック、DSP、RAM などのデバイスリソースに効率的にマッピングを行います。

さまざまな実装の選択肢を迅速に検討

早期検証

ワークフローの初期段階で、デジタル、アナログ、およびソフトウェア機能をシステムレベルでシミュレートし、実装に向けて継続的にモデルを改良し、統合します。テストスイートの管理、テストカバレッジの測定、および RTL 検証を簡単に開始するためのコンポーネントの生成を行います。

高レベルな機能を検証およびデバッグし、RTL 検証用のモデルを生成

FPGA、ASIC、および SoC 実装

プロトタイプまたは量産ハードウェアに展開します。さまざまなデバイスやボードを自動的にターゲットにします。

FPGA ベースのデバイス

XilinxIntelMicrosemi FPGA および SoC デバイスに効率的にマッピングする RTL を生成します。汎用ボード向けハードウェア サポート パッケージを使用して入出力をデバイスレベルの I/O および AXI レジスタにマッピングするか、独自のカスタム リファレンスデザインを定義します。

FPGA プロトタイプボード上でのワイヤレス通信アルゴリズムのテスト

ASIC ワークフロー

アナログ、デジタル、ソフトウェアが混在するシステムの中で、高レベルなハードウェア機能およびアーキテクチャを設計および検証します。次に、ASIC ハードウェア上で高い設計結果品質 (QoR) を実現する、読み取り可能でコーディング規約に準拠した RTL を生成します。

リアルタイム シミュレーションおよびテスト

HDL ワークフロー アドバイザーを使用して、Speedgoat からプログラム可能 FPGA I/O モジュールをターゲットにし、Simulink Real-Time™ を使用してシミュレートします。ネイティブ浮動小数点 HDL コードを生成することで、高精度プロトタイピングのワークフローを簡単に行うことができます。

Speedgoat FPGA I/O ボードをターゲットにHDL ワークフロー アドバイザーを使用

注目のアプリケーション

性能と効率を必要とする信号処理および制御アプリケーション用カスタム デジタル ハードウェアの設計およびコード生成

ワイヤレス通信

実信号、または取得した信号を使用してシステムレベルのアルゴリズムを設計し、ハードウェア アーキテクチャの詳細を追加したり、LTE HDL Toolbox™ のサブシステムやブロックを再利用したりします。事前設定されたソフトウェア無線 (SDR) プラットフォームまたはカスタムのターゲット ハードウェアに展開します。

ワイヤレス通信アルゴリズム用のハードウェア アーキテクチャを実装

モーターとパワーエレクトロニクス制御

必要に応じて浮動小数点精度を維持しながら、複雑な低レイテンシの制御システムを FPGA、ASIC、または SoC ハードウェアに実装します。プラントモデルでシミュレートしてプロトタイプシステムに展開し、量産展開のためにモデルを再利用します。

浮動小数点モーター制御アルゴリズムから HDL を生成

ビデオおよび画像処理

画像処理アルゴリズムのストリーミング ハードウェア実装をモデル化する Vision HDL Toolbox™ ブロックおよびサブシステムから効率的な RTL を生成します。SoC Blockset™ を使用してメモリとソフトウェア トランザクションのレイテンシをモデル化し、アルゴリズムを改良します。

HDL 最適化されたビデオおよび画像処理ブロック

HIL プラントモデリング

FPGA ラピッド コントロール プロトタイピング システムで実行されている複雑な Simscape™ ハードウェアインザループ (HIL) プラントモデルのリアルタイム シミュレーションを実行します。Simscape HDL ワークフロー アドバイザーを使用して、Speedgoat FPGA I/O モジュールを自動的にプログラミングします。

Speedgoat FPGA I/O ボードに展開するために Simscape プラントモデルを変換

設計と検証ワークフロー

アルゴリズム設計をハードウェア実装に結び付けるには、単に HDL コードを生成するだけでは不十分です。プロトタイピングおよび量産ワークフローで使用されるベストプラクティスについて説明します。

ハードウェアの設計

ストリーミングデータに対して効率的に機能するアルゴリズムを開発します。HDL 対応の Simulink ブロック、カスタムの MATLAB Function ブロック、および Stateflow チャートを使用してハードウェア アーキテクチャの詳細を設計します。

浮動小数点から固定小数点へ

固定小数点化は、実装効率のために数値精度がトレードオフします。Fixed-Point Designer™ は、このプロセスの自動化と管理に役立つのに対し、ネイティブ浮動小数点の HDL コード生成では、広いダイナミックレンジを持つ演算の精度が向上します。

固定小数点化を自動化するか、ネイティブ浮動小数点で合成するか、またはそれぞれの組み合わせを使用

プロトタイピングと検証

早期にバグを解消し、ハードウェアがシステムレベルにおける要求に応じて機能するように、シフトレフト検証を適用します。HDL Verifier™ を使用して、MATLAB や Simulink から直接 FPGA プロトタイプをデバッグし、RTL 検証を高速化するためのコンポーネントを生成します。

高レベルの機能を検証し、Simulink に接続された FPGA で生成された HDL をシミュレートして、モデルを生成

新機能

MATLAB Function ブロックの最適化

リソース共有を結合して MATLAB Function ブロックと他の Simulink ブロックの最適化を統合

Xilinx UltraRAM マッピング

サポートされる Xilinx デバイスで HDL RAM ブロックを UltraRAM メモリーリソースにマッピング

MATLAB Function ブロックでのネイティブ浮動小数点

Simulink のカスタム MATLAB ブロックから、ターゲットに依存しない浮動小数点 HDL コードを生成

固定小数点数学アーキテクチャ

ShiftAdd アーキテクチャを使用してより正確で高頻度な除算と逆数のコードを生成

最適化された階層のフラット化

非階層型 HDL コードを生成する際にリソースをストリーミングやシェアリングし、生成されるコード ファイル数を削減

これらの機能および対応する関数の詳細については、リリースノート を参照してください。

MATLAB を使用した FPGA 設計

5 部からなるこのビデオガイドを見て、MATLAB を使用した FPGA 設計について学ぶ。信号処理アルゴリズムを、FPGA または ASIC ハードウェアに実装するときに検討すべき重要なポイントを見つける。

無料評価版を入手する

30 日間の無料評価版はこちら

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink 学生向けソフトウェアの入手

詳細を見る