780 likes | 1.36k Views
論理回路. 第 9 回 フリップフロップ http://www.info.kindai.ac.jp/LC 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jp. 組み合わせ回路と順序回路. 定義 2.4 ( 組み合わせ回路 ) ある時刻の出力信号が、現在の入力信号だけで決まる回路 定義 3.2 ( 順序回路 ) ある時刻の出力信号が、現在の入力信号だけでなく、過去の入力信号の影響も受ける回路 ( 回路内にバッファ・メモリがある ). 順序回路の例. 暗証番号 9876. 7. 8. 9. 4. 5. 6.
E N D
論理回路 第9回 フリップフロップ http://www.info.kindai.ac.jp/LC 38号館4階N-411 内線5459 takasi-i@info.kindai.ac.jp
組み合わせ回路と順序回路 • 定義2.4 (組み合わせ回路) • ある時刻の出力信号が、現在の入力信号だけで決まる回路 • 定義3.2 (順序回路) • ある時刻の出力信号が、現在の入力信号だけでなく、過去の入力信号の影響も受ける回路 (回路内にバッファ・メモリがある)
順序回路の例 暗証番号 9876 7 8 9 4 5 6 9→8→7→6 の順に 押すと手続き開始 1 2 3 戻る 0 次へ 6→7→8→9や 6789同時押しではダメ
1入力 状態11 状態1 1入力 状態10 0入力 1入力 状態01 状態0 0入力 状態00 0入力 状態 • 定義3.1 (状態) • 論理回路の入力の履歴 初期状態
外部入力 外部出力 順序回路の入出力 • 順序回路 = 組み合わせ回路 + メモリ • 入力 : 外部から+以前の出力から • 出力 : 外部へ+以降の入力へ 組み合わせ回路 メモリ
同期式順序回路 • 定義3.3 (同期式順序回路) • クロックに同期して回路が動作する 順序回路 組み合わせ回路 メモリ クロック信号
遅延 同期式順序回路の動作 入力 X 入力 Y 出力 X +Y クロック 出力はクロックに 同期して変化 クロック時以外の 入力変化は影響無し
順序回路の状態遷移 • 定義3.4 (状態遷移関数) • 順序回路の次の状態Q + • 現在の入力Iおよび現在の状態Qから決定 Q +=f (Q, I ) f :状態遷移関数
順序回路の出力 • 定義3.5 (順序回路の出力) • 順序回路の出力O • 現在の入力Iおよび現在の状態Qから決定 O =g (Q, I ) g :状態遷移関数
状態遷移と出力 g,h : 出力関数 f : 状態遷移関数
状態1 1 1 初期状態 0 0 状態0 0 1 最終状態 有限オートマトン • 定義3.6 (有限オートマトン) • 以下の5項で定義する計算機械 • 有限個の状態 • 有限個の入力 • 状態遷移 • 初期状態 • 最終状態 初期状態のとき 0が入力されたら状態0へ
状態1 1/0 1/1 初期状態 0/1 0/0 状態0 0/1 1/0 入力,出力 順序機械 • 定義3.7 (順序機械) • 以下の6項で定義する計算機械 • 有限個の状態 • 有限個の入力 • 状態遷移 • 初期状態 • 出力 • 出力関数 初期状態のとき 0が入力されたら 1を出力し状態0へ
0/1 0/1 q0 q1 0/0 q1 / 1 1/0 1/1 状態遷移表, 状態遷移図 入力/出力 状態 状態 状態 q0のときに 0 が入力されたら 1 を出力し状態 q1へ
q1 1 q1 / 1 状態遷移表と真理値表 • 遷移表は真理値表でも表現できる 状態 q0のときに 0 が入力されたら 1 を出力し状態 q1へ
ミーリマシンとムーアマシン • ミーリマシン(Mealy machine) • 現状態Qと入力Iで出力Oが決まる O = g (Q, I ) • ムーアマシン(Moore machine) • 現状態Qのみで出力Oが決まる O = g (Q ) 入力/出力 状態 状態 入力 状態 出力 状態 出力
1 1/1 0 0 1 0/0 0/0 1 1/0 0 例題 : 順序機械と状態遷移図 • 初期状態から、1を偶数回入力すると1を、奇数回入力すると0を出力する順序機械 ミーリマシン q0 q1 ムーアマシン q0/0 q1/0 q2/1
状態遷移表 ミーリ マシン ムーア マシン
双安定回路 高電位=値1 値0で安定 値1で安定 双安定回路 高電位=値0 1ビットを記憶可能 値1で安定 1ビットのメモリ 値0で安定
状態 状態0 0 1 状態1 1 0 フリップフロップ • 定義3.8 (フリップフロップ) • 1ビットのメモリ • 状態1または状態0を保持 フリップ フロップ 状態Qと Qの否定を出力 入力 クロック
SRFF S R CK SRフリップフロップ • Set-Reset フリップフロップ • Set信号SおよびReset信号Rを入力 Set信号で1にセット、Reset信号で0にリセット 現状維持 1にセット 0にリセット 入力11は禁止
SRフリップフロップの動作 入力 S 入力 R 出力 Q 出力 Q クロック S =1ならば 1にセット R =1ならば 0にリセット S =1,R =1ならば 値は不定
DFF D CK Dフリップフロップ • Delay / Data latch フリップフロップ • Data信号Dを入力 Data信号に出力を合わせる 0にリセット 1にセット
Dフリップフロップの動作 入力 D 出力 Q 出力 Q クロック D =1ならば 1にセット D =0ならば 0にリセット
TFF T CK Tフリップフロップ • Toggle / Trigger フリップフロップ • Toggle信号Tを入力 Toggle信号で値を反転 現状維持 値を反転
Tフリップフロップの動作 入力 T 出力 Q 出力 Q クロック T =1ならば 値を反転
JKFF J K CK JKフリップフロップ • JK フリップフロップ • Set信号Jおよび Reset信号Kを入力 Set信号で1にセット、Reset信号で0にリセット Set信号,Reset信号共に入った場合は値反転 現状維持 1にセット 0にリセット 入力11は値反転
JKフリップフロップの動作 入力 J 入力 K 出力 Q 出力 Q クロック J =1ならば 1にセット K =1ならば 0にリセット J =1,K =1ならば 値反転
コラム: JKとは? • 一説によれば Jack-King フリップフロップ • Jack,Kingが動かなければ(J=0,K=0) Queenは現状維持 • Jackに求愛されれば(J=1)QueenはJackの元へ • Kingに求愛されれば(K=1)QueenはKingの元へ • Jack,Kingから同時に求愛されれば(J=1,K=1) Queenは相手を替える
プリセット クリア Clr Pr SRFF S R CK プリセット,クリア付フリップフロップ • プリセット,クリア付フリップフロップ • 通常の入力(SR,D,T,JK)に加え、 Preset信号PrとClear信号Clrを入力 Preset信号でクロックに関係無く1にセット Clear信号でクロックに関係無く0にリセット 直接値を セットできない TFFには必須
プリセット,クリア付Tフリップフロップの動作プリセット,クリア付Tフリップフロップの動作 入力 T プリセット クリア 出力 Q 出力 Q クロック T信号を入れても不定のまま クロックに関係無く 強制的に1にセット 強制的に 0にリセット
セット優先 SRFF S R CK セット優先SRフリップフロップ • セット優先SRフリップフロップ • Set信号Sおよび Reset信号Rを入力 Set信号で1にセット、Reset信号で0にリセット Set信号,Reset信号共に入った場合は1にセット 現状維持 1にセット 0にリセット 入力11は1にセット
問題: フリップフロップの動作 • セット優先SRFFの動作を記入せよ (遅延は無視してよい) 入力 S 入力 R 出力 Q 出力 Q クロック
0 1 1 0 0 1 0 1 1 0 1 0 - - - - SRFFの特性展開表 特性表 特性展開表
0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 JKFFの特性展開表 特性表 特性展開表
問題 : 特性展開表 • D,Tフリップフロップの 特性展開表を作れ
Q + SR Q 00 01 11 10 0 0 0 - 1 1 1 0 - 1 SR Q 00 01 11 10 Q + 0 1 1 - 0 1 0 1 - 0 SRFFの論理関数
SRFF S Q + SRFF Q + R S Q + SRFF S Q + Q + R Q + R SRFFの論理回路 ループがある
Q + Q + D Q 0 1 D Q 0 1 0 0 1 0 1 0 1 0 1 1 1 0 DFF D Q + Q + DFFの論理関数,論理回路 ただしこの回路は FFに求められる 値保持機能が無い
Q + Q + T Q 0 1 T Q 0 1 0 0 1 0 1 0 1 1 0 1 0 1 TFF T Q + Q + TFFの論理関数,論理回路
Q + JK Q 00 01 11 10 0 0 0 1 1 1 1 0 0 1 JK Q 00 01 11 10 Q + 0 1 1 0 0 1 0 1 1 0 JKFFの論理関数
JKFF JKFF J J Q + Q + Q + Q + K K JKFFの論理回路
入力要求 • 定義3.9 (入力要求) • FFの状態をQからQ +へ遷移するためは どんな入力をすればいいか? 例 : SRFFで、現状態がQ=0であるとき、 Q +=1にするためには S,Rにどんな入力を 入れればいいか? S=1, R=0を入れればQ +=1になる
0 0 0 0 0 0 0 - 0 1 0 0 SRFFの入力要求表 S,R =0,0 または 0,1のとき Qの遷移は 0→0
1 0 0 1 - 0 SRFFの入力要求表
0 1 0 1 DFFの入力要求表
0 1 1 0 TFFの入力要求表
問題 : 入力要求表 • JKFFの入力要求表を 作成せよ
DFF D→SR 変換回路 SRFF S Q Q D R Q Q SRFFによるDFFの設計 回路全体がDFFとなるように D→SR変換回路を作成する
SRフリップフロップ 入力 出力 D→SR変換回路 入力 出力 S R 0 - 0 1 1 0 - 0 DFFの拡大入力要求表
S D Q 0 1 0 0 1 1 0 - R D Q 0 1 0 - 0 1 1 0 D→SR変換回路