Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考

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

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

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

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

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

  • ターゲット インターフェイスを設定: [IP コアの生成][FPGA ターンキー][Simulink Real—Time FPGA I/O] ワークフローの場合、ターゲット プラットフォーム インターフェイス テーブルを使用して、DUT の各端子をターゲット デバイスの I/O リソースに割り当てます。

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

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

参考

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

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

[ターゲット デバイスおよび合成ツールを設定] タスクでは、HDL ワークフロー アドバイザーが現在サポートするデバイスのリストがあるプルダウン メニューから、FPGA ターゲット デバイスおよび関連する合成ツールを選択できます。

説明

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

  • ターゲット ワークフロー: HDL ワークフロー アドバイザーがサポートしていて使用可能なワークフローのリストが表示されるプルダウン メニュー。以下から選択します。

    • 汎用 ASIC/FPGA

    • FPGA インザループ

    • FPGA ターンキー

    • Simulink Real-Time FPGA I/O

    • IP コアの生成

    • USRP(R) デバイスのカスタマイズ

    • ソフトウェア無線

  • ターゲット プラットフォーム: HDL ワークフロー アドバイザーが現在サポートしているデバイスのリストが表示されるプルダウン メニュー。汎用 ASIC/FPGA ワークフローでは使用できません。

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

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

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

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

メモ

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

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

[ターゲットのリファレンス設計を設定] タスクは、リファレンス設計の入力パラメーターおよびツールのバージョンを表示します。[リファレンス設計のパラメーター] セクションには、リファレンス設計のために指定するカスタム パラメーターが表示されます。

説明

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

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

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

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

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

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

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

説明

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

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

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

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

ターゲット周波数を設定

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

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

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

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

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

  • FPGA ターンキー: その周波数をもつクロック信号を自動的に生成するためのクロック モジュールを生成します。

参考

ターゲット周波数

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

プロセッサと FPGA の同期モードを選択し、DUT の入出力端子をターゲット デバイスの I/O リソースにマッピングします。

説明

[プロセッサ/FPGA 同期] で次を選択します。

  • Free running: プロセッサと FPGA を自動的に同期しない場合に選択します。

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

  • Coprocessing – nonblocking with delay: ([IP コアの生成] ワークフローでは未サポート) プロセッサと FPGA が連携して実行されるように、HDL Coder で FPGA の同期ロジックを自動的に生成する場合。このモードは、プロセッサのサンプル時間よりも FPGA の処理時間が長く、プロセッサが続行する前に FPGA の完了を待機しない場合に選択します。

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

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

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

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

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

参考

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

プロセッサと FPGA の同期モードを選択し、DUT の入出力端子をターゲット デバイスの I/O リソースにマッピングします。必要に応じて、リファレンス設計を指定します。

説明

リファレンス設計: 生成された IP コアの挿入先となる、事前定義された組み込みシステム統合プロジェクトを選択します。

リファレンス設計パス: ダウンロードしたリファレンス設計のコンポーネントのパスを入力します。このフィールドは、指定したリファレンス設計にダウンロード可能なコンポーネントが必要な場合にのみ使用できます。

[プロセッサ/FPGA 同期] で次を選択します。

  • Free running: プロセッサと FPGA を自動的に同期しない場合に選択します。

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

  • Coprocessing – nonblocking with delay: ([IP コアの生成] ワークフローでは未サポート) プロセッサと FPGA が連携して実行されるように、HDL Coder で FPGA の同期ロジックを自動的に生成する場合。このモードは、プロセッサのサンプル時間よりも FPGA の処理時間が長く、プロセッサが続行する前に FPGA の完了を待機しない場合に選択します。

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

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

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

  • ターゲット デバイスで使用可能な I/O リソースのリストをもつドロップダウン メニュー

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

参考

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

[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(TM) Device] を選択した場合にのみ使用できます。

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

参考

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

グローバル設定をチェック

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

説明

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

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

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

  • Current: 設定の現在の値。

  • Recommended: 設定の推奨値。

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

ヒント

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

参考

モデル コンフィギュレーションのチェック

代数ループをチェック

モデル内の代数ループを検出します。

説明

HDL Coder ソフトウェアは、代数ループが存在するモデルの HDL コード生成をサポートしていません。[代数ループをチェック] ではモデルを調べて、代数ループが検出されるとチェック結果は失敗になります。HDL ワークフロー アドバイザーの他のチェックやコード生成に進む前に、モデルから代数ループを排除します。

参考

ブロックの互換性をチェック

DUT にサポートされないブロックがないかをチェックします。

説明

[ブロックの互換性をチェック] では、DUT 内のブロックで HDL コード生成との互換性がチェックされます。サポートされていないブロックが検出された場合、チェック結果が失敗になります。HDL ワークフロー アドバイザーでは、互換性のないブロックが各ブロックへの絶対パスとともにレポートされます。

参考

サンプル時間をチェック

モデルのソルバー、サンプル時間およびタスク モードの設定をチェックします。

説明

[サンプル時間をチェック] ではソルバー オプション、サンプル時間、タスク モードおよびレート変換の診断について HDL コード生成との互換性がチェックされます。HDL Coder ソフトウェアに必須の、あるいは推奨のソルバー オプションは次のとおりです。

  • タイプ: 固定ステップ (本製品では現在、限られた状況でのみ可変ステップ ソルバーをサポートしています。詳細については、hdlsetup を参照してください)。

  • ソルバー: 離散 (連続状態なし)。他の固定ステップ ソルバーを選択することもできますが、離散システムのシミュレーションには通常このオプションが最適です。

  • タスク モード: シングルタスク。現在マルチタスク モードで実行するモデルはサポートされていません。[タスク モード][自動] に設定しないでください。

  • [マルチタスク レート変換] および [シングルタスク レート変換] 診断オプション:[エラー] に設定します。

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

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

参考

Prepare DUT For FIL Interface Generation (HDL Verifier)

[HDL コード生成] の概要

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

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

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

    • RTL コード

    • RTL テスト ベンチ

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

    • SystemVerilog DPI テスト ベンチ

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

ヒント

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

[コード生成オプションを設定] の概要

[コード生成オプションを設定] フォルダー内のタスクでは、HDL コードとテスト ベンチの生成パラメーターを設定および検証できます。[コード生成オプションを設定] フォルダーの各タスクは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] ペインとモデル エクスプローラーのオプションをサポートしています。このフォルダーのタスクは以下のとおりです。

  • 基本オプションを設定: 全体的なコード生成に影響を与えるパラメーターを設定します。

  • レポート オプションの設定: コード生成レポートに影響するパラメーターを設定します。

  • 詳細オプションを設定: HDL 要素の命名規則や、特定の最適化を適用するかどうかなど、生成されるコードの詳細な特性を指定するパラメーターを設定します。

  • 最適化オプションを設定: 面積とタイミングを向上させるための、リソース共有やパイプラインなどの最適化を指定するパラメーターを設定します。

  • テスト ベンチ オプションを設定: 生成されるテスト ベンチ コードの特性を決定するオプションを設定します。

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

基本オプションを設定

全体的なコード生成に影響を与えるパラメーターを設定します。

説明

[基本オプションを設定] タスクでは HDL コード生成の基本的なオプションを設定します。これらのオプションには DUT の選択やターゲット言語の選択などが含まれます。基本オプションは [コンフィギュレーション パラメーター] ダイアログ ボックスの最上位の [HDL コード生成] ペインにあるオプションと同様ですが、[コード生成の出力] グループが省略されている点が異なります。

参考

レポート オプションの設定

コード生成レポートに表示するセクションを指定するパラメーターを設定します。

オプションは [コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][レポート] ペインおよびモデル エクスプローラーにあるオプションと同じです。

詳細オプションを設定

生成されるコードの詳細な特性を指定するパラメーターを設定します。

説明

詳細オプションは [コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][グローバル設定] ペインおよびモデル エクスプローラーにあるオプションと同じです。

最適化オプションの設定

面積とタイミングを向上させるための、リソース共有やパイプラインなどの最適化を指定するパラメーターを設定します。

説明

最適化オプションは [コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][ターゲットおよび最適化] ペインおよびモデル エクスプローラーにあるオプションと同じです。

テスト ベンチ オプションを設定

生成されるテスト ベンチ コードの特性を決定するオプションを設定します。

説明

テスト ベンチ オプションは [コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][テスト ベンチ] ペインおよびモデル エクスプローラーにあるオプションと同じです。

RTL コードの生成

RTL コードと HDL 最上位ラッパーを生成します。

説明

[RTL コードの生成] タスクは、DUT サブシステムの RTL コードと HDL 最上位ラッパーを生成します。また、ピン マッピング情報とクロック制約が含まれる制約ファイルも生成します。

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

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

説明

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

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

  • テスト ベンチを生成: [テスト ベンチ オプションを設定] で選択したテスト ベンチを生成します。

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

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

参考

Generating a Simulink Model for Cosimulation with an HDL Simulator (Filter Design HDL Coder)

HDL Cosimulation で確認

この手順を実行すると、HDL シミュレーターと Simulink テスト ベンチ間のコシミュレーションを使用して、生成された HDL を検証することができます。この手順は [コシミュレーション モデル] を選択し、[テスト ベンチ オプションを設定] で HDL シミュレーターを指定した場合にのみ表示されます。

RTL コードと IP コアの生成

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

説明

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

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

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

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

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

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

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

  • 追加ソース ファイル: 設計にブラック ボックス インターフェイスを使用して既存の Verilog® または VHDL® コードを含める場合、ファイル名を入力します。各ファイル名はセミコロン (;) で区切って手作業で入力するか、[追加] ボタンを使用して入力します。ソース ファイルの言語はターゲット言語と一致していなければなりません。

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

  • FPGA Data Capture のバッファー サイズ: バッファー サイズは、128*2^n の値を使用します。ここで n は整数です。既定では、バッファー サイズは 128 (n=0) です。n の最大値は 13 であり、バッファー サイズの最大値が 1048576 (=128*2^13) であることを意味します。

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

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

  • AXI4 スレーブ書き込みレジスタで再読み取りを有効にする: AXI4 スレーブ インターフェイスを使用して AXI4 スレーブ レジスタに書き込まれる値を読み戻すには、このオプションをオンにします。このタスクを実行すると、コード ジェネレーターはアドレス デコーダー ロジックの各 AXI4 レジスタの Mux を追加します。この Mux は、値を読み込むときにデータの書き込み先のアドレスを比較します。複数の AXI4 スレーブ レジスタから値を読み込んでいる場合、読み戻しのロジックは Mux の長いチェーンとなり、合成周波数に影響する可能性があります。

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

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

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

参考

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

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

説明

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

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

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

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

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

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

  • プロジェクトを作成

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

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

参考

Simulink HDL ワークフロー アドバイザーを使用した HDL コード生成および FPGA 合成

プロジェクトを作成

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

説明

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

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

合成オブジェクティブ

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

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

追加ソース ファイル

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

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

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

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

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

参考

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

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

説明

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

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

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

  • 配置配線

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

参考

Simulink HDL ワークフロー アドバイザーを使用した HDL コード生成および FPGA 合成

論理合成を実行

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

説明

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

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

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

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

参考

Simulink HDL ワークフロー アドバイザーを使用した HDL コード生成および FPGA 合成

マッピングを実行

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

説明

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

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

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

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

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

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

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

参考

Simulink HDL ワークフロー アドバイザーを使用した HDL コード生成および FPGA 合成

配置および配線を実行

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

説明

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

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

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

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

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

ヒント

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

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

参考

Simulink HDL ワークフロー アドバイザーを使用した HDL コード生成および FPGA 合成

合成の実行

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

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

実装を実行

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

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

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

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

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

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

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

説明

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

メモ

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

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

入力パラメーター

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

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

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

クリティカル パス番号

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

すべてのパスを表示

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

一意のパスを表示

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

遅延データを表示

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

終点のみを表示

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

結果と推奨アクション

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

参考

Simulink HDL ワークフロー アドバイザーを使用した 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 は元のモデルの名前です。

HDL ワークフロー アドバイザーの状態の保存と復元

HDL ワークフロー アドバイザーの現在の設定を名前付きの "復元ポイント" に保存できます。後で復元ポイント データを HDL ワークフロー アドバイザーに読み込んで、同じ設定を復元できます。

参考

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

FPGA インザループの実装

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

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

接続タイプ、ボードの IP アドレスと MAC アドレスを設定し、必要に応じて追加のファイルを選択します。

接続

[JTAG] (Altera® ボードのみ) または [イーサネット] を選択します。

ボード IP アドレス

このオプションは、ボードの IP アドレスが既定のアドレス (192.168.0.2) でない場合に、IP アドレスを設定するのに使用します。

ボード MAC アドレス

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

追加ソース ファイル

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

FPGA インザループのビルド

ビルド プロセスでは次の処理が行われます。

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

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

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

USRP® 互換性のチェック

モデルは符号付き 16 ビット信号の入力端子 2 つと出力端子 2 つをもたなければなりません。

FPGA 実装の生成

この手順は FPGA プログラミング ファイルの作成を開始します。入力パラメーターには、あらかじめダウンロードしてある Ettus Research™ USRP® FPGA ファイルへのパスを入力します。これらのファイルをまだダウンロードしていない場合は、USRP® 無線機用サポート パッケージのドキュメンテーションを参照してください。

この手順の完了後、FPGA ターゲットのための USRP® 無線機用サポート パッケージのドキュメンテーションで、プログラミング ファイルの FPGA へのダウンロードとシミュレーションの実行の手順を参照してください。

SDR 互換性をチェック

DUT は特定の信号インターフェイス要件を満たさなければなりません。[SDR 互換性チェック] では以下のインターフェイス チェックが実行されます (入力と出力に対して同じチェックが実行されます)。

  • 複素信号を 1 つ、スカラー信号を 2 つまたはサイズが 2 のベクトル化された信号を 1 つ含むこと

  • ビット幅が 16 であること

  • 符号付きであること

  • シングル レートであること

  • ベクトル化されている場合は端子で [Scalarize Vectors] オプションを使用していること

  • 複数のレートがある場合は単一のクロックを使用していること

  • 同期リセットを使用していること

  • アクティブ High リセットを使用していること

  • ユーザー オーバークロック係数に 1 を使用していること

すべてのエラー チェックは指定されたタスクの実行に対して行われ、テーブルにレポートされます。これにより、1 回の反復ですべてのエラーを修正できます。

SDR FPGA の実装

SDR FPGA は前の手順で生成したユーザーのロジックと SDR 固有のコードを統合して、データと RF ボードとホスト間のコントロール パスを提供します。

この手順は、以下のタスクで構成されています。

  • SDR オプションの設定: カスタマイズのオプションを選択します。

  • SDR のビルド: SDR ターゲットの FPGA プログラミング ファイルを生成します。

SDR オプションの設定

SDR FPGA 実装を完了するためにカスタマイズのオプションを選択します。

SDR FPGA コンポーネントのオプション

  • RF board for target

    次のいずれかを選択します。

    • Epic Bitshark FMC-1Rx RevB

    • Epic Bitshark FMC-1Rx RevC

  • Folder with vendor HDL source code

    ベンダーのサポート サイトからダウンロードした RF インターフェイス HDL を含むフォルダーを指定します。[参照] を使用して正しいフォルダーに移動します。

  • User logic synthesis frequency

    設計を実行する最大周波数を指定します。この値は、ADI FMCOMMS または Epiq Bitshark™ ブロックで指定されている ADC および DAC のサンプリング周波数よりも高くなければなりません。

  • User logic data path

    [Receiver data path] または [Transmitter data path] を選択します。

無線 IP アドレス

  • ボード IP アドレス

    このフィールドでは、ボードの IP アドレスが既定のアドレス (192.168.10.1) でない場合に、IP アドレスを設定します。

  • ボード MAC アドレス

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

HDL 設計の追加のソース ファイルとプロジェクト ファイル

ISE または Vivado のプロジェクトに含めるファイルを指定します。ISE または Vivado でサポートされているファイルの種類のみを含めることができます。指定したファイルが存在しない場合、HDL ワークフロー アドバイザーでプロジェクトを作成することはできません。

  • ファイル: 設計に追加するファイルの名前 ([追加] を使用)。

  • ファイル タイプ: ファイル タイプ。ファイル タイプは自動的に識別されますが、結果をオーバーライドすることもできます。[VHDL][Verilog][EDIF netlist][VQM netlist][QSF file][Constraints] または [Others] を選択できます。

  • 追加: 新規ファイルをリストに追加します。

  • 削除: 現在選択されているファイルをリストから削除します。

  • : 現在選択されているファイルをリストで上に移動します。

  • : 現在選択されているファイルをリストで下に移動します。

[Show full paths to source files] チェック ボックスをオンにすると、絶対パスが表示されます。このチェック ボックスをオフにすると、ファイル名のみが表示されます。

SDR のビルド

HDL ワークフロー アドバイザーが新しい Xilinx ISE プロジェクトまたは Vivado プロジェクトを作成し、次のものを追加します。

  • FPGA リポジトリからのすべての必要なファイル

  • 選択したサブシステムおよびアルゴリズムに対して生成された HDL ファイル

FPGA プロジェクトの生成および構文チェックでエラーが見つからなかった場合、FPGA プログラミング ファイルの生成プロセスが開始されます。このプロセスを外部コマンド シェルで表示して、進行状況を監視することができます。処理が完了すると、コマンド ウィンドウにウィンドウを閉じるように促すメッセージが表示されます。

組み込みシステムの統合

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

プロジェクトを作成

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

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

組み込みシステム ツール

組み込み設計ツール。

プロジェクト フォルダー

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

合成オブジェクティブ

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

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

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

組み込み C コードの生成のために IP コア ドライバー ブロックを使用してソフトウェア インターフェイス モデルを生成します。

ソフトウェア インターフェイス モデルの生成後、Embedded Coder® を使用してこのモデルから C コードを生成できます。

このタスクをスキップ: 組み込み C コードを独自に用意する場合、または Embedded Coder ライセンスをお持ちでない場合は、このオプションを選択します。

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

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

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

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

ビルド プロセスと同時に MATLAB® を実行する場合は、このオプションを有効にします。このオプションが無効の場合は、ビルドが完了するまで MATLAB を使用できません。

合成ビルド用 Tcl ファイル

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

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

launch_runs impl_1 -to_step write_bitstream

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

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

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

  • ダウンロード: これが既定の [プログラミング メソッド] です。生成された FPGA ビットストリーム、デバイス ツリーおよびシステム初期化スクリプトを Zynq ボード上の SD カードにコピーして、SD カード上のビットストリームを持続的に保持します。

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

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

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