メインコンテンツ

HDL ワークフロー アドバイザーのタスク

HDL ワークフロー アドバイザーのタスクの概要

HDL ワークフロー アドバイザーは、FPGA 設計プロセスの全段階を対象として、一連のタスクを実行できるようにするためのツールです。タスクには、モデルの検証やチェックを行うものがあります。また、HDL コード ジェネレーターやサードパーティのツールを実行するタスクもあります。HDL ワークフロー アドバイザーの最上位の各フォルダーには、一連の関連するタスクが含まれており、これらのタスクを選択して実行できます。

HDL ワークフロー アドバイザーは Simulink® Online™ では使用できません。

HDL ワークフロー アドバイザーの各フォルダーやタスクの概要を表示するには、当該のフォルダーまたはタスクのアイコンを選択してから HDL ワークフロー アドバイザーの [ヘルプ] ボタンをクリックします。

  • ターゲットを設定: このカテゴリのタスクでは、ターゲット デバイスを選択し、その I/O インターフェイスをモデルの入出力にマッピングできます。

  • HDL コード生成に対するモデルを準備: このカテゴリのタスクでは、モデルが HDL コード生成に適合しているかどうかを確認できます。また、コードを生成できない要因となるモデルの設定、ブロック、その他の条件 (代数ループなど) に関するレポートを生成し、その問題の解決方法を提示します。

  • HDL コード生成: このカテゴリは、[コンフィギュレーション パラメーター] ダイアログ ボックスにある HDL 関連のすべてのオプションをサポートしています。この中には HDL コードおよびテスト ベンチ生成パラメーターの設定や、コード、テスト ベンチ、コシミュレーション モデルの生成などが含まれます。

  • FPGA 合成および分析: このカテゴリでは次のタスクがサポートされています。

    • サードパーティ製の合成ツールとの統合による合成とタイミング解析

    • 合成時に取得したクリティカル パス情報によるモデルのバック アノテーション

  • FPGA インザループの実装: このカテゴリは FIL の各段階を実装しています。具体的にはブロック生成、合成、論理マッピング、PAR (配置および配線)、プログラミング ファイルの生成、通信チャネルなどができます。これらの機能は特定のボード用に設計され、レジスタ転送レベル (RTL) コードにあわせて設定されます。FIL には HDL Verifier™ が必要です。

  • ターゲットにダウンロード: このカテゴリのタスクは、選択したターゲット デバイスによって異なりますが、例として次のようなタスクがあげられる可能性があります。

    • ターゲット固有の FPGA プログラミング ファイルの生成

    • ターゲット デバイスのプログラミング

    • Simulink Real-Time™ インターフェイス サブシステムを含むモデルの生成

  • ASIC Synthesis and Analysis: このフォルダーのタスクは次の目的に使用します。

    • Cadence® Genus 合成ツールのカスタムまたは既定の合成ワークフローを選択する。

    • カスタムの設定ファイル、合成ファイル、および制約ファイルをカスタム ワークフロー内に含める。

    • サードパーティ製の合成ツールとの統合により合成を実行する。

参考

HDL ワークフロー アドバイザーのご利用の前に

[ターゲットを設定] の概要

[ターゲットを設定] フォルダーでは、ターゲット FPGA デバイスを選択し、そのデバイス用に生成するインターフェイスを定義できます。

  • ターゲット デバイスおよび合成ツールを設定: ターゲット FPGA デバイスと合成ツールを選択します。

  • ターゲットのリファレンス設計を設定: [IP Core Generation] ワークフローの場合、ターゲット デバイスのリファレンス設計を選択します。

  • ターゲット インターフェイスを設定: [IP Core Generation] および [Simulink Real Time FPGA I/O] ワークフローの場合、ターゲット プラットフォーム インターフェイス テーブルを使用して、DUT の各端子をターゲット デバイスの I/O リソースに割り当てます。生成された HDL コードで、テスト ポイント信号の DUT 出力端子を生成するには、[テスト ポイントの HDL DUT 端子生成を有効にする] を使用してください。

  • ターゲット周波数を設定: 設計の FPGA 実装のターゲット クロック レートを選択します。

[ターゲットを設定] の各タスクの詳細を表示するには、当該のタスクのアイコンを選択してから、HDL ワークフロー アドバイザーの [ヘルプ] ボタンをクリックします。

参考

HDL ワークフロー アドバイザーのご利用の前に

ターゲット デバイスおよび合成ツールを設定

[ターゲット デバイスおよび合成ツールを設定] タスクでは、HDL ワークフロー アドバイザーでサポートされるデバイスをリストしたコンテキスト メニューから、FPGA ターゲット デバイスおよび関連する合成ツールを選択できます。

説明

このタスクでは次のオプションが表示されます。

  • ターゲット ワークフロー: HDL ワークフロー アドバイザーでサポートされる使用可能なワークフローをリストしたコンテキスト メニュー。以下から選択します。

    • Generic ASIC/FPGA

    • FPGA インザループ

    • Simulink Real-Time FPGA I/O

    • IP Core Generation

  • ターゲット プラットフォーム: HDL ワークフロー アドバイザーでサポートされるデバイスをリストしたコンテキスト メニュー。汎用 ASIC/FPGA ワークフローでは使用できません。

  • 合成ツール: 合成ツールを選択してから、合成ターゲットの [ファミリ][デバイス][パッケージ][速度] を選択します。

    使用している合成ツールが [合成ツール] オプションにない場合は、合成ツールのパスの設定を参照してください。合成ツールのパスの設定後、[リフレッシュ] をクリックして HDL ワークフロー アドバイザーでそのツールが使用できるようにします。

  • プロジェクト フォルダー: プロジェクト フォルダー名を指定します。

  • ツールのバージョン: このボックスは現在の合成ツールのバージョンを表示します。

  • サポートされていないバージョンを許可: サポートされていない合成ツールのバージョンを使用している場合は、このチェック ボックスを選択します。サポートされていない合成ツールのバージョンを引き続き使用してプロジェクトを作成できます。このチェック ボックスをオフにすると、HDL Coder™ は、このタスクを実行するときにエラーを生成します。このオプションは、サポートされている合成ツールのバージョンを使用している場合は使用できません。

    サポートされていないツールのバージョンを使用すると、合成に失敗する可能性があるため、使用することは推奨されません。サポートされているツールのリストの詳細については、HDL の言語サポートおよびサポートされるサードパーティ製ツールとハードウェアを参照してください。

メモ

[合成ツール] として [Microchip Libero SoC] を選択した場合、[汎用 ASIC/FPGA] ワークフローのみ実行できます。これらのツールを使用する場合、[合成結果をもつモデルに注釈を付ける] タスクは使用できません。この場合、合成のワークフローを実行してから、タイミング レポートを表示し、クリティカル パスを確認できます。

ターゲットのリファレンス設計を設定

[ターゲットのリファレンス設計を設定] タスクは、[ターゲット ワークフロー] として [IP Core Generation] が選択され、[ターゲット プラットフォーム] が汎用でない場合に表示されます。このタスクでは、リファレンス設計の入力パラメーターとツールのバージョンが表示されます。[リファレンス設計のパラメーター] セクションには、リファレンス設計のために指定するカスタム パラメーターが表示されます。

説明

タスクには次のオプションが表示されます。

  • リファレンス設計: HDL Coder でサポートされるリファレンス設計と指定されたカスタムのリファレンス設計をリストしたコンテキスト メニュー。カスタム ボードおよびリファレンス設計の作成の詳細については、ボードおよびリファレンス設計の登録システムを参照してください。

  • リファレンス設計ツールのバージョン: 現在のリファレンス設計ツールのバージョンを表示するテキスト ボックス。サポートされるツールのバージョンと互換性のあるリファレンス設計ツールのバージョンを使用することを推奨します。ツール バージョンの不一致がある場合、HDL Coder は、このタスクを実行するときにエラーを生成します。ツール バージョンの不一致は、[プロジェクトを作成] タスクの失敗を引き起こす可能性があります。

    [ツール バージョンの不一致を無視] チェック ボックスを選択すると、HDL Coder はエラーではなく警告を生成します。リファレンス設計プロジェクトの作成の続行を試みることができます。

  • リファレンス設計のパラメーター: リファレンス設計のパラメーターを一覧表示するコンテキスト メニュー。これらのパラメーターは、HDL Coder がサポートする既定のリファレンス設計で利用できるパラメーターまたはカスタム リファレンス設計のために定義するパラメーターです。詳細については、カスタム リファレンス設計のためのカスタム パラメーターおよびコールバック関数の定義を参照してください。

    • FPGA Data Capture (HDL Verifier required): データ取得 IP を生成してリファレンス設計に統合します。FPGA での設計の実行中に、FPGA データ取得を使って設計からの信号を観察します。この機能は、FPGA から信号データのウィンドウを取得し、データをイーサネット接続、JTAG 接続、またはユニバーサル シリアル バス (USB) イーサネット接続で MATLAB® または Simulink に返します。

      接続チャネルのタイプを選択します。ターゲット ボードと HDL Verifier で接続がサポートされている場合、このパラメーターを [JTAG][PL Ethernet][PS Ethernet]、または [USB Ethernet] に設定できます。次に、[ターゲット インターフェイスを設定] タスクで、取得する各信号を [FPGA Data Capture] インターフェイスにマッピングします。

      この機能を使用するには、HDL Verifier ハードウェアのサポート パッケージがインストールされ、ダウンロードされていなければなりません。FPGAボードサポートパッケージをダウンロード (HDL Verifier)を参照してください。

      重要な考慮事項

      • JTAG 接続による FPGA データ取得は、Intel® ボードおよび Xilinx® ボードで利用できます。イーサネット接続または USB イーサネット接続による FPGA データ取得は、Xilinx ボードでのみ利用できます。

      • 既定では、処理システム (PS) イーサネット接続と USB イーサネット接続は次のボードで利用できます。

        • Zynq® UltraScale+™ MPSoC ZCU102 評価キット ([Default system with data capture with external DDR4 memory access] リファレンス設計を使用)

        • Zynq-7000 SoC ZC706 評価キット ([Data Capture IP with External DDR3 Memory Access] リファレンス設計を使用)

        • ZedBoard™ ([Default system] リファレンス設計を使用)

        これらの接続を他のボードで有効にするには、HDL ワークフロー アドバイザー ツールを起動する前に、addFPGADataCaptureInterface メソッドを使用して plugin_rd リファレンス設計定義ファイルに手動で接続タイプを追加します。

      • 既定では、プログラマブル ロジック (PL) イーサネット接続は Artix®-7 35T Arty ボードおよび Kintex®-7 KC705 ボードでのみ利用できます。この接続をイーサネット物理レイヤー (PHY) を備えた他の Xilinx ボードで有効にするには、HDL ワークフロー アドバイザー ツールを起動する前に、addEthernetMACInterface メソッドを使用して plugin_board ファイルに手動でイーサネット メディア アクセス コントローラー (MAC) ハブ IP を追加します。

        plugin_rd ファイルに PL イーサネット接続を追加するとき、plugin_board ファイルにイーサネット MAC ハブ IP を追加していないとエラーになります。

      • HDL ワークフロー アドバイザーでの FPGA データ取得では、SGMII インターフェイスはサポートされていません。

    • ボード IP アドレス: ターゲット ボードのイーサネット端子の IP アドレスを、ドット区切りの 4 つの値で指定します。ターゲット IP アドレスは、3 つのドットで区切られた範囲 [0, 255] の整数で構成される、4 つの数値のセットでなければなりません。既定値は 192.168.0.2 です。

      このパラメーターを有効にするには、[FPGA Data Capture (HDL Verifier required)][PL Ethernet] に設定します。

    • Insert AXI Manager (HDL Verifier required):

      既定では、HDL Coder によって [Insert AXI Manager (HDL Verifier required)] パラメーターがすべてのリファレンス設計に追加されます。このパラメーターを [JTAG] に設定すると、コード ジェネレーターによって JTAG AXI Manager IP がリファレンス設計に挿入されます。このパラメーターを [PL Ethernet] に設定すると、コード ジェネレーターによって UDP AXI Manager IP がリファレンス設計に挿入されます。

      AXI Manager IP を使用すると、ハードウェア ボードで生成された DUT IP コアの AXI レジスタに、JTAG またはイーサネット接続を通じて MATLAB または Simulink から簡単にアクセスできます。AXI Manager のセットアップ (HDL Verifier)も参照してください。

      重要な考慮事項

      既定では、PL イーサネット接続は Artix-7 35T Arty ボード、Kintex-7 KC705 ボード、および Virtex®-7 VC707 ボードでのみ使用できます。この接続をイーサネット物理レイヤー (PHY) を備えた他の Xilinx ボードで有効にするには、HDL ワークフロー アドバイザー ツールを起動する前に、addEthernetMACInterface メソッドを使用して plugin_board ファイルに手動でイーサネット MAC ハブ IP を追加します。

ターゲット インターフェイスを設定

[ターゲット インターフェイスを設定] タスクでは、DUT の入力端子と出力端子のプロパティが表示され、これらの端子をターゲット デバイスの I/O リソースにマッピングできます。

説明

[ターゲット インターフェイスを設定] にはターゲット プラットフォーム インターフェイス テーブルが表示されます。このテーブルの内容は以下のとおりです。

  • DUT の各端子の名前、種類 (入力と出力)、およびデータ型。

  • ターゲット デバイスで使用可能な I/O リソースをリストしたコンテキスト メニュー。

    これらのリソースはデバイスによって異なります。各リソースの詳細については、ご使用の FPGA 開発ボードのドキュメンテーションを参照してください。

ターゲット インターフェイスを設定

[ターゲット インターフェイスを設定] タスクは、[ターゲット ワークフロー] として [Simulink Real-Time FPGA I/O] または [IP Core Generation] が選択されている場合に表示されます。プロセッサと FPGA の同期モードを選択し、DUT の入力端子、出力端子、およびテスト ポイントをターゲット デバイスの I/O リソースにマッピングします。

説明

コプロセッシング モードは、[Simulink Real-Time FPGA I/O] ワークフローではサポートされていません。[プロセッサ/FPGA 同期] で次を選択します。

  • フリー ラン: プロセッサと FPGA を自動的に同期しない場合に選択します。

  • コプロセッシング - ブロック: プロセッサと FPGA が連携して実行されるように、HDL Coder で FPGA の同期ロジックを自動的に生成する場合。このモードは、プロセッサのサンプル時間よりも FPGA の実行時間が短く、プロセッサの続行前に FPGA で同期を完了する必要がある場合に選択します。

この設定は、DUT ブロックに対する ProcessorFPGASynchronization HDL ブロック プロパティとしてモデルに保存されます。

[テスト ポイントの HDL DUT 端子生成を有効にする] を選択すると次のようになります。

ターゲット プラットフォーム インターフェイス テーブルには以下の項目が表示されます。

  • DUT の各端子の名前、種類 (入力、出力、テスト ポイント)、およびデータ型。

  • ターゲット デバイスで使用可能な I/O リソースをリストしたコンテキスト メニュー。

    これらのリソースはデバイスによって異なります。各リソースの詳細については、ご使用の FPGA 開発ボードのドキュメンテーションを参照してください。

参考

ターゲット周波数を設定

次のワークフローのターゲット周波数を指定します。

  • 汎用 ASIC/FPGA: 設計で実現するターゲット周波数を指定します。HDL Coder は、そのクロック周波数のためのタイミング制約ファイルを生成し、[プロジェクトを作成] タスクで作成する FPGA 合成ツール プロジェクトに制約を追加します。ターゲット周波数が実現可能ではない場合、合成ツールによってエラーが生成されます。

  • IP コアの生成: HDL Coder が、その周波数をもつクロック信号を生成するリファレンス設計のクロック モジュール設定を編集するために、ターゲット周波数を指定します。[周波数範囲 (MHz)] 内のターゲット周波数の値を入力します。ターゲット周波数を指定しない場合、HDL Coder は [既定値 (MHz)] のターゲット周波数を使用します。

  • Simulink Real-Time FPGA I/O: [Xilinx ISE] でサポートされている Speedgoat ボードの場合は、その周波数をもつクロック信号を生成するクロック モジュールを生成するために、ターゲット周波数を指定します。

    [Xilinx Vivado] でサポートされている Speedgoat ボードでは、[IP Core Generation] ワークフロー インフラストラクチャを使用します。HDL Coder が、その周波数をもつクロック信号を生成するリファレンス設計のクロック モジュール設定を編集するために、ターゲット周波数を指定します。[周波数範囲 (MHz)] 内のターゲット周波数の値を入力します。ターゲット周波数を指定しない場合、HDL Coder は [既定値 (MHz)] のターゲット周波数を使用します。

参考

Target Frequency

[HDL コード生成に対するモデルを準備] の概要

[HDL コード生成に対するモデルを準備] フォルダーのタスクでは、モデルの HDL コード生成に対する互換性がチェックされます。チェックによってコード生成の警告やエラーにつながる状況が見つかると、HDL ワークフロー アドバイザーの右側のペインにこれらの状況とその修正方法に関する情報が表示されます。[HDL コード生成に対するモデルを準備] フォルダーには次のチェックが含まれています。

  • モデル設定をチェック: このチェックは、モデルのチェックを効率よく行うために重複するチェックを削除したものです。このチェックには、別のウィンドウで [HDL コード アドバイザー] のチェックを開いて実行するオプションがあります。

  • FPGA インザループ互換性の確認: FPGA インザループに対するモデルの互換性をチェックします。具体的には次のようになります。

    • 許可されないもの:シンク/ソース サブシステム、single/double データ型、0 のサンプル時間

    • 必要なもの: HDL Verifier

    このオプションはターゲット ワークフローに [FPGA-in-the-Loop] を選択した場合にのみ使用できます。

  • USRP 互換性のチェック: モデルは符号付き 16 ビット信号の入力端子 2 つと出力端子 2 つをもたなければなりません。

    このオプションはターゲット ワークフローに [Customization for the USRP Device] を選択した場合にのみ使用できます。

[HDL コード生成に対するモデルを準備] の各タスクの概要情報を表示するには、タスクのアイコンを選択して HDL ワークフロー アドバイザーの [ヘルプ] ボタンをクリックします。

参考

HDL ワークフロー アドバイザーのご利用の前に

モデル設定をチェック

[モデル設定をチェック] では、モデル全体のパラメーター設定について、モデルの HDL コード生成との互換性がチェックされます。

説明

このチェックでは、モデル パラメーターの HDL コード生成に対する互換性が検査され、コード生成中に警告やエラーにつながる状況にフラグが付けられます。HDL ワークフロー アドバイザーでは、検出された各状況に関する次の情報が表に表示されます。

  • Block: エラーまたは警告につながる状況を含む [モデル コンフィギュレーション] ダイアログ ボックス ページへのハイパーリンク。

  • Settings: エラーまたは警告につながる状況の原因となったモデル パラメーターの名前。

  • Current: 設定の現在の値。

  • Recommended: 設定の推奨値。

  • Severity: 警告またはエラーにつながる状況の重要性。少なくとも、error のタグが付いた設定を修正します。

このチェックには、別のウィンドウで [HDL コード アドバイザー] のチェックを開くボタンがあります。[このタスクを実行] をクリックした場合、[HDL コード アドバイザー] のチェックは開きません。HDL コード アドバイザーでは、このタスクでカバーされない HDL コード生成の互換性に関する追加のチェックを実行できます。詳細については、HDL Coder Checksを参照してください。

ヒント

レポートされた設定を推奨値に設定するには、[すべて変更] ボタンをクリックします。その後チェックを再実行して、次のチェックに進むことができます。

FPGA インザループ互換性の確認

HDL Verifier によってモデルの FPGA インザループ処理との互換性がチェックされます。

参考

FILインターフェース生成のためのDUTの準備 (HDL Verifier).

[HDL コード生成] の概要

[HDL コード生成] フォルダー内のタスクでは、次の作業を行うことができます。

  • HDL コードとテスト ベンチの生成パラメーターの設定と検証。[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] ペインとモデル エクスプローラーにあるほとんどのパラメーターがサポートされています。

  • 次のいずれかまたはすべてを生成。

    • RTL コード

    • RTL テスト ベンチ

    • コシミュレーション モデル

    • SystemVerilog DPI テスト ベンチ

[HDL コード生成] フォルダー内のタスクを自動的に実行するには、フォルダーを選択して [すべて実行] をクリックします。

ヒント

このフォルダー内の各タスクの実行後に、HDL Coder によって [コンフィギュレーション パラメーター] ダイアログ ボックスとモデル エクスプローラーが更新されます。

HDL オプションの設定

HDL Coder の [コンフィギュレーション パラメーター] ダイアログ ボックスを開くオプションのタスクです。

説明

[HDL オプションの設定] はオプションのタスクです。このタスクには、HDL Coder の [コンフィギュレーション パラメーター] ダイアログ ボックスを別のウィンドウで開くオプションがあります。コンフィギュレーション パラメーターに変更を加えると、HDL Coder ワークフロー アドバイザーの次回のタスクで使用されます。

メモ

このタスクを実行する前に、HDL Coder の [コンフィギュレーション パラメーター] ダイアログ ボックスを閉じてください。

制限

現在のテスト対象設計 (DUT) に対するワークフロー アドバイザーのウィンドウが開いている場合、次のコンフィギュレーション パラメーターの編集は無効になります。

  • DUT モデルまたはサブシステムの名前。

  • ターゲット コード生成フォルダーの名前とパス。

  • 合成ツールの名前。

  • デバイス ファミリの選択。

  • デバイスの選択。

  • デバイス パッケージの選択。

  • デバイス速度の選択。

  • ターゲット周波数。

これらのコンフィギュレーション パラメーターに変更を加える場合は、これまでのワークフロー アドバイザーのすべてのタスクを再度実行してください。DUT モデルまたはサブシステムの名前を変更した場合は、ワークフロー アドバイザーを再起動し、すべてのワークフロー アドバイザー タスクを再実行します。

RTL コードとテスト ベンチを生成

RTL コード、RTL テスト ベンチ、コシミュレーション モデル、および RTL lint チェック レポートの生成を選択して開始します。

説明

[RTL コードとテスト ベンチを生成] タスクでは生成するコードまたはモデルの種類を選択できます。以下のものを任意に組み合わせて選択できます。

  • RTL コードの生成: ターゲット言語で RTL コードを生成します。

  • テスト ベンチを生成: HDL Coder の [コンフィギュレーション パラメーター]、[テスト ベンチ][テスト ベンチ生成出力][HDL テスト ベンチ] が選択されている場合にテスト ベンチを生成します。

  • 検証モデルを生成: 元のモデルと生成されたコシミュレーション モデル間における遅延などの相違を強調表示する検証モデルを生成します。検証モデルでは、ストリーミング、リソース共有および遅延の均衡化の効果を観察できます。

    検証モデルには元のモデルの DUT と生成されたコシミュレーション モデルの DUT が含まれます。検証モデルを使用して、最適化した DUT の出力が元の DUT で生成される結果に対してビットトゥルーであるかどうかを検証できます。

  • RTL lint チェック レポートを生成: 選択した lint ツールを使用して、生成された HDL コードの RTL lint チェック レポートを生成します。このオプションを選択すると、[HDL コード生成] タスクのフォルダーで新しいタスク [RTL lint チェック レポートを生成] が有効になります。

HDL コシミュレーションで確認

この手順は、生成された HDL コードを HDL シミュレーターと Simulink テスト ベンチの間でコシミュレーションを使用して検証する場合に実行します。この手順は、次の場合にのみワークフロー アドバイザーのタスクとして表示されます。

  • [RTL コードとテスト ベンチを生成][テスト ベンチを生成] を選択。

  • [コシミュレーション モデル] を選択し、HDL Coder の [コンフィギュレーション パラメーター]、[テスト ベンチ][テスト ベンチ生成出力][シミュレーション ツール] を指定。

RTL lint チェック レポートを生成

この手順は、生成された HDL コードの RTL lint チェック レポートを生成する場合に実行します。この手順は、[RTL コードとテスト ベンチを生成] ペインで [RTL lint チェック レポートを生成] を選択した場合にのみワークフロー アドバイザーのタスクとして表示されます。

説明

このタスクでは次のオプションが表示されます。

  • lint ツール: リストから lint ツールを選択します。lint ツールのパスを構成した後、[リフレッシュ] をクリックすると、HDL ワークフロー アドバイザーで利用できるツール バージョンが表示されます。

  • ツールのバージョン: 選択した lint ツールの現在のバージョンを表示します。

  • カスタム lint ファイル: カスタム lint スクリプトを使用する場合は、カスタム lint ファイル名を指定します。ツールで提供される既定の lint スクリプトを使用する場合は、このフィールドを空のままにします。

  • このタスクをスキップ: HDL ワークフロー アドバイザーで RTL リンク チェック レポートを生成しない場合は、このオプションを選択します。

詳細については、Generate RTL Lint Check Report Using HDL Workflow Advisor and Synopsys SpyGlass Lint Toolを参照してください。

RTL コードと IP コアの生成

RTL コードとカスタム IP コアの生成を選択して開始します。

説明

[RTL コードと IP コアの生成] タスクで、生成される IP コアの特性を指定します。

  • IP コア名: IP コアの名前を入力します。

    この設定は、DUT ブロックに対する IPCoreName HDL ブロック プロパティとしてモデルに保存されます。

  • IP コア バージョン: IP コアのバージョン番号を入力します。HDL Coder は IP コア名の後にバージョン番号を追加し、出力フォルダーの名前を生成します。

    この設定は、DUT ブロックに対する IPCoreVersion HDL ブロック プロパティとしてモデルに保存されます。

  • IP コアのベンダー名: IP コアのベンダー名を入力します。

    この設定は、DUT ブロックに対する IPCoreVendorName HDL ブロック プロパティとしてモデルに保存されます。

    ベンダー名は数字で始まってはなりません (たとえば、23network は無効です)。また、空白文字を含めてもいけません (たとえば、net work は無効です)。ベンダー名には、.com.net などのドメイン接尾辞を含める必要はありません。

    メモ

    ベンダー名は、[ターゲット ワークフロー][IP コアの生成] に設定し、[合成ツール][Xilinx Vivado] に設定した場合にのみ指定できます。

  • IP コア フォルダー (編集不可): HDL Coder は、表示されている出力フォルダーに、生成された IP コア ファイルと HTML のドキュメンテーションを生成します。

  • IP リポジトリ: IP リポジトリ フォルダーがある場合は、そのパスを手動で入力するか、[参照] ボタンを使用してフォルダーを選択します。この IP リポジトリ フォルダーに、生成された IP コアがコード ジェネレーターによってコピーされます。

  • 追加ソース ファイル: 設計にブラック ボックス インターフェイスを使用して既存の Verilog®SystemVerilog、または VHDL® コードを含める場合、ファイル名を入力します。各ファイル名をセミコロン (;) で区切って手動で入力するか、[追加] ボタンを使用して入力します。

    この設定は、DUT ブロックに対する IPCoreAdditionalFiles HDL ブロック プロパティとしてモデルに保存されます。

  • FPGA Data Capture のストレージ タイプ: 取得データを格納するメモリ タイプを次のオプションのいずれかとして指定します。

    • Internal memory (既定の設定) — このメモリ タイプでは、FPGA の内部 BRAM リソースを使用して取得データを格納します。

    • 外部メモリ — このメモリ タイプでは、外部 DDR (AXI4 インターフェイスを介してデータ取得 IP に接続されたいずれかのメモリ ブロック) を使用して取得データを格納します。

      既定では、[外部メモリ] オプションは次のボードで利用できます。

      • Zynq UltraScale+ MPSoC ZCU102 評価キット ([Default system with data capture with external DDR4 memory access] リファレンス設計を使用)

      • Zynq-7000 SoC ZC706 評価キット ([Data Capture IP with External DDR3 Memory Access] リファレンス設計を使用)

      • Kintex-7 KC705 評価キット ([External DDR3 Memory Access with Ethernet-Based FPGA Data Capture] リファレンス設計を使用)

      このオプションを他のボードで有効にするには、HDL ワークフロー アドバイザー ツールを起動する前に、addFPGADataCaptureInterface メソッドを使用して plugin_rd リファレンス設計定義ファイルを構成します。

    メモ

    外部メモリは、Xilinx デバイスをターゲットにする場合にのみ有効にできます。

    この設定は、DUT ブロックに対する IPDataCaptureBufferType HDL ブロック プロパティとしてモデルに保存されます。

  • FPGA Data Capture のバッファー サイズ: 生成される IP コアのメモリのサイズを指定します。メモリの幅は、データ信号の総ビット幅です。既定では、バッファー サイズは 128 です。

    この設定は、DUT ブロックに対する IPDataCaptureBufferSize HDL ブロック プロパティとしてモデルに保存されます。

  • Custom buffer size: 生成される IP コアのメモリのサイズを 2 のべき乗 (2N) で指定します。ここで、N は 7 ~ 31 の整数です。既定では、バッファー サイズは 128 です。

    依存関係

    このパラメーターを有効にするには、[FPGA Data Capture のバッファー サイズ][カスタム] に設定します。

  • FPGA Data Capture のシーケンスの最大深度: 1 つ以上のトリガー ステージで FPGA からデータを取得するシーケンスの最大深度を指定します。シーケンスの最大深度は 1 ~ 10 の範囲の整数です。既定では、シーケンスの最大深度は 1 です。複数のステージに対して一連のトリガー条件を与えることで指定したデータを取得するには、シーケンスの最大深度を 1 より大きい値に設定します。

    この設定は、DUT ブロックに対する IPDataCaptureSequenceDepth HDL ブロック プロパティとしてモデルに保存されます。

  • FPGA Data Capture に取得条件ロジックを含める: このパラメーターを選択して、IP コアに取得条件ロジックを含めます。取得条件を使用して FPGA から取得するデータを制御する取得条件ロジックを含めます。IP コアは、各クロック サイクルで取得条件を評価し、取得条件を満たすデータのみを取得します。取得条件の詳細については、捕獲条件 (HDL Verifier)を参照してください。

    取得条件を FPGA Data Capture (HDL Verifier) ツールまたは hdlverifier.FPGADataReader (HDL Verifier) System object™ で設定します。

    この設定は、DUT ブロックに対する IncludeDataCaptureControlLogicEnable HDL ブロック プロパティとしてモデルに保存されます。

  • [Insert AXI Manager] を選択すると、AXI4 下位 ID の幅の値が HDL Coder で生成される DUT IP コアに応じて調整されます。[Insert AXI Manager] を選択してカスタム IP を追加する場合は、調整された新しい下位 ID の幅の値を指定しなければなりません。たとえば、[Insert AXI Manager] を選択してカスタム IP を追加する際に、[プロジェクトを作成] タスクで次のエラー メッセージが表示されたとします。Log file that has error message for incorrect width of subordinate ID signals.

    ターゲット プラットフォームを Generic Intel または Generic Xilinx のいずれかとして設定して IP コアを再生成します。その後、いずれかの DUT 端子を AXI4 インターフェイスにマッピングし、New width = Base Width + log2(Number of AXI Masters +1) を使用して新しい幅を計算し、計算した幅の値を [AXI4 下位 ID の幅] に入力します。新しい幅の値で再生成された IP コアをリファレンス設計フォルダーに追加します。[プロジェクトを作成] を右クリックして [選択したタスクまで実行] を選択します。この例では、カスタム IP は I2C と I2s の 2 つです。計算された新しい幅は 13 です。

  • IP コア レポートの生成:IP コアの HTML ドキュメンテーションを生成するには、このオプションをオンのままにします。

  • 書き込みレジスタの再読み取りを有効にする: レジスタ インターフェイスを使用して AXI4 または AXI4-Lite レジスタに書き込まれた値を読み戻すには、このオプションをオンにします。詳細については、レジスタ インターフェイスでのタイミングの最適化を参照してください。

    この設定は、DUT ブロックに対する WriteRegisterReadback HDL ブロック プロパティとしてモデルに保存されます。

  • AXI4-Lite レジスタのクロック ドメイン クロッシングを有効にする: 高周波テスト対象設計 (DUT) アルゴリズムよりも遅いクロック周波数でレジスタ インターフェイスを実行する場合は、このオプションを選択します。このオプションを使用するには、[合成ツール][Xilinx Vivado] に設定します。このオプションは AXI4-Lite インターフェイスでのみ使用できます。

  • 既定のレジスタ インターフェイスの生成: クロック、リセット、ready、タイムスタンプなどの信号のレジスタ インターフェイスをもつ HDL IP コアを生成するには、このオプションをオンのままにします。レジスタ インターフェイスをもたない汎用 HDL IP コアを生成するには、このチェック ボックスをオフにします。DUT 端子を AXI4 インターフェイスまたは AXI4-Lite インターフェイスにマッピングしないようにします。端子は外部 IO インターフェイスまたは内部 IO インターフェイスか、TLAST マッピングをもつ AXI4-Stream インターフェイスにのみマッピングできます。

    この設定は、DUT ブロックに対する GenerateDefaultRegisterInterface HDL ブロック プロパティとしてモデルに保存されます。

  • DUT のクロック イネーブル入力端子を表示: DUT のクロック イネーブル入力端子を表示するには、このオプションをオンにします。クロック イネーブル入力端子を使用して、上流の IP から DUT をトリガーします。設計にレジスタ インターフェイスにマッピングされている端子がある場合、このオプションは無効になります。

  • DUT のクロック イネーブル出力端子を表示: 下流の IP へのクロック イネーブル出力端子を表示するには、このオプションをオンにします。クロック イネーブル出力端子を使用して、下流のカスタム IP を駆動または同期します。

  • レジスタ インターフェイスの読み取りパイプライン: [IP Core Generation] ワークフローの [RTL コードと IP コアの生成] タスクで [レジスタ インターフェイスの読み取りパイプライン] 設定を使用して、読み取りアドレス デコーダーのパスに挿入するパイプライン ステージの数を指定します。詳細については、レジスタ インターフェイスでのタイミングの最適化を参照してください。

    値: 0 (既定) | 正の整数

    このパラメーターは、タイミングの問題の発生時、クリティカル パスが読み取りアドレス デコーダーにある場合に使用します。R2024b よりも前に作成されたモデルの IP コアを生成する場合は、[AXI4 スレーブの端子とパイプライン レジスタの比率] の値が設定されていれば、HDL Coder により [レジスタ インターフェイスの読み取りパイプライン]0 に設定されます。

  • 次を使用して、大きな遅延を外部メモリにオフロード: 大きな遅延を外部メモリにオフロードするために、共有 AXI4 Master インターフェイスを使用するか、複数の独立した AXI4 Master インターフェイスを使用するかを指定します。[次を使用して、大きな遅延を外部メモリにオフロード] を以下に設定できます。

    • Shared Interface — 単一の AXI4 Master インターフェイスが IP コア境界で公開されます。HDL Coder は、外部メモリへのアクセスを管理するための内部アービターを生成します。リファレンス設計で AXI4 Master 接続が 1 つしか必要ないため、このオプションを使用すると統合が簡素化されます。

    • Independent interfaces — 遅延ごとに独立した AXI4 Master インターフェイスが生成されます。アービトレーションがリファレンス設計の外部で処理されるため、アービトレーション ロジックをより高いクロック周波数で実行できます。このオプションはリアルタイム アプリケーションに適していますが、IP コアの外部でアービトレーションを処理する必要があります。

参考

[FPGA 合成および分析] の概要

サポートされている FPGA 合成ツール用のプロジェクトを作成し、FPGA 合成、マッピングおよび配置/配線タスクを実行し、元のモデルでクリティカル パスに注釈を付けます。

説明

[FPGA 合成および分析] フォルダー内のタスクでは、次の作業を行うことができます。

  • サポートされている FPGA 合成ツールの FPGA 合成プロジェクトの作成。

  • プロジェクト ファイルを使用してサポートされている FPGA 合成ツールを起動し、合成、マッピングおよび配置/配線タスクを実行。

  • 元のモデルに合成ツールで取得したクリティカル パスに関する注釈を付ける。

サポートされているサードパーティ製の合成ツールのリストは、サードパーティ製の合成ツールとバージョンのサポートを参照してください。

このフォルダーには以下のタスクがあります。

  • プロジェクトを作成

  • 合成および P/R を実行

  • 合成結果をもつモデルに注釈を付ける

参考

Simulink モデルからの HDL コード生成と FPGA 合成

プロジェクトを作成

サポートされている FPGA 合成ツール用の FPGA 合成プロジェクトを作成します。

説明

このタスクでは、選択した合成ツール用の合成プロジェクトを作成し、モデルに対して生成された HDL コードをプロジェクトに読み込みます。

プロジェクトの作成が完了すると、HDL ワークフロー アドバイザーによって右側のペインにプロジェクトへのリンクが表示されます。このリンクをクリックして、合成ツールのプロジェクト ウィンドウにプロジェクトを表示することができます。

合成オブジェクティブ

合成オブジェクティブを選択して、プロジェクト用のツール固有の最適化 Tcl コマンドを生成します。[なし] を指定すると、Tcl コマンドは生成されません。

合成オブジェクティブの Tcl コマンドへのマッピングを参照してください。

追加ソース ファイル

合成プロジェクトに含める追加の HDL ソース ファイルを入力します。ファイル名は、それぞれをセミコロン (;) で区切って手動で入力するか、[ソースの追加] ボタンを使用して入力します。

たとえば、HDL ソース ファイル (.vhd または .v) または制約ファイル (.ucf または .sdc) を含めることができます。

追加プロジェクト作成 Tcl ファイル

合成プロジェクトに含める追加のプロジェクト作成 Tcl ファイルを入力します。ファイル名は、それぞれをセミコロン (;) で区切って手動で入力するか、[Tcl の追加] ボタンを使用して入力します。

たとえば、プロジェクトの作成後に実行する Tcl スクリプト (.tcl) を含めることができます。

参考

[合成および P/R を実行] の概要

サポートされている FPGA 合成ツールを起動して、合成、マッピングおよび配置/配線タスクを実行します。

説明

[合成および P/R を実行] フォルダー内のタスクでは、サポートされている FPGA 合成ツールを起動して、以下を実行できます。

  • 生成された HDL コードの合成

  • マッピングとタイミング解析

  • 配置配線

サポートされているサードパーティ製の合成ツールのリストは、サードパーティ製の合成ツールとバージョンのサポートを参照してください。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

論理合成を実行

サポートされている FPGA 合成ツールを起動し、生成された HDL コードを合成します。

説明

[論理合成を実行] タスクでは、次の処理が実行されます。

  • 合成ツールがバックグラウンドで起動されます。

  • 以前に生成した合成プロジェクトが開き、HDL コードがコンパイルされ、設計が合成され、ネットリストと関連ファイルが出力されます。

  • [結果] サブペインに合成のログが表示されます。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

マッピングを実行

サポートされている FPGA 合成ツールを起動し、合成された論理設計をターゲット FPGA にマッピングします。

説明

[マッピングを実行] タスクでは、次の処理が実行されます。

  • 合成ツールがバックグラウンドで起動されます。

  • マッピング処理が実行され、合成された論理設計がターゲット FPGA にマッピングされます。

  • 配置配線の段階で使用する回路記述ファイルが出力されます。

  • クリティカル パスの解析とソース モデルのバック アノテーションに使用する配線前のタイミングの情報が出力されます。

  • [結果] サブペインにログが表示されます。

ご使用のツールで早期のタイミング推定がサポートされていない場合は、[配線前のタイミング解析をスキップします] を有効にします。このオプションを有効にすると、[合成結果でモデルを注釈] タスクでは [クリティカル パスのソース][post-route] に設定されます。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

配置および配線を実行

合成ツールをバックグラウンドで起動し、配置配線処理を実行します。

説明

[配置および配線を実行] タスクでは、次の処理が実行されます。

  • 合成ツールがバックグラウンドで起動されます。

  • 前のマッピング処理で生成された回路記述を入力とする配置配線処理が実行され、FPGA プログラミングに適した回路記述が出力されます。

  • クリティカル パスの解析とソース モデルのバック アノテーションに使用する配線後のタイミングの情報が出力されます。

  • [結果] サブペインにログが表示されます。

[このタスクをスキップ] を選択すると、HDL ワークフロー アドバイザーでワークフローを実行するときに、[配置および配線を実行] タスクが省略されて [Passed] とマークされます。配置配線を手動で行う場合は、[このタスクをスキップ] を選択します。

[配置および配線を実行] が失敗した場合にマッピング後のタイミングの結果を使用してモデルのクリティカル パスを見つけるには、[配置および配線エラーを無視] を選択して [合成結果をもつモデルに注釈を付ける] タスクに進みます。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

合成の実行

Xilinx Vivado® を起動して、Vivado の [合成] ステップを実行します。

早期のタイミング推定を行わない場合は、[配線前のタイミング解析をスキップします] を有効にします。

実装を実行

Xilinx Vivado を起動して、Vivado の [実装] ステップを実行します。

[このタスクをスキップ] を選択すると、[実装を実行] タスクが省略され、[Passed] とマークされます。配置配線を手動で行う場合は、[このタスクをスキップ] を選択します。

実装の実行に失敗した場合は、[配置および配線エラーを無視] を選択して、[合成結果をもつモデルに注釈を付ける] タスクに進むことができます。

タイミング レポートのチェック

このタスクの実行中にタイミングの問題が発生しても、タスクは失敗しません。タイミング レポートで、タイミングの問題をチェックしなければなりません。

合成結果をもつモデルに注釈を付ける

配線前後のタイミング情報を解析し、モデルのクリティカル パスを視覚的に強調表示します。

説明

[合成結果をもつモデルに注釈を付ける] タスクではモデルのクリティカル パスを識別することができます。このタスクでは、オプションの選択に応じて、[合成および P/R を実行] タスク グループで生成された配線前後のタイミング情報が解析され、モデル内の 1 つ以上のクリティカル パスが強調表示されます。

メモ

[合成ツール] として [Cadence Genus] または [Microchip Libero SoC] を選択した場合、[合成結果をもつモデルに注釈を付ける] タスクは実行できません。合成するワークフローを実行してから、タイミング レポートを表示してクリティカル パスを確認します。

[RTL コードとテスト ベンチを生成] タスクで [FPGA 最上位ラッパーを生成] を選択した場合、[合成結果をもつモデルに注釈を付ける] は使用できません。バック アノテーション解析を実行するには、[FPGA 最上位ラッパーを生成] チェック ボックスをオフにしてください。

入力パラメーター

クリティカル パスのソース

[pre-route] または [post-route] を選択します。

前のタスク グループで [配線前のタイミング解析をスキップします] を有効にしている場合、[配線前] オプションは使用できません。

クリティカル パス番号

最大 3 つのクリティカル パスに注釈を付けることができます。注釈を付けるパスの数を選択します。

注釈を付けるモデルの選択

注釈は元のモデルと生成されたモデルで実行できます。注釈を付けるモデルとして [original] または [generated] を選択します。生成されたモデルの詳細については、生成されたモデルと検証モデルを参照してください。

すべてのパスを表示

重複するパスを含むクリティカル パスを表示します。

一意のパスを表示

重複するパスがある場合は、そのパスの最初のインスタンスのみを表示します。

遅延データを表示

各パスの累積的なタイミング遅延に注釈を付けます。

終点のみを表示

各パスの終点は表示しますが、接続する信号線は表示しません。

結果と推奨アクション

[合成結果をもつモデルに注釈を付ける] タスクの実行が完了すると、HDL Coder はクリティカル パス情報が強調表示された DUT を表示します。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

[ターゲットにダウンロード] の概要

[ターゲットにダウンロード] フォルダーでは次のタスクがサポートされています。

  • プログラミング ファイルを生成: FPGA プログラミング ファイルを生成します。

  • ターゲット デバイスをプログラム: 生成されたプログラミング ファイルをターゲットの開発ボードにダウンロードします。

  • Simulink Real-Time インターフェイスの生成 (Speedgoat ターゲット デバイス専用): Simulink Real-Time インターフェイス サブシステムを含むモデルを生成します。

[ターゲットにダウンロード] の各タスクの概要情報を表示するには、タスクのアイコンを選択して HDL ワークフロー アドバイザーの [ヘルプ] ボタンをクリックします。

参考

HDL ワークフロー アドバイザーのご利用の前に

プログラミング ファイルを生成

[プログラミング ファイルを生成] タスクでは選択したターゲット デバイスと互換性をもつ FPGA プログラミング ファイルが生成されます。

ターゲット デバイスをプログラム

[ターゲット デバイスをプログラム] タスクでは、生成された FPGA プログラミング ファイルが選択したターゲット デバイスにダウンロードされます。

[ターゲット デバイスをプログラム] タスクを実行する前に、ホスト PC が必要なプログラミング ケーブルを使用してターゲットの開発ボードに適切に接続されていることを確認します。

Simulink Real-Time インターフェイスの生成

[Simulink Real-Time インターフェイスの生成] タスクでは、Simulink Real-Time モデルに接続可能なインターフェイス サブシステムを含むモデルが生成されます。

生成されるモデルの命名規則は次のとおりです。

gm_fpgamodelname_slrt

fpgamodelname は元のモデルの名前です。

FPGA インザループ (FIL) の実装

FIL オプションを設定し、FIL 処理を実行します。

FPGA インザループのオプションの設定

接続タイプ、同期モード、ホスト インターフェイス スクリプトを生成するオプション、ボード IP アドレス、およびボード MAC アドレスを設定します。また、必要に応じて追加のファイルを選択します。

FPGA インザループの接続

FIL シミュレーションの接続方法を選択します。ドロップダウン メニューのオプションは、選択したターゲット ボードでサポートされる接続方法に応じて更新されます。ターゲット ボードと HDL Verifier で接続がサポートされている場合、[イーサネット][JTAG][PCI Express]、または [USB Ethernet] を選択できます。

MATLAB/FPGA 同期モード

データを MATLAB と DUT の間でストリーミングするためのモードを選択します。ターゲット ボードと FIL の接続でサポートされている場合、次のモードのいずれかを選択できます。

  • ロックステップ — このモードでは、FPGA の DUT が MATLAB とロックステップで動作します。これが既定のオプションであり、FIL シミュレーションでは暗黙的にこのモードになります。

  • フリーラン FPGA — このモードでは、FPGA の DUT が MATLAB と非同期に実行されます。ハードウェア クロックは FPGA 自体の内部で連続的に動作します。

    メモ

    フリーラン FIL の場合、HDL ワークフロー アドバイザーでは次のようになります。

    • このモードは FIL を MATLAB System object で使用する場合にのみ機能するため、Simulink 検証モデルは生成されません。FIL を Simulink ブロックで使用する場合は機能しません。

    • ホスト インターフェイス スクリプトが常に生成されます。

これらのモードの詳細については、What Is Free-Running FPGA-in-the-Loop? (HDL Verifier)を参照してください。

ホスト インターフェイス スクリプトの生成

このオプションを選択すると、ホスト インターフェイス スクリプト gs_DUTName_interface_fil.m が生成されます。ここで、DUTName は DUT の名前です。このスクリプトは、MATLAB から FPGA へのインターフェイスとなる filObj オブジェクトを作成します。インターフェイス スクリプトには、ハードウェアに接続して FPGA をプログラムする MATLAB コマンド、およびハードウェアでのアルゴリズムの実行時にアルゴリズムとデータを交換する方法を示した例が含まれます。

FPGA でのデータ バッファリングを有効化

このオプションを選択すると、シミュレーションのパフォーマンスが向上します。選択した場合、FIL で FPGA の BRAM が利用され、イーサネット パケットがフレームベースの処理モードでバッファリングされます。このパラメーターは、BRAM リソースが十分でない設計の場合はオフにしてください。イーサネット接続でのみ利用できます。

ボード IP アドレス

ボードの IP アドレスが既定のアドレス (192.168.0.2) でない場合に IP アドレスを設定します。

ボード MAC アドレス

ほとんどの場合、ボードの MAC アドレスを変更する必要はありません。ボードの MAC アドレスを変更する必要があるのは、1 つを超える FPGA 開発ボードを 1 台のコンピューターに接続する場合です (各ボードに対して個別の NIC が必要です)。各アドレスが一意になるように、追加のボードの [ボード MAC アドレス] を変更してください。

追加ソース ファイル

必要に応じて、FPGA ボードで検証する HDL 設計の追加のソース ファイルを選択します。HDL ワークフロー アドバイザーによってファイル タイプの識別が試行されます。ファイル タイプが正しくない場合は [ファイル タイプ] 列で変更します。

Set DUT I/O Ports

この手順は、フリーラン FPGA モードを選択した場合にのみ有効になります。

HDL ワークフロー アドバイザーにより、DUT の入力端子と出力端子が上位のファイルから解析されます。それぞれの端子タイプは HDL 端子名から推定されます。端子タイプを検証し、必要に応じて変更します。

FPGA インザループのビルド

ビルド プロセスで以下が行われます。

  • FPGA インザループによって最上位モジュールの名前が付いた FIL ブロックが生成され、新しいモデルに配置されます。

  • 新しいモデルの生成後、FIL でコマンド プロンプトが開きます。このコマンド プロンプトで、FPGA 設計ソフトウェアによって、合成、フィッティング、配置と配線、タイミング解析および FPGA プログラミング ファイルの生成が実行されます。処理が完了すると、コマンド プロンプトにウィンドウを閉じるように促すメッセージが表示されます。

  • FPGA インザループによって、生成された FIL ブロックを使用してテスト ベンチ モデルがビルドされます。

  • [FPGA インザループのオプションの設定] タスクで [ホスト インターフェイス スクリプトの生成] オプションを選択した場合、FPGA インザループによって、MATLAB から FPGA へのインターフェイスとなるホスト インターフェイス スクリプトが生成されます。

組み込みシステムの統合

このフォルダーのタスクでは、生成された HDL IP コアが組み込みプロセッサに統合されます。

プロジェクトを作成

組み込みシステム ツールのプロジェクトを作成します。

プロジェクトの生成後に、メッセージ ウィンドウでプロジェクトのリンクをクリックして、生成された組み込みシステム ツール プロジェクトを開くことができます。

組み込みシステム ツール

組み込み設計ツール。

プロジェクト フォルダー

生成されたプロジェクト ファイルを保存したフォルダー。

合成オブジェクティブ

合成オブジェクティブを選択して、プロジェクト用のツール固有の最適化 Tcl コマンドを生成します。[なし] を指定すると、Tcl コマンドは生成されません。

合成オブジェクティブを Tcl コマンドにマッピングする方法の詳細は、合成オブジェクティブの Tcl コマンドへのマッピングを参照してください。

IP キャッシュの有効化

リファレンス設計の合成時間を短縮するために IP キャッシュを作成します。IP キャッシュを有効にすると、コード ジェネレーターで IP キャッシュが作成されます。IP Core Generation ワークフローで Out-Of-Context (OOC) ワークフローが使用されます。このワークフローは最上位の設計のコンテキストからリファレンス設計で IP を合成します。このキャッシュを後続のプロジェクト実行で再利用して、リファレンス設計の合成時間を短縮できます。詳細については、リファレンス設計の合成を高速化するための IP キャッシュを参照してください。

ソフトウェア インターフェイスの生成

組み込み C コードを生成するには、IP コア ドライバー ブロックをもつ Simulink ソフトウェア インターフェイス モデルを生成します。IP コアの機能を検証してオンボードのメモリ位置に接続するには、AXI Manager でホスト インターフェイス モデル、ホスト インターフェイス スクリプト、またはその両方を生成します。

このタスクは、[Simulink ソフトウェア インターフェイス モデルを生成][ホスト インターフェイス モデルの生成]、および [ホスト インターフェイス スクリプトの生成] のチェック ボックスをオフにすると、HDL ワークフロー アドバイザーでスキップされます。

説明

[ソフトウェア インターフェイスを生成] タスクでは、IP コア用に生成するソフトウェア インターフェイスを指定します。

  • Simulink ソフトウェア インターフェイス モデルを生成 — このパラメーターは、SoC デバイス用の Simulink ソフトウェア インターフェイス モデルを生成する場合に選択します。ソフトウェア インターフェイス モデルは、元のモデルのハードウェアで実行する部分を AXI ドライバー ブロックに置き換えたものです。このパラメーターはスタンドアロン FPGA ボードでは使用できません。

    Simulink ソフトウェア インターフェイス モデルの生成後、Embedded Coder® を使用してモデルから C コードを生成できます。このパラメーターは、ターゲット ボードに対応する Embedded Coder ハードウェア サポート パッケージがインストールされていないと使用できません。たとえば、ターゲット ハードウェア ボードが Zynq デバイスである場合は、Embedded Coder Support Package for AMD SoC Devices がインストールされている必要があります。

  • オペレーティング システム — ターゲット オペレーティング システムを選択します。

  • ホスト ターゲット インターフェイス — ホスト マシンとターゲット ハードウェアの間の通信に使用するインターフェイスを選択します。次のいずれかのオプションを使用します。

    • JTAG AXI Manager (HDL Verifier) — JTAG インターフェイスを使用して、ターゲット ハードウェアの AXI4 レジスタおよび AXI4-Lite レジスタにアクセスします。このオプションを有効にするには、[ターゲットのリファレンス設計を設定] タスクで [Insert AXI Manager (HDL Verifier required)][JTAG] に設定し、[ターゲット インターフェイスを設定] タスクで取得対象の各 DUT 信号を [AXI4] または [AXI4-Lite] インターフェイスにマッピングします。

    • Ethernet AXI Manager (HDL Verifier) — イーサネット インターフェイスを使用して、ターゲット ハードウェアの AXI4 レジスタおよび AXI4-Lite レジスタにアクセスします。このオプションを有効にするには、[ターゲットのリファレンス設計を設定] タスクで [Insert AXI Manager (HDL Verifier required)][PL Ethernet] に設定し、[ターゲット インターフェイスを設定] タスクで取得対象の各 DUT 信号を [AXI4] または [AXI4-Lite] インターフェイスにマッピングします。

    • Ethernet — イーサネット インターフェイスを使用して、ターゲット ハードウェアに展開されている生成された IP コアにアクセスします。このオプションはスタンドアロン FPGA ボードでは使用できません。

  • ホスト インターフェイス モデルの生成 — このパラメーターは、ホスト インターフェイス モデルを生成する場合に選択します。ホスト インターフェイス モデルでは、AXI Manager Write ブロックおよび AXI Manager Read ブロックを使用して、ターゲット ハードウェアのメモリマップ位置に対する JTAG またはイーサネット ケーブルを介した書き込みと読み取りが可能です。

    このパラメーターを有効にするには、[ホスト ターゲット インターフェイス][JTAG AXI Manager (HDL Verifier)] または [Ethernet AXI Manager (HDL Verifier)] に設定します。

  • ホスト インターフェイス スクリプトの生成 — このパラメーターは、ホスト インターフェイス スクリプトを生成する場合に選択します。ホスト インターフェイス スクリプトには、ターゲット ハードウェアに接続するためのコマンドと、AXI ドライバー ブロックまたは AXI Manager を使用して生成された IP コアの読み取りと書き込みを可能にするコマンドが含まれます。

FPGA ビットストリームのビルド

組み込みシステム用のビットストリームを生成します。

ビルド プロセスを外部で実行

ビルド プロセスと同時に MATLAB を実行する場合は、このオプションを有効にします。このオプションが無効の場合は、ビルドが完了するまで MATLAB を使用できません。このオプションは、[IP Core Generation] ワークフローを使用する場合にのみ有効です。

合成ビルド用 Tcl ファイル

合成ビルドをカスタマイズするには、カスタム Tcl コマンドをファイルに保存して [カスタム] を選択します。ファイル パスを手動で入力するか、[参照] ボタンを使用してパスを見つけます。カスタム Tcl ファイルの内容は、プロジェクトを開いて閉じる Tcl コマンドの間に挿入されます。

[カスタム] を選択してビットストリームを生成する場合、ビットストリーム生成 Tcl コマンドは上位のファイル ラッパー名と場所を直接または暗黙的に参照しなければなりません。たとえば、次の Xilinx Vivado Tcl コマンドは、ビットストリームを生成し、上位のファイル名と場所を暗黙的に参照します。

launch_runs impl_1 -to_step write_bitstream

ビルド用の配線済みデザイン チェックポイントを有効にする

このオプションは、ビットストリームの生成時間を短縮するために前回のビルドからデザイン チェックポイントを使用する場合に選択します。このオプションは、Xilinx Vivado 合成ツールを使用している場合のみ使用できます。

ビルド用の配線済みデザイン チェックポイント ファイル

このオプションを使用するには、[ビルド用の配線済みデザイン チェックポイントを有効にする] を選択します。既定の配線済みデザイン チェックポイント ファイルを使用するには、[既定] を選択します。既定のファイルの場所は hdl_prj\checkpoint\system_routed.dcp です。カスタムの配線済みデザイン チェックポイント ファイルを使用するには、[カスタム] を選択し、カスタム ファイルの場所のファイル パスを指定します。このオプションは、Xilinx Vivado 合成ツールを使用している場合のみ使用できます。

配線済みデザイン チェックポイント ファイル

このオプションを使用するには、[ビルド用の配線済みデザイン チェックポイント ファイル][カスタム] を選択します。このオプションを使用して、カスタムの配線済みデザイン チェックポイント ファイルを指定します。ビットストリーム生成の完了後、[配線済みデザイン チェックポイント ファイル] で指定された場所に新しい配線済みチェックポイント デザイン ファイルが書き込まれます。このオプションは、Xilinx Vivado 合成ツールを使用している場合のみ使用できます。

ビルドにおけるコアの最大数

PC の複数の論理コアを使用してビットストリームの生成時間を短縮します。このオプションを使用して、使用する PC のコアの最大数を選択します。[synthesis tool default] を選択すると、合成ツールで設定されている最大コア数が選択されます。最大コア数を手動で選択するには、[2][32] のいずれかを選択します。

ターゲット デバイスをプログラム

接続されているターゲット SoC デバイスをプログラムします。ターゲット デバイスの [プログラミング メソッド] を指定します。

  • JTAG: JTAG ケーブルを使用して、ターゲット SoC デバイスをプログラムします。

  • ダウンロード: これが既定の [プログラミング メソッド] です。生成された FPGA ビットストリーム、デバイス ツリーおよびシステム初期化スクリプトを Zynq ボード上の SD カードにコピーして、SD カード上のビットストリームを持続的に保持します。このプログラミング メソッドの使用には、Embedded Coder は必要ありません。[IP アドレス][SSH ユーザー名]、および [SSH パスワード] を指定して、SSH オブジェクトを作成できます。HDL Coder は、SSH オブジェクトを使用して、ビットストリームを SD カードにコピーし、ボードのプログラムを変更します。

独自の関数を定義してカスタム リファレンス設計でターゲット デバイスをプログラムするには、[カスタム][プログラミング メソッド] を使用できます。カスタム プログラミングを使用するには、hdlcoder.ReferenceDesign クラスの CallbackCustomProgrammingMethod メソッドを使用してカスタム プログラミング関数の関数ハンドルを登録します。以下に例を示します。

hRD.CallbackCustomProgrammingMethod = ...
    @parameter_callback.callback_CustomProgrammingMethod;

詳細については、ターゲット FPGA ボードまたは SoC デバイスのプログラムを参照してください。

ASIC Synthesis and Analysis の概要

[ASIC Synthesis and Analysis] フォルダーでは、サポートされている ASIC 合成ツール用のプロジェクトを作成し、カスタムまたは既定のいずれかの合成ワークフローを選択して、元のモデルに対して ASIC 合成タスクを実行できます。

説明

[ASIC Synthesis and Analysis] フォルダー内のタスクでは、次の作業を行うことができます。

  • サポートされている ASIC 合成ツールを使用して ASIC 合成プロジェクトを作成する。

  • プロジェクト ファイルを使用して、サポートされている ASIC 合成ツールで合成タスクを実行する。

サポートされているサードパーティ製の合成ツールのリストは、サードパーティ製の合成ツールとバージョンのサポートを参照してください。

このフォルダー内のタスクは以下のとおりです。

  • プロジェクトを作成

  • 合成および P/R を実行

参考

Simulink モデルからの HDL コード生成と FPGA 合成

プロジェクトを作成

サポートされている ASIC 合成ツール用の ASIC 合成プロジェクトを作成します。

説明

このタスクでは、選択した合成ツール用の ASIC 合成プロジェクトを作成し、モデルに対して生成された HDL コードをプロジェクトに読み込みます。

追加ソース ファイル

合成プロジェクトに含める追加の HDL ソース ファイル (.vhd または .v) を入力します。各ファイル名をセミコロン (;) で区切って手動で入力するか、[ソースの追加] ボタンを使用します。

合成ワークフロー

カスタムまたは既定の合成ワークフローを選択します。

  • [カスタム] ワークフローを選択する場合は、設定 Tcl、制約 Sdc、および合成 Tcl の各ファイルを追加する必要があります。

  • [既定] を選択する場合は、ツールによってそれらのファイルが自動的に含められます。

設定 Tcl ファイル

合成プロジェクトに含めるプロジェクト作成設定 Tcl ファイルを入力します。各ファイル名をセミコロン (;) で区切って手動で入力するか、[設定 Tcl の追加] ボタンを使用します。

制約 Sdc ファイル

合成プロジェクトに含めるプロジェクト作成制約 Sdc ファイルを入力します。各ファイル名をセミコロン (;) で区切って手動で入力するか、[制約 Sdc の追加] ボタンを使用します。

合成 Tcl ファイル

合成プロジェクトに含めるプロジェクト作成合成 Tcl ファイルを入力します。各ファイル名をセミコロン (;) で区切って手動で入力するか、[合成 Tcl の追加] ボタンを使用します。

参考

[合成および P/R を実行] の概要

サポートされている ASIC 合成ツールを起動して合成を実行します。

説明

[合成および P/R を実行] のタスクでは、サポートされている ASIC 合成ツールを起動し、生成された HDL コードを合成できます。

サポートされているサードパーティ製の合成ツールのリストは、サードパーティ製の合成ツールとバージョンのサポートを参照してください。

参考

Simulink モデルからの HDL コード生成と FPGA 合成

合成の実行

サポートされている ASIC 合成ツールを起動し、生成された HDL コードを合成します。

説明

[合成を実行] タスクでは、次の処理が実行されます。

  • 以前に生成した合成プロジェクトが開き、HDL コードがコンパイルされ、設計が合成され、ネットリストと関連ファイルが出力されます。

  • [ビルド プロセスを外部で実行] オプションを選択した場合を除き、合成ツールがバックグラウンドで起動されます。

  • [結果] サブペインで合成ログが表示され、[解析された出力レポート ファイル][解析済みのリソース レポート ファイル] へのリンクが示されます。

ビルド プロセスを外部で実行

このオプションを選択すると、ビルド プロセスが外部コンソールで実行されます。このオプションを選択しなかった場合は、ビルドが完了するまで MATLAB を使用できません。