同期式と非同期式
非同期式順序回路
– 入力が変化すると(遅延後)即座に回路が動作
同期式順序回路
– クロックに同期して回路が動作 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 出力が出る
X
なので
Y
は常に0
のはず 0
X
X
種々のハザード
静的ハザード
– 出力が変化するべきでないときに発生
動的ハザード
– 出力が変化する途中で発生
静的0ハザード 静的1ハザード 動的ハザード
ハザードの解消
X Y
バッファを挿入して AND回路への
入力遅延を揃える
バッファの遅延 =NOT 回路の遅延 ならこれで OK しかし現実の回路では
遅延を完全に揃えることは不可能 X
X Y
X
競合 (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
Q Q
T R
Q T
S
Q
S SRFF R
Q Q TFF
T
T S R Q Q
これで問題無し?
しかし T =1 が 長時間続くと …
Q T
R
Q T
S
Q
Q
S SRFF R
Q Q TFF
T
T S R Q Q
T =1 が続くと発振 (0 と 1 の繰り返し )
Q T
R
Q T
S
Q Q
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 時に出力変化
ネガティヴ ( 立ち下り ) エッジトリガ
– クロック 1→0 時に出力変化 J 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
001
1
1
オンライン試験
試験日 : 7 月 15 日 ( 木 )
試験時間 : 60 分
試験範囲 : 第 1 ~ 13 回
配点 : 70 点満点
補講 ( 第 15 回 )
第 15 回は動画視聴
– GoogleClassroom 上に動画があります。
– 動画を視たら、課題テストを受けてください 課題テスト:7月29日(木)15時〆切