メインコンテンツ

ガイド付きコード生成

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

Simulink® ツールストリップの [HDL コード] タブ、または [コンフィギュレーション パラメーター] ダイアログ ボックスを使用して、Simulink モデル向けの HDL コードをユーザー インターフェイスから生成できます。このダイアログ ボックスで、基本的なフォルダーや言語の選択から、さらに高度な最適化パラメーターまで、各種の 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 出力を同期する (R2022b 以降)
分散型パイプラインEnable pipeline register distribution
分散型パイプラインに合成推定値を使用Use synthesis timing estimates to guide pipeline register insertion (R2022a 以降)
適応パイプライン適応パイプライン レジスタの挿入
ルックアップ テーブルを 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
複素数の虚数部の接尾辞複素信号名の虚数部に追加するテキスト
モジュール名の接頭辞生成される HDL コード内のモジュールまたはエンティティの名前に接頭辞として付けるテキスト
イネーブル信号の接頭辞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
中間信号を最小にする生成コード内の中間信号の最小化
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
カスタム ファイルのヘッダー コメント生成される HDL コードのヘッダーのカスタム コメント
カスタム ファイルのフッター コメント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 コードを生成モデルまたはサブシステムのコード生成の有効化
シミュレーションのみのインデックス チェックを生成することで、範囲外アクセス エラーを非表示にする配列インデックスが範囲外にならないようにするためにシミュレーション時に実行されるロジック (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 にする期間
クロック 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 のコンパイル コマンドVHDL 用コンパイル スクリプトの Cmd セクションの記述に使用する書式名
Verilog または SystemVerilog のコンパイル コマンド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

lint スクリプトのパラメーター

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 ワークフロー アドバイザーの使用

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

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