このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
クロック イネーブルとリセット信号の最小化のパラメーター
このページでは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] 、 [グローバル設定] 、 [端子] タブにあるパラメーターについて説明します。
クロック イネーブルの最小化
シングルレート設計のクロック イネーブルロジックの生成を省略します。
設定
既定の設定: オフ
- オン
シングルレート モデルについて、可能な場合はクロック イネーブル ロジックの生成を省略します。次の VHDL® コードの例では、クロック イネーブル信号は定義またはチェックされません。クロック信号 (
clk
) が高くなると、現在の信号の値が出力されます。Unit_Delay_process : PROCESS (clk, reset) BEGIN IF reset = '1' THEN Unit_Delay_out1 <= to_signed(0, 32); ELSIF clk'EVENT AND clk = '1' THEN Unit_Delay_out1 <= In1_signed; END IF; END PROCESS Unit_Delay_process;
- オフ
クロック イネーブル ロジックを生成します。次の VHDL コードの一部は、クロック イネーブル (
enb
) をもつレジスタを示したものです。Unit_Delay_process : PROCESS (clk, reset) BEGIN IF reset = '1' THEN Unit_Delay_out1 <= to_signed(0, 32); ELSIF clk'EVENT AND clk = '1' THEN IF enb = '1' THEN Unit_Delay_out1 <= In1_signed; END IF; END IF; END PROCESS Unit_Delay_process;
例外
場合によっては、[クロック イネーブルの最小化] を選択しても、HDL Coder™ がクロック イネーブルを出力することがあります。以下のような場合です。
Enabled、State-Enabled および Triggered Subsystem 内のレジスタ。
マルチレート モデル。
以下のブロックに対しては、クロック イネーブルは常に出力されます。
commseqgen2/PN Sequence Generator
dspsigops/NCO
メモ
NCO ブロックに対する HDL のサポートは将来のリリースで削除される予定です。代わりに、NCO HDL Optimized ブロックを使用してください。
dspsrcs4/Sine Wave
hdldemolib/HDL FFT
built-in/DiscreteFir
dspmlti4/CIC Decimation
dspmlti4/CIC Interpolation
dspmlti4/FIR Decimation
dspmlti4/FIR Interpolation
dspadpt3/LMS Filter
dsparch4/Biquad Filter
メモ
[RAM アーキテクチャ] が Generic RAM without Clock Enable
に設定された Dual Rate Dual Port RAM などの RAM ブロックを設計で使用している場合、コード ジェネレーターは [クロック イネーブルの最小化] 設定を無視します。
コマンド ライン情報
プロパティ: MinimizeClockEnables |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、sfir_fixed
モデル内にある symmetric_fir
サブシステムの HDL コードを生成するときに、クロック イネーブル信号を最小化するには、次のいずれかの方法を使用します。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'MinimizeClockEnables','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','MinimizeClockEnables','on') makehdl('sfir_fixed/symmetric_fir')
依存関係
このオプションは、[HDL コーディング標準] が [業界標準]
に設定されている場合は無視されます。
グローバル リセットの最小化
HDL コードでリセット ロジックの生成を省略します。
設定
既定の設定: オフ
- オン
この設定を有効にすると、コード ジェネレーターは HDL コードからグローバルなリセット ロジックを最小化または削除しようとします。このコードの抜粋は、Simulink® モデルの Delay ブロックに対して生成された Verilog コードに対応します。このコードの抜粋には、HDL Coder でリセット ロジックが削除されたことが示されています。
always @(posedge clk) begin : Delay_Synchronous_process if (enb) begin Delay_Synchronous_out1 <= DataIn; end end
- オフ
このパラメーターを無効にすると、HDL Coder では、HDL コードにグローバルなリセット ロジックが生成されます。この Verilog コードの抜粋には、Delay ブロックに対して生成されたリセット ロジックが示されています。
always @(posedge clk or posedge reset) begin : Delay_Synchronous_process if (reset == 1'b1) begin Delay_Synchronous_out1 <= 1'b0; end else begin if (enb) begin Delay_Synchronous_out1 <= DataIn; end end end
依存関係
[グローバル リセットの最小化] を選択すると、生成された HDL コードには、リセット端子をもたないレジスタが含まれます。これらのレジスタを初期化しない場合、HDL のシミュレーション結果には数値の不一致が生じる可能性があります。レジスタのリセットによらない初期化設定を使用してレジスタを初期化してシミュレーションの不一致を回避できます。
既定では、[レジスタのリセットによらない初期化] 設定には値 [モジュール内に初期化を生成]
があるため、コード ジェネレーターによって、DUT に対して生成された HDL コードの一部としてレジスタが初期化されます。レジスタをスクリプトで初期化するには、[レジスタのリセットによらない初期化] を [外部スクリプトを生成]
に設定します。Simulink モデルのブロックに対して 0 の初期値を使用しなければなりません。
例外
[グローバル リセットの最小化] を選択すると、次がある場合に HDL Coder がリセット ロジックを生成することがあります。
非ゼロの [初期条件] が設定された Delay ブロックなど、非ゼロの初期値の状態をもつブロック。
状態をもつブロックの列挙データ型。
リセット信号を要求する
[BlackBox]
HDL アーキテクチャをもつ Subsystem ブロック。[タイミング コントローラーのアーキテクチャ] が
default
に設定されたマルチレート モデル。[タイミング コントローラーのアーキテクチャ] を
resettable
に設定すると、HDL Coder はタイミング コントローラーのリセット端子を生成します。[グローバル リセット信号の最小化] を'on'
に設定すると、コード ジェネレーターはこのリセット端子を削除します。Truth Table
Chart
MATLAB Function ブロック
コマンド ライン情報
プロパティ: MinimizeGlobalResets |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、sfir_fixed
モデル内にある symmetric_fir
サブシステムの HDL コードを生成するときにグローバル リセット信号を最小化するには、次のいずれかの方法を使用します。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'MinimizeGlobalResets','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','MinimizeGlobalResets','on') makehdl('sfir_fixed/symmetric_fir')
依存関係
このオプションは、[HDL コーディング標準] が [業界標準]
に設定されている場合は無視されます。