1
クロックについて
クロック信号
clk1, clk2
と信号
ck, q1, q2
の波形を図
1
に示す。まず、信号
ck
の変化について説明する。信号
ck
は’
0
’に初期化される。
500ns
後、時点
a
で信号
ck
は’
1
’に反転し、そして次の
500ns
の時点
b
に’
0
’というように、信号
ck
は
500ns
ごとに反転する。この変化はボードユニットの
verilog
記述において以下の記述によって定義される。ただし、
PERIOD
は
500
、
timescale
は
1ns
として定義される。
always #PERIOD ck = ~ck;
図
1
を見ると、信号
q1,q2
の変化は次のようになっている。時点
a
と
e
において、
ck
の立ち上がり直前に
q2
の値は’
0
’であり、その直後信号
q1
も’
0
’である。同様に時点
c
と
d
において、
ck
の立ち上がり直前に
q2
の値は’
1
’であり、その直後信号
q1
も’
1
’である。そして、時点
a
と
c
において、
ck
の立ち上がり直前に
q1
の値は’
1
’であり、その直後信号
q2
の値は
q1
の反転’
0
’である。同様に時点
d
と
e
において、
ck
の立ち上がり直前に
q1
の値は’
1
’であり、その直後信号
q2
の値は
q1
の反転’
0
’である。つまり、クロックの立ち上がりにおいて、信号
q2
の値を
q1
に代入し、それと同時に信号
q1
の反転を
q2
に代入する。信号
ck
に対し、信号
q1
と
q2
の変化は以下の表にまとめる。
表
1
信号
ck
に対する信号
q1
と
q2
の変化
信号
ck
の立ち上がり直前の状態 信号
ck
の立ち上がり直後の状態
q1 q2 q1 q2’0’ ’1’ ’1’ ’1’’1’ ’0’ ’0’ ’0’’1’ ’1’ ’1’ ’0’
信号
q1,q2
の変化はボードユニットの
verilog
記述において次の記述によって定義される。
always @(posedge ck)beginq1<=q2;q2<=~q1end
1
Add a Comment