/  11
 
情報実験第3第二回レポート
アンサルーラ イサログイン番号
e10 02
0
 
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 q2011110001110
信号
q1,q2
の変化はボードユニットの
verilog
記述において次の記述によって定義される。
always @(posedge ck)beginq1<=q2;q2<=~q1end
1
 
以上の
begin
end
の文の間の
2
つの代入文は’
¡=
’を使い、
2
つの代入は並列に実行される。図
1
を見ると、信号
clk1,clk2
の変化は次のようになっている。区間
a-c
c-d
d-e
のように、
q1
q2
のどれかが’
1
の場合
clk1
は‘
0
して
e-f 
のように
q1
q2
が両方’
0
’のときのみ
clk1
は‘
1
’である。次に、区
a-c
d-e
e-f 
のように、
q1
q2
のどれかが’
0
’の場合
clk1
は‘
0
、そして区間
c-d
のように
q1
q2
が両方’
1
’のときのみ
clk1
は‘
1
’である。つまり、
clk1
q1
の反転と
q2
の反転の論理積、
clk2
q1
q2
の論理積である。信号
clk1,clk2
の変化はボードユニットの
verilog
記述において以下の記述によって定義される。
assign clk1 = ~q1 & ~q2;assign clk2 = q1 & q2;
2
メモリー制御信号について
以下の図
2
を参照して、信号
mar load bar
mrd
mwr
について説明する。まず、
mar load bar
について説明するが、
mar load bar
は信号
mar load
の反転である。信号
mar load
は制御ユニットによって制御され、
clk2
の立ち上がりでその値が決定される。図
2
の時点 
a
mar load bar
が’
0
’に設定された状態を表す。この時点での
lbus[7:0]
の値は’
h03
’である。この状態で、ボードユニットにおいて次の信号
clk1
の立ち上がり(時点 
b
)で
lbus[7:0]
の値はメモリアドレスレジスタ
mar
に転送され、
mar[7:0]
は’
h03
’になった。よって、アクティブ(
’0
)のとき、信
mar load bar
は次の
clk1
の立ち上がりで
lbus
の内容(演算ユニットの出力)をメモリアドレスレジスタ
mar
に転送するという機能を持つ。
mar
の内容は信号
address
に反映される。信号
mrd
mar load
と同様に、制御ユニットによって制御され、
clk2
の立ち上がりでその値が決定される。
mrd
が’
1
’の場合、
oemem
も’
1
’になり、次の
clk2
の立下りでその値が
en mem
に代入される。次に、
100ns
en mem
の値が評価され、
1
’の場合
mem[address]
の内容は
dbus
に代入される。
2
の時点 
c
mrd
が’
1
’のとき状態を表す。その時点で
oemem
も’
1
’になり、次の
clk2
の立下り(時点 
d
)でその値が
en mem
に代入され、
en mem
が’
1
’になった。
100ns
en mem
の値が評価され、
2

Share & Embed

More from this user

Add a Comment

Characters: ...