6. 順序回路

1
論理回路学
6. 順序回路
佐藤証 ⻄9-613
[email protected]
組合せ回路と順序回路
 組合せ回路
- 出⼒はその時点の⼊⼒によって決定する
① ⼊出⼒の関係を表す真理値表を作る
② 出⼒を⼊⼒の論理式で表す
③ カルノー図などで簡単化(論理圧縮)する
④ MIL記号等による論理回路を構成する
 順序回路
- メモリのように前の状態を内部に保存する機能を持つ
- 出⼒は⼊⼒と内部状態によって決定する
- 順序回路の中には組合せ回路も含まれる
⼊⼒信号
内部状態
出⼒信号
2
3
フリップフロップ
 組合せ回路は⼊⼒が変化すると出⼒が直ちに変化するが,記憶回路
は⼊⼒が変化しても前の状態を保持する
 1ビットのデータを記憶する回路をフリップフロップ(FF:Flip-Flop)
と呼ぶ
 FFはQ=0とQ=1の⼆つの安定状態を持ち,⼊⼒に応じてどちらかの
安定状態となる
ぎったん
ばっこん
Reset
Set
Set
保持
Reset
遷移
保持
Set
Reset
RSフリップフロップの状態遷移図
4
RSフリップフロップ




Reset-Setフリップフロップ(RS-FF)は⼊⼒RとS,出⼒QとQを持つ
R=1でリセット(Q=0, Q=1),S=1でセット(Q=1, Q=0)
R=S=0で前の状態が保持される
R=S=1は状態が定まらないので禁⽌⼊⼒
S R Q Q 動作
0 0 Q Q 保持
0 1 0 1 Reset
1 0 1 0 Set
1 1 不定 禁止
次のサイクルで
S=1, R=0のとき
0
1
S
0
R
1
1
Q
1
0
NANDは⼀⽅の⼊⼒
が0ならば出⼒は1
S=0, R=1のとき
Q
0
S
1
R
0
Q
Q
0
1
A
0
0
1
1
B
0
1
0
1
F
1
1
1
0
5
RSフリップフロップ
S=0, R=0のとき
 出⼒Qが0か1かを仮定して信号を追うとつじつまが合う
1
0
S
0
R
1
0と仮定
Q
Q
1
1
0
S
0
R
1と仮定
Q
1
0
Q
S=1, R=1のとき
0
 Q=1,Q=1で安定
1
S
1
R
 次にS=0,R=0にすると,上のNANDが
先に動作すればQ=0,Q=1に,下が先な
らQ=1,Q=0となり出⼒が定まらない
 このためS=1,R=1は禁⽌⼊⼒
1
Q
Q
0
1
6
RSフリップフロップ
②
①
1
④ ① ③
③
① ③②④
①
0
1
0
1
0
1
0
時間
③ ②④②④ ① ③
④
7
演習1 (解答)
 NORによるRS-FFの各状態とタイムチャートを書きなさい
①
0 R
②
1
Q
1 S
0
Q
1 R
③
0
Q
0 S
1
Q
0 R
④
1
Q
0 S
0
Q
0
0 R
Q
0 S
1
Q
R=S=1は禁⽌⼊⼒
1
③ ② ④
② ④①③
②
④ ①③①③ ② ④
0
1
0
1
0
1
0
8
RSフリップフロップ
 R=S=1とすると出⼒はQ=Q=1となる
 次にR=S=0とすると通常は状態の保持だが、Sが早く0になるか
Rが早く0になるかによって出⼒が異なってしまう
SがRよりも早く0に変化した場合
1 R
どっちにころぶ
かわからない
0 S
0
Q
1
Q
0 R
0 S
0
Q
1
Q
RがSよりも早く0に変化した場合
0 R
A
0
0
1
1
B
0
1
0
1
F
1
0
0
0
1 S
1
Q
0
Q
RS-FFでS=R=1は禁⽌
0 R
0 S
1
Q
0
Q
9
クロック入力付RSーFF
 クロック(トリガパルス)T(の⽴ち上がりまたは⽴下り)に同期
して出⼒QとQが変化する
 クロックが⼊らなければ,⼊⼒SとRが変化しても出⼒に影響しない
 通常のLSI設計はクロック同期式で⾏う
三⾓はクロック
⼊⼒を意味する
1
0
1
0
1
⽴ち上がりでの同期を明
⽰するときは▲をつける
0
1
⽴ち上がりに
同期して変化
変化なし
0
演習2 (解答)
 クロックの⽴下りに同期するRS-FFのタイムチャートを
完成させなさい
1
⽴下がりでの
同期を⽰す○
0
1
0
1
0
1
0
10
11
セット優先/リセット優先RSーFF
 S=R=1のときに状態が定まるように,NANDを挿⼊して次の段に
伝わる信号を制御する
 S=R=1のとき以外は通常のRS-FFと同じ動作をする
1
0
両方が同時に0
になるのを避けたい
S
0
0
1
1
Q
1
R
セット優先
1
S
Q
1
0
R
0
1
0
1
Q
Q
0
1
1
Q 動作
Q 保持
1 Reset
0 Set
0 Set
リセット優先
S
0
0
1
1
R
0
1
0
1
Q
Q
0
1
0
Q 動作
Q 保持
1 Reset
0 Set
1 Reset
NANDの挿入で
0となるのを禁止
12
演習3 (解答)
 次のNORを⽤いたRS-FFのR=S=1のときの動作を調べて
どちらがセット優先かリセット優先か答えなさい
1
R
Q
1
S
1
0
0
1
Q
R
0
1
Q
1
S
0
Q
13
JK-FF
 RS-FFは⼊⼒R=S=1が禁⽌されていたが,JK-FFは出⼒を反転する
動作が割り当てられている
J
0
0
1
1
J
K
Q
Q
1
K
0
1
0
1
Q
Q
0
1
Q
Q
Q
1
0
Q
動作
保持
Reset
Set
反転
① ③ ④ ② ①③ ④ ③①②①③ ①
0
①
②
③
④
1
0
1
0
保持
Reset
Set
反転
1
0
14
クロック入力端子付きJK-FF
 クロック(の⽴ち上がりまたは⽴下り)に同期して出⼒が変化
J
0
0
1
1
K
0
1
0
1
Q
Q
0
1
Q
Q
Q
1
0
Q
動作
保持
Reset
Set
反転
② ③ ① ① ④ ③ ② ③
クロックの立ち上がりに
関係なく変化しているので
出力に影響しない
①
②
③
④
保持
Reset
Set
反転
15
いろいろなJK-FF
J
K
T
Q1
 J,Kはローカルなデータに⽤いる
 S,Rはシステムで全FFのデータをセッ
ト/リセットするときに⽤いる
Q1
T
Q
Q
 クロックのエッジに出⼒が同期するエッジ
トリガ型ではなく,クロックが1のとき⼊
⼒がばたつくと出⼒もばたつくFFもある
 そのようなときは誤動作を避けるためマス
タースレーブ型とする
16
各種のFF
ポジイティブ
エッジ型
ネガティブ
エッジ型
ポジイティブエッジ型
 D-FF(Delay:遅延)はクロックが⼊るごとに
データDを取り込みQに出⼒する
D
T
ネガティブエッジ型
S
R
Q
 T-FF(Trigger)はクロックが
⼊るごとに出⼒が反転する
Tと⾮同期に
セット
リセット
Q
 クロックに優先してFFのセット/リセットができる
17
演習4 (解答)
 次の回路のタイムチャートを完成させなさい
D=1の⼊⼒時間が⻑くても短くても1回パルスQを出す“微分回路”
ゲート入出力遅延
 ⼊⼒信号の変化から出⼒変化までは遅延時間がある
遅延
×
遅延
遅延
○
遅延
18
19
状態遷移図
 システムの取りうる状態とその状態間の遷移関係を⽮印で⽰したもの
 ⽮印には「イベント(⼊⼒)/動作(出⼒)」を書く
 ストップウォッチはSTART-STOPとRESETの2つのボタンを持つ
 「待機中」にSTART-STOPボタンを押下すると計測を開始する
 「計測中」にSTART-STOPボタンを押下すると計測を⼀時停⽌する
 「⼀時停⽌中」にSTART-STOPボタンを押下すると計測を再開する
 「⼀時停⽌中」にRESETボタンを押下すると針を0の位置にリセットする
 「計測中」にRESETボタンは効かない
 「待機中」にRESETボタンを押しても状態は変化しない
RESETボタ
ン押下/なし
START-STOPボタン押下
/計測開始
RESTボタン
押下/なし
START-STOPボタン
押下/計測停止
RESETボタン押下/
計測時間表示リセット
START-STOPボタン
押下/計測開始
状態遷移図
 順序回路を状態遷移図で表記して動作を解析,あるいは状態遷移図か
ら順序回路を設計するときにはFFの値が「状態」を表す
 ⼊⼒と出⼒によってその状態間がどう遷移するかを調べる
 CS実験第⼀J1課題の回路の動作を調べる
- ⼊⼒はE,出⼒はQ1Q0
- 状態はQ1Q0(D-FFから直接なので出⼒と⼀致)
- 2bitなので最⼤で4状態だが,全ての組合せを取らない場合もある
20
21
状態遷移図
 組み合わせ回路の部分をE=0とE=1の場合に分けて簡単にする。
Q1
Q0
状態遷移図
 真理値表からE,Q1Q0とD1D0の関係を求める
前の状態を保持
E
0
1
1
1
1
Q 1 Q 0 D1 D0
Q1 Q0 Q1 Q0
0 0 0 1
0 1 1 0
1 0 1 1
1 1 0 0
Q1
Q0
D1
D0
(D1D0)2=(Q1Q0)2+1 mod 4
0
0
0
1
1
1
0
0
0
1
1
1
1
0
0
D1
D0
22
23
状態遷移図
 現在の状態Q1Q0と次の状態D1D0から状態遷移図を作る





クロックTが⼊る毎に状態が変化する
状態はQ1Q0={00,01,10,11}の4つ
⼊⼒はE={0,1}
E=0ならば状態は変わらない
この回路では状態Q1Q0がそのまま出
⼒になっている。
E Q1 Q0 D 1 D 0
0 Q1 Q0 Q1 Q0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 1
1 1 1 0 0
0/00
0/01
1/00
1/01
1/11
0/11
1/10
E/Q1Q0
⼊⼒
現在の出⼒
0/10