4ビット 非同期式リセット・レジスタ(多ビットバスサンプル)

< 機能解説 >

ファイル名
FF_4bit_ar.nsl
機能
フリップフロップ4個を用いたレジスタ回路.非同期リセット機能付き
信号機能
D_in[4] = データ入力信号
ENB_in = データ保持の有効入力信号
Q_out[4] = データ出力信号
解説
4個のフリップフロップを用いて,クロックに同期してD_in信号の値をQ_outに反映します。
ENB_inがHレベルのときはD_inの値をQ_outに反映し,ENB_inがLレベルのときはQ_inは値を保持し続けます。
留意点
NSLではクロックと非同期リセットは暗黙で使用されます。
reg構文で宣言されたレジスタは,初期値を与えることが可能です。
この初期値は,非同期リセット(p_resetが標準の信号名)有効時にレジスタの出力がこの値に設定されます。
同期式リセットを行ないたい場合には,FF_4bit_SR.nslを参照してください。
Q_outのような出力信号に対して直接レジスタ記述は行なえません。
(I/OピンにF/Fがあるかどうかはシリコン次第であるため)
レジスタの値を出力したい場合には,内部で宣言したレジスタの値を出力信号に接続する論理式を書きます
reg構文で宣言されたレジスタは,下記のようにビットごとに分解して値の代入を行なうことはできません。
→ ”ERROR!!!!! Flip-Flop equation”を参照してください。
if ( ENB_in ) {
Dtype_FF[3] := D_in[3] ; // Capture NEW data. Bit3
Dtype_FF[2] := D_in[2] ; // Capture NEW data. Bit2
Dtype_FF[1] := D_in[1] ; // Capture NEW data. Bit1
Dtype_FF[0] := D_in[0] ; // Capture NEW data. Bit0
}