View
0
Download
0
Category
Preview:
Citation preview
論理回路第10回
順序回路入門
順序回路:1つ以上の入力とすくなくとも1つの出力を持ち、
各出力の論理値が現在の状態と現在の入力の組合せによって決まる回路。
出力
状態
入力 0
S0
1
S0
0
S1
0
S1
1
S1
0
S2
1
S2
1
S3
0
S1
1
S1
0
S2
1
S2
...
...
S3
入力 出力
状態
入力 出力
組合せ回路 順序回路
組合せ回路
組合せ回路
時系列
現在の入力が決まると
(遅延はあるが)出力は一意に決まる入力の履歴(状態)と現在の入力で出力が決まる
0 0 0 0 0 0 1 0 0 0 0 1
⇒1が3個入ると出力1を出す回路
1 2 3 4
9 0 1 2
6 7 8 9
3 4 5 6
2
34
56
1
7
組合せ式と順序式のアナロジー:2種類の鍵
番号の与え方の順番は関係なし
その時点で番号が揃っていればOK
その時点での入力だけで鍵の開放が決まる
⇒組合せ式機械
番号の与え方に順番がある
リセットして、右、左、右…に番号を合わせる
入力シークエンスで鍵が開放される。
⇒順序機械
内部で過去の履歴を記憶
A)シリンダー錠B)ダイヤル式鍵
87654321 XXXXXXXXF ⊕⊕⊕⊕⊕⊕⊕=
パリティ回路(組合せ回路で)
8個の入力が同時に得られる場合
)))))))((((((( 87654321 XXXXXXXXF ⊕⊕⊕⊕⊕⊕⊕=
パリティ回路(順序回路で)
入力が1個づつ到着する場合、間隔分の遅延回路と1個のXORで
1X F⊕遅延
直ちに結果が得られる、ゲート数は多い
結果は最後に出る。同じ回路の使い回し。出力はその都度変化。
それぞれの入力に対し出力は多様な値をとる。
2X3X4X5X6X7X8X
遅延と記憶
遅延AB F
A
B
F∆
論理ゲートは遅延がある1/2
論理ゲートは遅延がある2/2
X X’
Time
X
Time
X’
ε1 ε2
遅延
普通はゲートの遅延がドミナントだが、高速LSIでは配線/容量による遅延も無視できなくなる。
回路内にフィードバックループが存在すると
X
X
?
Time
X
NOTゲートが奇数個のループは発振する。
偶数個の場合は?
2個のNOTゲートのループ回路の振る舞い
X
Y
1 1 00 0 0 11
X=1 で安定 X=0 で安定双安定な回路⇒外部の刺激で安定状態を制御したい
⇒フリップフロップ⇒記憶回路
⇒記憶回路を含む回路を順序回路と言う
2個のNORゲートのループ
PQ
SR
S,Rの入力が“0”の時のゲート出力は?
(1) P=0とした時;0
0
0
P=0 and Q=1で安定1
(2) P=1とした時;
P=1 and Q=0で安定
01
双安定回路⇒Set Reset Flip Flop:
記憶回路
一番単純な非同期式順序回路(非同期式RSフリップフロップ)
R
S
Q
~Q
ケース1:Q=0、RS=00→01→00
と変化した場合
0
0
0
10
1
→1 →0
→0→1
→1→0
ケース2:Q=1,RS=00→10→00
と変化した場合
0
0
1
0
0
1
→0→1
→0 →1
→1→0
2つの安定状態を持つ1ビットメモリ ⇒フリップフロップ
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
)(
)()(
2
1
tx
txtx
n
M
M
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
)(
)()(
2
1
ts
tsts
m
M
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
)(
)()(
2
1
to
toto
k
M
M
入力X, 出力O, 状態Sとすると
=S =X =O
)](),([)( tStXHtO =
]),(),(),([)( 21 K∆−∆−= tXtXtXutS
過去の入力が状態で保持されるとすると
)](),([)()( 1 iiiii tStXGtStS =∆+=+
H
G
∆
X
S
O
出力は入力と状態で決まる。
状態はこれまでの入力系列で決まる。
次状態は現在の入力と現状態で決まる。
)(),(),(),(),( 1234 tXtXtXtXtX ∆−∆−∆−∆−L )(),(),(),()( 1234 tOtOtOtOtO ∆−∆−∆−∆−L
状態の記憶の方法:記憶回路の実現方法は各種存在
1.遅延回路:文字通り信号を遅らせて再び入力側に返す。
2.専用のメモリ素子(フリップフロップ)を用いる(これが一般的)
遅延線など
組合せ回路
フリップフロップ
組合せ回路
1)遅延素子+
組合せ回路
2)フリップフロップ+
組合せ回路
次状態
y1
y2
入力
現状態
順序回路の例(遅延回路を使った場合)
非同期式順序回路
記憶回路(遅延回路):情報を遅延させること。
入力
出力
記憶回路
(遅延回路)
状態決定回路
(組合せ回路)
ミーリー型
出力決定回路
(組合せ回路)出力
記憶回路
(遅延回路)
状態決定回路
(組合せ回路)
ムーア型
出力決定回路
(組合せ回路)
入力
現在の時刻から次の状態に対応する情報を遅らせて次の時刻における現在の状態に対応させること。
過去の状態を全て記憶する必要は無く、現状態と次状態への状態変化を管理すれば順序回路が構成できる(有限状態遷移)。
2値なのでn個(ビット)あると2n通りの状態を記憶することができる。
状態数が多いほど複雑な動き
同期式順序回路/非同期式順序回路
現状態から次状態への遷移が時刻で定められず連続的に進むもの
⇒非同期式順序回路
状態変化は一定周期のクロックで一斉に起こるもの
⇒同期式順序回路
同期式の方が速度が遅くなる場合があるが、設計、解析が容易
(今後、特に断らない限り同期式順序回路に対象を限る)
出力
状態
入力 0 1 0 0 1 0 1 1 0 1 0 1
S0 S0 S1 S1 S1 S2 S2 S3 S1 S1 S2 S2
0 0 0 0 0 0 1 0 0 0 0 1
...
...
S3
状態遷移表(State Transition Table)
S3
S2
S1
S0
力入力入
力出状態次の現在の状態
S0 S1
S1 S2
S2 S3
S0 S1
0 1 0 1
0 00 0
0 10 0
力入
/出力次状態現在の状態
S0
S1
S2S3
S0/00 1
S1/0S1/0 S2/0
S2/0 S3/1S0/0 S1/0
状態遷移表の表記法2: 次状態と出力をまとめることも
Qj/Oq
01
状態
Qj/Or
10力
/
Qj/OsQj/OpQi
1100入
出力次の現在の状態
2入力の場合の状態遷移表の例
入力の組合せで場合分けする。
力入
/出力次状態現在の状態
S0
S1
S2S3
S0/00 1
S1/0S1/0 S2/0
S2/0 S3/1S0/0 S1/0
右で示す順序回路は4状態あるので2ビットで表現できる。
2個の状態保存用メモリ
Q2 ,Q1を用いて状態を表すこと
ができる。(状態割当)
Q2 ,Q1
S0→“00”
S1→“01”
S2→“10”
S3→“11”
01/000/01 111/110/01 010/001/00 101/000/00 010Q2 Q1
力入
/出力次状態現在の状態
状態の割当
力入力入
力出状態次の現在の状態
例) 1が3回続くと出力1を出す回路
S0
S1
S2S3
S0 S1
S0 S2
S0 S3S0 S3
0 1 0 1
0 00 00 10 1
入力と現在の状態で出力が決まるもの⇒ミーリー型順序回路
現在の状態だけで出力が決まるもの ⇒ムーア型順序回路
←ミーリー型
Q
Q+R
S
FF
SRフリップフロップの動作
-11
101
010
Q00
Q+RS
SR=1は禁止入力
Q+は次状態を示す。
特性表(真理値表でない)
0/1以外の値が入っているので真理値表で無い
-111-011110110010110001011000000Q+
Q(t+ε)QR S
RS FFの真理値表(展開特性表)
)()()()( tQtRtStQ ⋅+=+ε
QRSQ ⋅+=⇒ +
ある時刻t と遅延ε後の次の状態の関係
1-11
1-0
10110100SR
Q
Q+
実現1
実現2
実現31
各種のフリップフロップ(1/3)
A) Dフリップフロップ
Q
Q
D
11
00
Q+D
現状態によらず入力Dの値が次の状態になる。
データを記憶/保存するのに便利⇒ラッチ(Latch)と呼ぶことも
各種のフリップフロップ(2/3)
B) Tフリップフロップ
Q
QT
1
0
Q+T
Q
Q
Tが0だと状態は不変
Tが1になると状態が反転(トグル)する注)Tが1のままだとQが次々と反転して発振してしまうことになる。
Tを非常に狭い幅のパルスとするか、
上がりエッジを検出する特別な回路構成にするか、
別途クロックを用いてクロックに同期させて状態変化を起こすか、
もう一段フリップフロップを付加して状態変化をずらせる、
などの対応が行われる。カウンタ回路には便利だが一般の回路には使い難い
C) JKフリップフロップ
各種のフリップフロップ(3/3)
Q
QK
J
11
101
010
00
Q+KJ
Q
Q
J,Kともに0の時は状態は不変
Kが1になるとリセット、Jが1になるとセット←(RS FF)
J,Kともに1になると状態が反転←(T FF)
入力要求表の作成
フリップフロップを用いて順序回路を構成する場合、
現状態から次状態へ変化を起こさせるための入力条件が必要となる。
⇒それぞれのフリップフロップについて現状態、次状態から入力条件を列挙したものが入力要求表。
S
11
01
10
00
RQ+Q →
-11
101
010
Q00
Q+RS
RS FFの特性表 RS FFの入力要求表
0 -
1 0
0 1
- 0
例)D FFのRS FFによる構成
D S
11
01
10
00
RQ+Q
00
1
0
1
-
1 0
0 1
- 0
DR
DS
=
=
Q
Q
DQ
Q+R
S
FF=
T S
11
01
10
00
RQ+Q
例)T FFのRS FFによる構成
Q
QT
0
1
1
0
0 -
1 0
0 1
- 0
QTRQTS⋅=⋅=
Q
Q+R
S
FF=
例)JK FFのRS FFによる構成
J K S
11
01
10
00
RQ+Q
0 -
1 -
- 1
- 0
0 -
1 0
0 1
- 0
Q
QK
J
QKRQJS⋅=⋅=
Q
Q+R
S
FF=
δ δ
δδ
Q
T
S
R
Q
Q+R
S
FF
クロック付きフリップフロップの必要性
T型FFにおいてT入力は充分に狭いパルスを出す。
もし回路の遅延を以上の幅広い間“1”を保持すると
⇒動作原理上、発振してしまうことになる。
べつのクロック信号を用いて、クロック毎に入力を活性化させると使いやすい。⇒同期式順序回路
Q
Q’
T
CKClock
Clock
T
Q
t1 t2 t3 t4
ε ε
クロック入力付きフリップフロップ
状態変化はクロックに同期
クロックが立ち下がった時から遷移が始まる回路が多い
T入力は任意の幅を持って良い
但しクロックが立ち上がって、下がるまで間とそのわずかな前後
は変化禁止。(動作が保障されない)
以降の議論では特に断らない限りクロックを前提としたFFのみを扱い
クロック信号は明示せず省略することが多い
状態変化のタイミング
Tの変化禁止区間
Recommended