同期式と非同期式
非同期式順序回路
– 入力が変化すると ( 遅延後 ) 即座に回路が 動作
同期式順序回路
– クロックに同期して回路が動作 X
X +Y Y
X
X +Y Y
遅延 クロック
遅延
クロック時以外は 出力に影響無し
同期式と非同期式の長所と短 所
非同期式
– 入力が変化すれば出力も変化
長所 : 反応が早い
短所 : タイミングをうまく取らないと動作不 安定
同期式
– 入力変化後、クロック信号で出力変化
長所 : 動作が安定し易い
短所 : クロックを待つ分反応が遅れる
非同期式順序回路の不安定性
発振
– 出力が安定せず 0 と 1 とを繰り返す
ハザード
– 遅延時間の差により一瞬不正な値が出る
競合
– 2 つ以上の状態変数が同時に変化する
不安定な状態
TFF への 1 入力
– 同期式 : クロックが入るたびに値反転 – 非同期式 : 短い間隔で値反転
T Q Q
クロ ック
T Q Q
発振
ハザード
X Y
X
Y X
NOT の遅延 AND の遅延
NOT の遅延時間分の 1 出力が出る
なので
Y
は常に0
のはず種々のハザード
静的ハザード
– 出力が変化するべきでないときに発生
動的ハザード
– 出力が変化する途中で発生
静的 0 ハザード静的 1 ハザード動的ハザード
ハザードの解消
X Y
バッファを挿入して
AND 回路への
入力遅延を揃える
バッファの遅延 =NOT 回路の遅延 ならこれで OK しかし現実の回路では
遅延を完全に揃えることは不可能
X Y
競合 (race)
2 つ以上の状態変数が同時に変化す る
– 例 : 00 から 11 への変化
1. 両者が同時に 11 になる
2. 一瞬 01 になりその後 11 になる
3. 一瞬 10 になりその後 11 になる
00
11
10 01
際どい競合 (Critical race)
状態変化のタイミングにより遷移・出 力が変わってしまうような競合
00
11
10 01
遷移 00→11
遷移 00→01→11 遷移 00→10→11
で結果が変わってしまう
TFF における競合
S SRFF R
Q Q TFF
T
初期値 : Q=0, T=0 (S,R =0)
T=1 に変化すると、 S=1,R=0 になるはず…
SRFF を用いた TFF
S SRFF R
Q Q TFF
T
T S R Q Q
これで問題無し?
しかし T =1 が
長時間続くと…
S SRFF R
Q Q TFF
T
T S R Q Q
T =1 が続くと発振 (0 と 1 の繰り返し )
S,R が同時に変化
S,R の変化に
時間差があると?
T S R Q Q T S R Q Q
R が一瞬先に変化
S が一瞬先に変化
一瞬 11 に 不正な値
0→1→ 不正な値
一瞬 00 に 一瞬 11 に 不正な値
0→1→0→ 不正な値
クロック速度の不整合
同期式でも、クロックが合わないと不安 定に
T
Q Q
クロ ック
S R
速過ぎるクロック
2 クロックにつき 1 回の動作 T
Q Q
クロ ック
S R
遅過ぎるクロック
クロックが 1 の間発振
同期式 FF での競合
同期式でもクロックが合わないと競合 発生
クロ ック
D1 Q1
CK
D
Q1 Q2 Q3 Q4
この回路へのクロックが合わないと?
例 : シフタ
D2 Q2
CK
D3 Q3
CK
D4 Q4
CK
シフタの正常な動作
出力 Q1 出力 Q2 出力 Q3 クロック
入力 D
Q1 の値が 1 クロ ック遅れで Q2 に伝
播
速過ぎるクロックに対する シフタの動作
出力 Q1 出力 Q2 出力 Q3 クロック
入力 D
Q1 の値が 2 クロッ ク遅れで Q2 に伝播
遅過ぎるクロックに対する シフタの動作
出力 Q1 出力 Q2 出力 Q3 クロック
入力 D
Q1 の値が同クロッ ク中に Q2 に伝播
競合の回避
マスタースレーヴ FF
– FF を 2 段階にする
エッジトリガ FF
– クロック信号の変化時のみ状態を変化させ る
マスタースレーヴフリップフ ロップ
マスター
(master)FF
– CK=1 で動作
スレーヴ (slave)FF
– CK=0 で動作 , マスター FF の値をコピー JM QM
QM KMCK
QS QS
CK
JS KS J
K
Q Q
クロック
マスター FF スレーヴ FF
マスタースレーヴ JKFF
マスタースレーヴ JKFF の動 作
KM QM=JS
QS QS JM
QM=KS
クロ ック
クロック 1 で QM,QM が動作
クロック 0 で QS,QS が動作
マスタースレーヴ JKFF の構 成
J
K
Q +
Q + MSJKFF
クロック
マスター FF スレーヴ FF
マスタースレーヴ FF の特徴
長所
– 競合を回避できる
短所
– クロックパルスの幅分の遅延が生じる
クロック 0 で出力 が変化することを
示す J Q
CKQ K
マスタースレーヴ JKFF
エッジトリガフリップフロッ プ
クロックパルスの立ち上がりで出力変 化
T Q Q
クロ ック
クロック 0→1 時の み
出力が変化する
ポジティヴエッジトリガと ネガティヴエッジトリガ
ポジティヴ ( 立ち上り ) エッジト リガ
– クロック 0→1 時に出力変化
ネガティヴ ( 立ち下り ) エッジト リガ
– クロック J1→0 Q時に出力変化
CKQ K
ポジティヴ エッジトリガ JKFF
J Q
CKQ K
ネガティヴ エッジトリガ JKFF
クロ ック
クロ ック
ポジティヴエッジトリガ JKFF の構 成
J
K
Q +
Q + PETJKFF
クロック
エッジトリガ回 路
非同期式順序回路の解析
同期式回路
– 1 クロックにつき動作1回
非同期式回路
– 安定状態になるまで遷移し続ける q0 0/0 q1 0/1 q2 0/0 q3
0/1 安定状態 同期式 : 0 入力で q1 へ遷移 , 出力 0
非同期式 : 0 入力で q3 まで遷移 , 出力 1 過渡状態
例題 非同期式順序回路の状態遷移
S0 Q0 Q0 R0
Q1 Q1 S1
R1 I
O
I Q0 Q1 Q0’ Q1’ O
0 0 0
1
0 0 1
1
I Q0 Q1 Q0’ Q1’ O
0 1 0
1
0 1 1
0 1 0
1
0 0
0
0 0
1
0 0
0
1 1
1
0 1
0
0 1
1
0 1
0
フロー表
現状態 Q
0Q
1過渡状態 Q
0’Q
1’ I = 0 I = 1
0 0 0 0 1 0
0 1 0 0 1 0
1 0 0 1 1 1
1 1 0 1 1 1
安定状態は I=0, Q=00 と I=1, Q=11 のみ
フロー図
00
11
01 10
0
0
0 0
1 1
1
1
状態遷移表 , 状態遷移図
現状態 Q0 Q1
次状態 Q0+Q1+ 出力 O
I = 0 I = 1 I = 0 I = 1
0 0 0 0 1 1 0 1
0 1 0 0 1 1 0 1
1 0 0 0 1 1 0 1
1 1 0 0 1 1 0 1
00
0/011
0/0 1/1 1/1
例題 非同期式順序回路の状態遷移
S Q Q R
I O
I Q Q ’ O
0 0
1
0 1
1 0 1
0 1
0 0
1
0
フロー表 , フロー図
現状態 Q
過渡状態 Q ’ I = 0 I = 1
0 0 1
1 0 0
I =0 のとき Q =0 で安定
I =1 のときは安定しない ( 発振 )
0 1
0
0 1 1
非同期式 2
n進カウンタ
同期していないフリップフロップの集 まり
– 入力が 1 になった数を計測する
Q0 SW
T0 Q0 ck0
1 1
Q1 T1 Q1
ck1
Q2 T2 Q2
ck2
Q3 T3 Q3
ck3 Q 出力が次の
クロック入力 に
非同期式 2
n進カウンタの動 作
出力 Q0 出力 Q1 出力 Q2 入力 SW
出力 Q3
遅延
遅延 *2
遅延 *3
遅延 *4
非同期式 10 進カウンタ
2 進カウンタ +5 進カウンタの組み合
SW
わせ
1
J0 K0
Q0
ck0Q0
J1 K1
Q1
ck1Q1
J2 K2
Q2
ck2Q2
J3 K3
Q3
ck3Q3
2 進回路 5 進回路
Q0 1
Q1 Q2 Q3
非同期式 10 進カウンタの動 作
出力 Q0 出力 Q1 出力 Q2 入力 SW
出力 Q3
遅延
遅延 *2
遅延 *2
1 2 3 4 5 6 7 8 9 0
遅延 *2
要求調整回路
複数の要求を先着順で 1 つだけ受け付け る
– 入力
reqA : A が要求
reqB : B が要求
res : 要求リセット (A,B 共通 ) – 出力
acA : A の要求受付
acB : B の要求受付
条件:
acA と acB が ( 一瞬でも ) 同時に 1 になってはいけない
要求調整回路の回路図
reqA reqB
acA acB
条件:
acA と acB が ( 一瞬でも ) 同時に 1 になってはいけない
これでうまくいきそうだが…
NOT ゲートの遅延があるので
acA, acB が同時に 1 になる可能性
要求調整回路の回路図
S0 R0
Q0 Q0 S1
R1
Q1 Q1 reqA
reqB
res
acA acB
要求調整回路の動作
reqA reqB res
Q0 Q1 acA acB
A が要求
A の要求受付
B が要求
A の要求受付中なので B の要求は通らない
演習問題 非同期式順序回路の状態遷移
J0 Q0 Q0 K0
Q1 Q1 J1
K1
I
O
I Q0 Q1 Q0’ Q1’ O
0 0 0
1
0 0 1
1
I Q0 Q1 Q0’ Q1’ O
0 1 0
1
0 1 1
1 0
1 1
0 1
0
1 1
1
0 1
0
0 0
0
0 0
1
0 0
0
0 0
1
フロー表
現状態 Q
0Q
1過渡状態 Q
0’Q
1’ I = 0 I = 1
0 0 1 1 0 1
0 1 1 1 0 1
1 0 1 0 0 0
1 1 1 0 0 0
安定状態は I=0, Q=10 と I=1, Q=01 のみ
フロー図
00
11
01 10
01
0 0
1 1
0 1
状態遷移表 , 状態遷移図
現状態 Q0 Q1
次状態 Q0+Q1+ 出力 O
I = 0 I = 1 I = 0 I = 1
0 0 0 1 1 0 1 1
10
0/001
0/0 1/0 1/0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 0
0 0
0 0
0
0
演習問題 : 非同期式順序回路の状態遷 移
下図の回路のフロー図を描け。
D Q Q
I O
I Q Q ’ O
0 0
1
I Q Q ’ O
0 1
1
1 0
1 0
0 1
1 1
フロー表 , フロー図
現状態 Q
過渡状態 Q ’ I = 0 I = 1
0 1 1
1 0 1
I =0 のときは安定しない ( 発振 ) I =1 のときは Q=1 で安定
0 1
0 0
1
1
オンライン試験
試験日 : 7 月 15 日 ( 木 )
試験時間 : 60 分
試験範囲 : 第 1 ~ 13 回
配点 : 70 点満点
補講 ( 第 15 回 )
第 15 回は動画視聴
– GoogleClassroom 上に動画があります。
– 動画を視たら、課題テストを受けてくだ さい
課題テスト: 7 月 29 日 ( 木 )15 時〆切