Main Content

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

レジスタのリセットによらない初期化

リセットおよび初期化モードのないレジスタを初期化するかどうかを指定します。

設定

既定の設定: モジュール内に初期化を生成

次のオプションがあります。

初期化しない

HDL Coder™ はリセット端子のないレジスタを初期化しません。

外部スクリプトを生成

HDL Coder は生成されたコードにリセット端子のないレジスタを初期化するスクリプトを生成します。

モジュール内に初期化を生成

HDL Coder は、DUT に対して生成された HDL コードの一部としてリセット端子のないレジスタを初期化します。Verilog では、対応するモジュール定義の initial 文によって、リセットなしのレジスタが初期化されます。VHDL では、初期化コードは信号宣言ステートメントの一部です。

使用に関するメモ

Simulink® モデルに [ResetType][none] に設定されたブロックがある場合、または適応パイプライン最適化を指定する場合は、生成された HDL コードにリセット端子のないレジスタが含まれる可能性があります。これらのレジスタを初期化しない場合、レジスタはグローバルなリセット ロジックの影響を受けないため、HDL のシミュレーション結果には数値の不一致が生じる可能性があります。シミュレーションの不一致を回避するには、この設定を使用して、生成されたコード内でこれらのレジスタを初期化します。より良いシミュレーション結果を得るためには、DUT の境界でリセット端子のないレジスタがある場合は、[テスト ベンチ] ペインで [テスト ベンチの入力を初期化] を選択します。このプロパティを設定すると、DUT へのデータ駆動の初期値が提供され、これらの値をもつレジスタが初期化されます。

機能ScriptNoneInsideModule
DUT 用に生成された HDL コードスクリプトは外部で生成され、DUT 用の HDL コードに影響しません。 HDL Coder は生成されたコードでレジスタを初期化しません。レジスタを初期化するためのコードは DUT 用の HDL コードの一部です。
HDL シミュレーターのサポートスクリプトの構文は ModelSim® 10.2c 以降に準拠します。他の HDL シミュレーターまたは古い ModelSim バージョンは初期化スクリプトの構文をサポートしていません。このモードは列挙型をサポートしていません。レジスタは非ゼロ値で初期化されます。このモードはリセット端子をもたないレジスタを初期化しないため、HDL シミュレーション結果で数値の不一致が発生する可能性があります。 すべての HDL シミュレーターはこの初期化モードをサポートし、適切な値をもつレジスタのリセットによらない初期化を行います。
合成ツールのサポートスクリプトは DUT に対して生成された HDL コードに影響しないため、すべての合成ツールはこの初期化モードをサポートします。合成ツールは、このモードでレジスタのリセットによらない初期化を行いません。合成ツールの新しいバージョンは生成されたコードの初期化構造をサポートします。ただし、古いバージョンでは初期化構造が合成されない可能性があります。この問題を回避するには、生成されたコードを合成ツールが合成できることを確認してください。

コマンド ライン情報

プロパティ: NoResetInitializationMode
型: 文字ベクトル
値: 'InsideModule' | 'None''Script'
既定の設定: 'InsideModule'

このプロパティを設定するには、hdlset_param または makehdl を使用します。プロパティの値を表示するには、hdlget_param を使用します。

参考

グローバル リセットの最小化