メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ガイド付きコード生成

[コンフィギュレーション パラメーター] ダイアログ ボックスおよび Simulink HDL ワークフロー アドバイザーを使用したガイド付きコード生成

Simulink® ツールストリップの [HDL コード] タブ、または [コンフィギュレーション パラメーター] ダイアログ ボックスを使用して、Simulink モデル向けの HDL コードを UI から生成できます。このダイアログ ボックスで、基本的なフォルダーや言語の選択から、さらに高度な最適化パラメーターまで、各種の HDL コード生成の設定を指定できます。[HDL コード] タブから HDL コードを生成する方法の詳細については、Simulink モデルからの HDL コードの生成を参照してください。

生成されたコードをターゲット デバイスに展開するには、Simulink HDL ワークフロー アドバイザーを使用します。このアドバイザーでは、HDL 互換性のチェックを行うエンドツーエンドのワークフローを実行し、生成されたコードをターゲット デバイスに展開することができます。HDL ワークフロー アドバイザーは Simulink Online™ では使用できません。

関数

hdladvisorHDL ワークフロー アドバイザーの表示
hdlsetupHDL コード生成用にモデル コンフィギュレーション パラメーターを設定する
hdlsetuptoolpathFPGA 合成ソフトウェアにアクセスするためのシステム環境の設定

モデル設定

すべて展開する

HDL の生成対象HDL コード生成用のサブシステムまたはモデルを選択する
言語HDL コード生成の言語を指定する
コード生成フォルダーFolder for generated HDL code
モデルを既定の設定に戻すReset model-level HDL settings to default values
HDL 生成可チェックCheck subsystem compatibility for HDL code generation
生成Generate HDL code for subsystem or model
ワークフローTarget workflow
プロジェクト フォルダーFolder for workflow-specific files (R2023b 以降)
ターゲット プラットフォームPlatform on which to deploy generated HDL code (R2023b 以降)
合成ツールSynthesis tool to target generated HDL code
ファミリDevice chip family
デバイスDevice name
パッケージDevice package name
速度Device speed value
リファレンス設計Reference design to integrate with generated IP core (R2023b 以降)
リファレンス設計ツールのバージョンリファレンス設計ツールのバージョンの表示 (R2023b 以降)
ツール バージョンの不一致を無視Warning in instances of reference design tool version mismatch (R2023b 以降)
リファレンス設計のパラメーターTable of parameters available for default reference designs (R2023b 以降)
ターゲット周波数Clock frequency for generated HDL design

一般

RAM へのパイプライン遅延のマッピング生成される HDL コードのパイプライン レジスタを RAM にマッピング
RAM マッピングのしきい値ブロック RAM にマッピングする際の最小 RAM サイズを指定する
非ゼロ初期値の遅延の変換Implement Delay blocks to have zero initial value in generated HDL code
未使用の端子を削除設計に含まれる未使用の端子を削除する
イネーブルベースの制約Enable multiple clock cycles for data to propagate between registers

パイプライン

設計上の遅延分散を許可分散型パイプライン方式および遅延吸収の最適化による設計上の遅延の移動を許可するかどうか
パイプライン分散の優先順位Priority for distributed pipelining and delay absorption optimizations
クロックレート パイプラインデータ レートよりも速いクロック レートでパイプライン レジスタを挿入する
DUT 出力端子のクロックレート パイプラインを許可データ レートではなくクロック レートで DUT から出力を渡し、可能な限り速やかに DUT 出力を生成する
クロック レート パイプライン DUT 出力端子の均衡化出力の最大レイテンシ要件を満たしながら DUT 出力を同期する (R2022b 以降)
分散型パイプラインEnable pipeline register distribution
分散型パイプラインに合成推定値を使用Use synthesis timing estimates to guide pipeline register insertion (R2022a 以降)
適応パイプライン設計内のブロックにパイプライン レジスタを挿入し、使用面積を削減して、ターゲット FPGA デバイス上で達成可能なクロック周波数を最大にする
ルックアップ テーブルを RAM にマッピングする Map lookup tables to block RAM (R2021b 以降)

リソース共有

加算器の共有Share adders with resource sharing optimization
加算器共有の最小ビット幅リソース共有の最適化によって加算器を共有するのに必要な最小ビット幅を指定する
乗算器の共有Share multipliers with resource sharing optimization
乗算器共有の最小ビット幅リソース共有の最適化によって乗算器を共有するのに必要な最小ビット幅を指定する
乗算器拡張のしきい値リソース共有の最適化を使用して小さい乗算器を他のより大きい乗算器と共有する
乗算器分割のしきい値しきい値に基づく乗算器の分割
Multiply-Add ブロックリソース共有の最適化によって Multiply-Add ブロックを共有する
Multiply-Add ブロック共有の最小ビット幅リソース共有の最適化によって Multiply-Add を共有するのに必要な最小ビット幅を指定する
Atomic サブシステムリソース共有の最適化によって Atomic Subsystem ブロックを共有する
MATLAB Function ブロックリソース共有の最適化によって MATLAB Function ブロックを共有する
浮動小数点 IPShare floating-point IPs with resource sharing optimization

フレームからサンプルへの変換

フレームからサンプルへの変換を有効にするフレームからサンプルへの変換を有効にする (R2022b 以降)
サイクルあたりのサンプル数Maximum size of streams for frame-to-sample conversion (R2022b 以降)
FIFO 入力サイズRegister size of generated input FIFOs around streaming matrix partitions (R2022b 以降)
FIFO 出力サイズRegister size of generated output FIFOs around streaming matrix partitions (R2022b 以降)
入力処理順序フレーム入力の順序を行優先にするのか列優先にするのかを選択する (R2023a 以降)
外部メモリ用の遅延サイズしきい値 (ビット)Maximum delay size for external memory (R2023a 以降)
浮動小数点の使用ネイティブ浮動小数点ライブラリの使用を指定 (R2023a 以降)
レイテンシ手法最小または最大のレイテンシを指定する
非正規化数の処理Specify whether to handle denormal numbers
仮数乗算器手法Specify how to implement mantissa multiplication operation
ベンダー固有の浮動小数点ライブラリSelect vendor-specific floating-point library (R2023a 以降)

グローバル設定

リセット タイプReset logic to use for registers in HDL code
リセットのアサート レベルリセット入力信号のアサートまたはアクティブ レベル
クロックの入力端子Name for clock input port
クロック イネーブルの入力端子 クロック イネーブルの入力端子の名前
リセットの入力端子Name for reset input port
クロックの入力単一または複数のクロック入力を生成する
Simulink のレートを実際のハードウェアのレートとして扱うモデルのレートに基づくオーバーサンプリング値 (R2023b 以降)
クロック エッジアクティブなクロック エッジ
オーバーサンプリング係数オーバーサンプリング値

一般

Verilog ファイルの拡張子生成される Verilog ファイル名の拡張子
VHDL ファイルの拡張子生成される VHDL ファイル名の拡張子
SystemVerilog ファイルの拡張子生成される SystemVerilog ファイルのファイル名拡張子 (R2023b 以降)
パッケージの接尾辞Text to append to model or subsystem name
エンティティ競合の接尾辞Text to use to resolve duplicate module names
分離する entity ファイルの接尾辞Text to append to name of generated model file
予約語の接尾辞Text to append to value names, postfix values, or labels
分離する arch ファイルの接尾辞Text to append to name of generated architecture file
クロックの process 文の接尾辞:Text to append to HDL clock process names
エンティティとアーキテクチャを分離Write architecture code to multiple VHDL files
複素数の実数部の接尾辞複素信号名の実数部に追加するテキスト
VHDL アーキテクチャ名Architecture name for DUT
複素数の虚数部の接尾辞複素信号名の虚数部に追加するテキスト
モジュール名の接頭辞モジュールまたはエンティティの名前の接頭辞
イネーブル信号の接頭辞Base name for internal clock enables and other flow control signals
タイミング コントローラーの接尾辞Text to append to timing controller name
パイプラインの接尾辞入力パイプライン レジスタまたは出力パイプライン レジスタの名前の後に追加するテキスト
VHDL ライブラリ名生成された VHDL コードのターゲット ライブラリ名
モデル参照用の VHDL または SystemVerilog コードを単一のライブラリに生成Generate VHDL or SystemVerilog code in separate libraries
ブロック生成ラベルHDL GENERATE ステートメントに使用されるブロック ラベルの接尾辞
出力生成ラベル出力割り当てブロック ラベルの接尾辞
インスタンス生成ラベルインスタンス セクション ラベルに追加するテキスト
ベクトルの接頭辞ベクトル名の接頭辞
インスタンスの接頭辞生成されたコンポーネント インスタンス名の接頭辞
インスタンスの接尾辞生成されたコンポーネント インスタンス名の接尾辞
マップ ファイルの接尾辞生成されたマッピング ファイルのファイル名に追加される接尾辞

端子

入力データ型モデルの入力端子の HDL データ型
出力データ型モデルの出力端子の HDL データ型
クロック イネーブルの出力端子生成されたクロック イネーブルの出力端子の名前
クロック イネーブルの最小化クロック イネーブル ロジックを最小化する
グローバル リセットの最小化Omit reset logic in generated code
トリガー信号をクロックとして使用Use trigger input signal as clock in generated code
調整可能なパラメーターの HDL DUT 入力端子の生成を有効にするCreate DUT input ports for tunable parameters (R2021b 以降)
生成された DUT 入力端子の遅延の均衡化Insert matching delays on generated DUT inport port paths (R2022b 以降)
テスト ポイントの HDL DUT 出力端子の生成を有効にするCreate DUT output ports for test point signals
生成された DUT 出力端子の遅延の均衡化生成された DUT 出力端子パスに、一致する遅延を挿入する (R2022b 以降)
端子のスカラー化Flatten vector ports into structure of scalar ports
FPGA 展開における I/O ピンの最大数ターゲット FPGA の I/O ピンの最大数 (R2022a 以降)
I/O しきい値を超える DUT ピン数のチェックOption to generate error or warning when DUT pin count exceeds maximum number of I/O pins (R2023a 以降)

コーディング スタイル

集合体で定数値を表現Represent constants by using aggregates
インラインの MATLAB Function ブロック コードMATLAB Function ブロックの HDL コードをインライン化
すべての RAM ブロックを初期化Generate initial signal value for RAM blocks
RAM アーキテクチャクロック イネーブルを搭載または搭載しない RAM アーキテクチャ
レジスタのリセットによらない初期化Specify how to initialize registers that do no reset
中間信号を最小にするデバッグを可能にするため、またはコード カバレッジのために HDL コードを最適化する
For-Generate ループの展開生成された HDL コードから FOR-GENERATE ループを展開して省略する
マスクされたサブシステムからのパラメーター化された HDL コードの生成Generate reusable HDL code for subsystems
列挙型エンコード スキームSpecify encoding scheme to use for enumeration types
レジスタに "rising_edge/falling_edge" スタイルを使用Use rising_edge or falling_edge to detect clock transitions in generated code
コードの再利用Specify whether to generate a reusable file for subsystems (R2022a 以降)
インラインの VHDL configurationWhether generated VHDL code includes inline configurations
固定値の表示方法の設定Whether to use type-safe syntax for concatenated zeros in generated VHDL code
難読化された HDL コードを生成Whether to generate obfuscated HDL code
生成された HDL コード内のバス構造を保持Generate code with VHDL record or SystemVerilog structure types (R2022b 以降)
スカラー化された端子名のインデックス付けSpecify starting index for names of scalarized vector ports (R2022a 以降)
タイミング コントローラーの最適化Generate one counter for each rate in timing controller code
タイミング コントローラーのアーキテクチャSpecify architecture of generated timing controller
Verilog または SystemVerilog の timescale 命令を使用生成された Verilog または SystemVerilog コード内でのコンパイラ命令の使用
Verilog または SystemVerilog の timescale 仕様Specify timescale to use in generated Verilog or SystemVerilog code

コーディング標準

HDL コーディング標準Select coding standard guidelines
コーディング標準レポートにおける受け渡しルールの表示Include passing rules in coding standard report
名前の重複をチェックCheck for duplicate names in design
設計名の HDL キーワードをチェックCheck for HDL keywords in design names
モジュール、インスタンス、エンティティの名前の長さをチェックWhether to check module, instance, and entity name length
信号、端子、パラメーターの名前の長さをチェックWhether to check signal, port, and parameter name length
クロック イネーブル信号をチェックWhether to check for clock enable signals in generated code
リセット信号の使用の検出Whether to check for reset signals in generated code
非同期リセット信号の使用の検出Whether to check for asynchronous reset signals in generated code
変数の使用を最小限に抑えるWhether to minimize use of variables
RAM の初期値を設定する開始ステートメントをチェックWhether to check for initial statements that set RAM initial values
プロセス内の条件ステートメントをチェックWhether to check for length of conditional statements
カスケードされた複数の制御領域で同じ変数への代入がないかをチェックWhether to check if there are assignments to same variable in multiple cascaded control regions (R2021b 以降)
If-else ステートメントのチェーンの長さをチェックWhether to check if-else statement chain length
If-else ステートメントの入れ子の深さをチェックWhether to check if-else statement nesting depth
乗算器の幅をチェックWhether to check multiplier bit width
整数でない定数をチェックWhether to check for non-integer constants
行の折り返しの長さをチェックWhether to check line lengths in the generated HDL code

コメント

コメントを有効にするWhether to enable comments
ヘッダーのコメントComment lines in header of generated HDL and test bench files
ヘッダーに時間/日付スタンプを出力Include time and date information in generated HDL file header
ブロック コメントに要件を含めるInclude requirements as comments in code or code generation reports
カスタム ファイルのヘッダー コメントカスタム ファイルのヘッダー コメント
カスタム ファイルのフッター コメントCustom comment in footer of generated HDL code

モデル生成

生成されたモデルGenerate model that shows latency and numeric differences between model and HDL code
検証モデルGenerate validation model
検証モデル名の接尾辞検証モデルの名前の接尾辞
生成されたモデル名の接頭辞Prefix to append to generated model name
レイアウト スタイルLayout style of generated HDL model (R2021b 以降)
信号の自動経路指定生成されたモデル内の信号の自動経路指定
ブロック間の水平方向のスケーリングHorizontal scaling of generated model
ブロック間の垂直方向のスケーリングVertical scaling of generated model

詳細設定

ブラック ボックス インターフェイスでの名前の競合をチェックGenerate warning or error when black box interfaces have name conflicts
生成された HDL コード内での実数の有無のチェック生成された HDL コードで、実数をチェックするかどうかを指定する
HDL コードを生成モデルまたはサブシステムの HDL コード生成を有効または無効にする
シミュレーションのみのインデックス チェックを生成することで、範囲外アクセス エラーを非表示にする配列インデックスが範囲外にならないようにするためにシミュレーション時に実行されるロジック (R2022a 以降)
トレーサビリティ レポートの生成Generate report with hyperlinks from code to model and model to code
トレーサビリティ スタイルType of traceability to generate in code generation report
モデルの Web ビューを生成Include Web view in code generation report
リソース利用レポートを生成Generate resource utilization section in code generation report
最適化レポートを生成Generate optimization sections in code generation report
高位のタイミング クリティカル パス レポートを生成Insert highlighting script that maps estimated critical path in code generation report
カスタム タイミング データベースのディレクトリカスタム タイミングを読み込むためのパス (R2021b 以降)
シミュレーション ツールSimulator to use to run generated test benches
HDL コード カバレッジ生成されたシミュレーター スクリプトで HDL コード カバレッジ フラグを有効または無効にする
HDL テスト ベンチHDL テスト ベンチの生成を有効または無効にする
コシミュレーション モデルGenerate cosimulation model
SystemVerilog DPI テスト ベンチEnable SystemVerilog DPI test bench generation
テスト ベンチ名の接尾辞Suffix to append to test bench name
クロック信号生成テスト ベンチがクロック入力信号を生成するかどうかを指定する
クロック High 時間 (ns)テスト ベンチがクロック入力信号を High (1) にする期間をナノ秒単位で指定する
クロック Low 時間 (ns)テスト ベンチがクロック入力信号を Low (0) にする期間をナノ秒単位で指定する
ホールド時間 (ns)入力信号とリセット入力信号生成のホールド時間をナノ秒単位で指定する
クロック イネーブル信号生成テスト ベンチでクロック イネーブル入力信号を生成するかどうかを指定する
クロック イネーブル信号の遅延 (クロック サイクル単位)リセットのデアサーションとクロック イネーブルのアサーション間の経過時間 (クロック サイクル単位) を定義する
リセット信号生成テスト ベンチがリセット入力信号を生成するかどうかを指定する
リセット信号の長さ (クロック サイクル単位)リセットがアサートされる時間 (クロック サイクル単位) を定義する
サンプル間の入力データをホールドサブレート信号値を有効な状態に保持する時間を指定する
テスト ベンチの入力を初期化データが DUT にアサートされる前のテスト ベンチ入力上で駆動される初期値を指定する
複数ファイルのテスト ベンチ生成されたテスト ベンチを補助関数、データ、HDL テスト ベンチ コード ファイルに分割する
テスト ベンチ データ ファイル名の接尾辞複数ファイルのテスト ベンチを生成するときにテスト ベンチ データ ファイルの名前に追加される接尾辞を指定する
テスト ベンチ参照の接尾辞テスト ベンチ コード内で生成される基準信号の名前に付加される文字ベクトルを指定する
ファイル I/O によるテスト ベンチ データの読み取り/書き込みを行うテスト ベンチの入力と出力データの読み取りおよび書き込み用にデータ ファイルを作成して使用する
出力データのチェックを無視 (サンプル数)出力データのチェックが抑制されている間のサンプルの数を指定する
浮動小数点許容誤差チェックの基準Check for errors in floating-point library based on relative or ULP errors
許容誤差の値指定した浮動小数点許容誤差チェックの設定に基づいて許容誤差の値を入力する
シミュレーション ライブラリ パスコンパイルされた Altera または Xilinx シミュレーション ライブラリへのパスを指定する
EDA スクリプトを生成サードパーティ製のコンピューターによる設計の自動化 (EDA) ツール向けのスクリプト ファイル
コンパイル ファイルの接尾辞コンパイル スクリプト ファイルの名前を形成するための DUT 名またはテスト ベンチ名に付加する接尾辞
コンパイルの初期化コンパイル スクリプトの Init セクションを書き込むために使用される書式名
VHDL のコンパイル コマンドコンパイル スクリプトの Cmd セクションを書き込むために使用される書式名
Verilog または SystemVerilog のコンパイル コマンドコンパイル スクリプトの Cmd セクションを書き込むために使用される書式名
コンパイルの終了コンパイル スクリプトの終了部分を書き込むために使用される書式名
シミュレーション ファイルの接尾辞DUT 名またはテスト ベンチ名に付加する接尾辞
シミュレーションの初期化シミュレーション スクリプトの初期化セクションを書き込むために使用される書式名
シミュレーション コマンドシミュレーション コマンドを書き込むために使用される書式名
シミュレーション波形表示コマンドシミュレーション スクリプトに記述される波形表示コマンド
シミュレーションの終了シミュレーション スクリプトの終了部分を書き込むために使用される書式名
シミュレーター フラグ生成されたコンパイル スクリプトに適用するシミュレーター フラグ
合成ツールの選択合成スクリプトの生成
合成ファイルの接尾辞Postfix to append to file name
合成の初期化Format name to use to write initialization section of synthesis script
合成コマンドFormat name to use to write synthesis command
合成の終了Format name to use to write termination section of synthesis script
合成プロジェクトに追加するファイルAdditional HDL or constraint files
HDL lint ツールの選択Specify HDL lint tool for which to generate lint scripts
lint の初期化Format name to use to write initialization section of HDL lint script
lint コマンドFormat name to use to write command for HDL lint script
lint の終了Format to use to write termination section of HDL lint script

トピック

HDL ワークフロー アドバイザーの使用

[モデル コンフィギュレーション パラメーター] ダイアログ ボックスの使用

モデル コンフィギュレーション パラメーター