Main Content

ガイド付きコード生成

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

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

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

関数

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

モデル設定

すべて展開する

HDL の生成対象HDL コード生成用のサブシステムまたはモデルを選択する
言語Specify HDL code generation language
コード生成フォルダーSpecify target folder for generated HDL code
モデルを既定の設定に戻す
HDL 生成可チェック
生成
ワークフローSpecify the target workflow
プロジェクト フォルダーFolder specification for workflow-specific files (R2023b 以降)
ターゲット プラットフォームSpecify where to deploy generated HDL code (R2023b 以降)
合成ツールSpecify the synthesis tool for targeting the generated HDL code
ファミリSpecify target device chip family for the model
デバイスSpecify target device name
パッケージSpecify target device package name
速度Specify target device speed value
リファレンス設計Configuration parameters to customize reference design (R2023b 以降)
リファレンス設計ツールのバージョンDisplay of reference design tool version (R2023b 以降)
ツール バージョンの不一致を無視Warning in instances of reference design tool version mismatch (R2023b 以降)
リファレンス設計のパラメーターParameters available for default reference designs (R2023b 以降)
ターゲット周波数Specify target frequency for multiple features and workflows

一般

RAM へのパイプライン遅延のマッピング生成される HDL コードのパイプライン レジスタを RAM にマッピング
RAM マッピングのしきい値Specify the minimum RAM size for mapping to block RAMs
非ゼロ初期値の遅延の変換Specify Transform Delay blocks to have zero initial value (R2020b 以降)
未使用の端子を削除Remove unused ports from the design (R2020b 以降)
イネーブルベースの制約Meet the timing requirement of the multicycle path in your model

パイプライン

設計上の遅延分散を許可Whether to allow distributed pipelining and delay absorption optimizations to move design delays
パイプライン分散の優先順位Priority for the distributed pipelining and delay absorption optimizations
クロックレート パイプラインInsert pipeline registers at a clock rate that is faster than the data rate
DUT 出力端子のクロックレート パイプラインを許可Produce the DUT outputs as soon as possible by passing the outputs from the DUT at the clock rate rather than the data rate
クロック レート パイプライン DUT 出力端子の均衡化Synchronize the DUT outputs while satisfying the highest-latency requirements of the outputs (R2022b 以降)
分散型パイプラインEnable pipeline register distribution
分散型パイプラインに合成推定値を使用Determine more accurate propagation delays for each component (R2022a 以降)
適応パイプラインInsert pipeline registers to the blocks in your design, reduce the area usage, and maximize the achievable clock frequency on the target FPGA device
ルックアップ テーブルを RAM にマッピングする Lookup tables in your design to block RAM and reduce area usage on the target FPGA device (R2021b 以降)

リソース共有

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

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

フレームからサンプルへの変換を有効にするEnable frame-to-sample conversion (R2022b 以降)
サイクルあたりのサンプル数Specify the size of the signals after the frame-to-sample conversion streams them (R2022b 以降)
FIFO 入力サイズSpecify the register size of the generated input FIFOs around the streaming matrix partitions (R2022b 以降)
FIFO 出力サイズSpecify the register size of the generated output FIFOs around the streaming matrix partitions (R2022b 以降)
入力処理順序Choose between row-major and column-major ordering for the frame inputs (R2023a 以降)
外部メモリ用の遅延サイズしきい値 (ビット)Specify a threshold size in kilobytes to map large integer delays to input and output DUT ports and offload large delays to external memory outside of your FPGA (R2023a 以降)
浮動小数点の使用Specify use of native floating-point library (R2023a 以降)
レイテンシ手法Specify minimum or maximum latency (R2020b 以降)
非正規化数の処理Specify whether to handle denormal numbers (R2020b 以降)
仮数乗算器手法Specify how to implement the mantissa multiplication operation (R2020b 以降)
ベンダー固有の浮動小数点ライブラリSelect vendor-specific floating-point library (R2023a 以降)

グローバル設定

リセット タイプAsynchronous or synchronous reset logic for registers
リセットのアサート レベルリセット入力信号のアサートまたはアクティブ レベル
クロックの入力端子Name for clock input port
クロック イネーブルの入力端子 クロック イネーブルの入力端子の名前
リセットの入力端子Name for reset input port
クロックの入力単一または複数のクロック入力の生成
Simulink のレートを実際のハードウェアのレートとして扱うOversampling value based on model rates (R2023b 以降)
クロック エッジアクティブなクロック エッジ
オーバーサンプリング係数Oversampling value

一般

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

端子

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

コーディング スタイル

集合体で定数値を表現Constants represented by aggregates
インラインの MATLAB Function ブロック コードMATLAB Function ブロックの HDL コードをインライン化
すべての RAM ブロックを初期化Generate initial signal value for RAM blocks
RAM アーキテクチャRAM architecture with or without clock enable
レジスタのリセットによらない初期化Initialize registers without reset and mode of initialization
中間信号を最小にするデバッグを可能にするため、またはコード カバレッジのために HDL コードを最適化する
For-Generate ループの展開生成された HDL コードから FOR-GENERATE ループを展開して省略する
マスクされたサブシステムからのパラメーター化された HDL コードの生成Generate reusable HDL code for subsystems
列挙型エンコード スキーム:Encoding scheme represent enumeration types
レジスタに “rising_edge/falling_edge” スタイルを使用Specify if generated should code use rising_edge function or falling_edge function
コードの再利用Single reusable file to represent the subsystem logic (R2022a 以降)
インラインの VHDL configurationSpecify if generated VHDL code includes inline configurations
固定値の表示方法の設定Syntax for concatenated zeros in generated VHDL code
難読化された HDL コードを生成Specify generation of obfuscated HDL code (R2020b 以降)
生成された HDL コード内のバス構造を保持Generate code with VHDL record or SystemVerilog structure types (R2022b 以降)
スカラー化された端子名のインデックス付けStarting index for the names of scalarized vector ports (R2022a 以降)
タイミング コントローラーの最適化Timing controller entity for speed and code size
タイミング コントローラーのアーキテクチャArchitecture of generated timing controller
Verilog または SystemVerilog の timescale 命令を使用生成された Verilog または SystemVerilog コード内でのコンパイラ命令の使用
Verilog または SystemVerilog の timescale 仕様Timescale to use in generated Verilog or SystemVerilog code

コーディング標準

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

コメント

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

モデル生成

生成されたモデルEnable or disable generation of generated model
検証モデルEnable or disable generation of a validation model
検証モデル名の接尾辞検証モデルの名前の接尾辞 (R2020b 以降)
生成されたモデル名の接頭辞Prefix of the generated model name
レイアウト スタイルLayout style of the generated HDL model (R2021b 以降)
信号の自動経路指定Automatic routing of signals in the generated model (R2020b 以降)
ブロック間の水平方向のスケーリングHorizontal scaling of generated model (R2020b 以降)
ブロック間の垂直方向のスケーリングVertical scaling of generated model (R2020b 以降)

詳細設定

ブラック ボックス インターフェイスでの名前の競合をチェックSpecify whether to check for duplicate module or entity names
生成された HDL コード内での実数の有無のチェック生成された HDL コードで、実数をチェックするかどうかを指定する
HDL コードを生成モデルまたはサブシステムの HDL コード生成を有効または無効にする
シミュレーションのみのインデックス チェックを生成することで、範囲外アクセス エラーを非表示にする配列インデックスが範囲外にならないようにするためにシミュレーション時に実行されるロジック (R2022a 以降)
トレーサビリティ レポートの生成Report with hyperlinks to code to model and model to code
トレーサビリティ スタイルDesignation of line-level or comment-based traceability (R2020b 以降)
モデルの Web ビューを生成Web view to navigate between code and model
リソース利用レポートを生成Generate HTML resource utilization report
最適化レポートを生成Generate HTML optimization report
高位のタイミング クリティカル パス レポートを生成Generate a report that shows estimated critical path in models
カスタム タイミング データベースのディレクトリPath to load custom timing (R2021b 以降)
シミュレーション ツールSimulator for running generated test benches
HDL コード カバレッジ生成されたシミュレーター スクリプトで HDL コード カバレッジ フラグを有効または無効にする
HDL テスト ベンチHDL テスト ベンチの生成を有効または無効にする
コシミュレーション モデルEnable or disable model generation
SystemVerilog DPI テスト ベンチEnable or disable SystemVerilog DPI test bench generation
テスト ベンチ名の接尾辞Specify suffix appended to test bench name
クロック信号生成テスト ベンチがクロック入力信号を生成するかどうかを指定する
クロック High 時間 (ns)テスト ベンチがクロック入力信号を High (1) にする期間をナノ秒単位で指定する
クロック Low 時間 (ns)テスト ベンチがクロック入力信号を Low (0) にする期間をナノ秒単位で指定する
ホールド時間 (ns)入力信号とリセット入力信号生成のホールド時間をナノ秒単位で指定する
セットアップ時間 (ns)データ入力信号のセットアップ時間を表示する
クロック イネーブル信号生成テスト ベンチでクロック イネーブル入力信号を生成するかどうかを指定する
クロック イネーブル信号の遅延 (クロック サイクル単位)リセットのデアサーションとクロック イネーブルのアサーション間の経過時間 (クロック サイクル単位) を定義する
リセット信号生成テスト ベンチがリセット入力信号を生成するかどうかを指定する
Reset 信号の長さ (クロック サイクル単位)リセットがアサートされる時間 (クロック サイクル単位) を定義する
サンプル間の入力データをホールドサブレート信号値を有効な状態に保持する時間を指定する
テスト ベンチの入力を初期化データが DUT にアサートされる前のテスト ベンチ入力上で駆動される初期値を指定する
複数ファイルのテスト ベンチ生成されたテスト ベンチを補助関数、データ、HDL テスト ベンチ コード ファイルに分割する
テスト ベンチ データ ファイル名の接尾辞複数ファイルのテスト ベンチを生成するときにテスト ベンチ データ ファイルの名前に追加される接尾辞を指定する
テスト ベンチ参照の接尾辞テスト ベンチ コード内で生成される基準信号の名前に付加される文字ベクトルを指定する
ファイル I/O によるテスト ベンチ データの読み取り/書き込みを行うテスト ベンチの入力と出力データの読み取りおよび書き込み用にデータ ファイルを作成して使用する
出力データのチェックを無視 (サンプル数)出力データのチェックが抑制されている間のサンプルの数を指定する
浮動小数点許容誤差チェックの基準Specify the floating-point tolerance check option
許容誤差の値指定した浮動小数点許容誤差チェックの設定に基づいて許容誤差の値を入力する
シミュレーション ライブラリ パスコンパイルされた Altera または Xilinx シミュレーション ライブラリへのパスを指定する
EDA スクリプトを生成サードパーティ製のコンピューターによる設計の自動化 (EDA) ツール向けのスクリプト ファイル
コンパイル ファイルの接尾辞コンパイル スクリプト ファイルの名前を形成するための DUT 名またはテスト ベンチ名に付加する接尾辞
コンパイルの初期化コンパイル スクリプトの Init セクションを書き込むために使用される書式名
VHDL のコンパイル コマンドコンパイル スクリプトの Cmd セクションを書き込むために使用される書式名
Verilog または SystemVerilog のコンパイル コマンドコンパイル スクリプトの Cmd セクションを書き込むために使用される書式名
コンパイルの終了コンパイル スクリプトの終了部分を書き込むために使用される書式名
シミュレーション ファイルの接尾辞Postfix to append to the DUT or test bench name
シミュレーションの初期化シミュレーション スクリプトの初期化セクションを書き込むために使用される書式名
シミュレーション コマンドFormat name used to write the simulation command
シミュレーション波形表示コマンドシミュレーション スクリプトに記述される波形表示コマンド
シミュレーションの終了シミュレーション スクリプトの終了部分を書き込むために使用される書式名
シミュレーター フラグ生成されたコンパイル スクリプトに適用するシミュレーター フラグ
合成ツールの選択合成スクリプトの生成
合成ファイルの接尾辞Postfix to append to file name
合成の初期化Format name used to write initialization section of synthesis script
合成コマンドFormat name used to write the synthesis command
合成の終了Format name that is used to write termination portion of synthesis script
合成プロジェクトに追加するファイルAdditional HDL or constraint files
HDL lint ツールの選択Generation of an HDL lint script
lint の初期化Initialization text
lint コマンドCommand for HDL lint script
lint の終了Termination character vector

トピック

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

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

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