71
論理回路 8回 フリップフロップ http://www.info.kindai.ac.jp/LC 38号館4N-411 内線5459 [email protected]

論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

論理回路

第8回 フリップフロップ

http://www.info.kindai.ac.jp/LC38号館4階N-411 内線5459

[email protected]

Page 2: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

組み合わせ回路と順序回路

組み合わせ回路

– ある時刻の出力信号が、現在の入力信号だけで決まる回路

順序回路

– ある時刻の出力信号が、現在の入力信号だけでなく、過去の入力信号の影響も受ける回路 (回路内にバッファ・メモリがある)

Page 3: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

順序回路の例

7 8 9

4 5 6

1 2 3

戻る 0 次へ

9→8→7→6 の順に

押すと手続き開始

暗証番号

9876

6→7→8→9や6789同時押しではダメ

Page 4: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

状態

定義: 状態

– 論理回路の入力の履歴

初期状態

状態1

状態0

1入力

0入力

状態11

状態10

1入力

0入力

状態01

状態00

1入力

0入力

Page 5: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

順序回路の入出力

順序回路 = 組み合わせ回路 + メモリ

– 入力 : 外部から+以前の出力から

– 出力 : 外部へ+以降の入力へ

組み合わせ回路

外部入力

外部出力

メモリ

Page 6: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

同期式順序回路

定義: 同期式順序回路

– クロックに同期して回路が動作する

組み合わせ回路

メモリ

順序回路

クロック信号

Page 7: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

同期式順序回路の動作

入力 X

入力 Y

出力 X +Y

クロック

遅延

出力はクロックに

同期して変化

クロック時以外の

入力変化は影響無し

Page 8: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

順序回路の出力

定義: 順序回路の出力

– 順序回路の出力O現在の入力I および現在の状態Q から決定

O = f (Q, I )

f : 出力関数

Page 9: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

順序回路の状態遷移

定義: 状態遷移関数

– 順序回路の次の状態Q +

現在の入力I および現在の状態Q から決定

Q += g (Q, I )

g : 状態遷移関数

Page 10: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

状態遷移と出力

組み合わせ回路 順序回路

出力 O h (I ) f (Q, I )

次の状態 Q + 無し g (Q, I )

f,h : 出力関数

g : 状態遷移関数

Page 11: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

有限オートマトン 定義: 有限オートマトン

– 以下の5項で定義する計算機械

有限個の状態

有限個の入力

状態遷移

初期状態

終状態 初期状態

状態0

状態1

終状態

0

11

1

00

初期状態のとき

0が入力されたら状態0へ

Page 12: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

順序機械 定義: 順序機械

– 以下の6項で定義する計算機械

有限個の状態

有限個の入力

状態遷移

初期状態

出力

出力関数

初期状態

状態0

状態1

0/1

1/11/0

1/0

0/10/0

入力,出力

初期状態のとき

0が入力されたら

1を出力し状態0へ

Page 13: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

状態遷移表, 状態遷移図

入力I現状態q 0 1q0 q1 / 1 q0 / 0q1 q0 / 0 q1 / 1

状態 状態

入力/出力入力

現状態 次状態/出力

q0 q1

0/1

0/0

1/0 1/1

状態 q0 のときに 0 が入力されたら

1 を出力し状態 q1 へ

q1 / 1

0/1

Page 14: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

状態遷移表と真理値表

遷移表は真理値表でも表現できる

入力I現状態q 0 1q0 q1 / 1 q0 / 0q1 q0 / 0 q1 / 1

入力 出力

I Q Q + O0 q0 q1 10 q1 q0 01 q0 q0 01 q1 q1 1

q1 / 11q1

状態 q0 のときに

0 が入力されたら

1 を出力し状態 q1 へ

Page 15: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

ミーリマシンとムーアマシン

ミーリマシン(Mealy machine)– 現状態 Q と入力 I で出力O が決まる

O = f (Q, I )

ムーアマシン(Moore machine)– 現状態 Q のみで出力O が決まる

O = f (Q )

状態 状態

入力/出力

状態

出力

状態

出力

入力

Page 16: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

例題 : 順序機械と状態遷移図 初期状態から、1を偶数回入力すると1を、奇数回入力すると0を出力する順序機械

q0 q1 0/01/0

0/01/1

q0/00 q1/0

q2/1

1

11 0

0

ミーリマシン

ムーアマシン

Page 17: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

状態遷移表

現状態次状態 出力

I=0 I=1 I=0 I=1q0 q0 q1 0 0q1 q1 q0 0 1

ミーリ

マシン

現状態次状態

出力I=0 I=1

q0 q0 q1 0q1 q1 q2 0q2 q0 q1 1

ムーア

マシン

Page 18: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

双安定回路

高電位=値1値0で安定

値1で安定

高電位=値0値1で安定

値0で安定

双安定回路

1ビットを記憶可能

1ビットのメモリ

Page 19: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

フリップフロップ

フリップフロップ

– 1ビットのメモリ

状態1または状態0を保持

フリップ

フロップ入力

状態Q と

Q の否定を出力

クロック 10状態001状態1

状態 QQ

Q

Q

Page 20: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRフリップフロップ

Set-Reset フリップフロップ

– Set信号S およびReset信号R を入力

Set信号で1にセット、Reset信号で0にリセット

S R Q +

0 0 Q1 0 10 1 01 1 -

現状維持

1にセット

0にリセット

入力11は禁止

SRFFS

RCK

Q

Q

Page 21: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRフリップフロップの動作

入力 R

出力 Q

出力 Q

クロック

入力 S

S =1ならば

1にセット

R =1ならば

0にリセット

S =1,R =1ならば

値は不定

Page 22: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

Dフリップフロップ

Delay / Data latch フリップフロップ

– Data信号D を入力

Data信号に出力を合わせる

D Q +

0 01 1

0にリセット

1にセット

DFFDCK

Q

Q

Page 23: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

Dフリップフロップの動作

入力 D

出力 Q

出力 Q

クロック

D =1ならば

1にセット

D =0ならば

0にリセット

Page 24: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

Tフリップフロップ

Toggle / Trigger フリップフロップ

– Toggle信号T を入力

Toggle信号で値を反転

T Q +

0 Q1 Q

現状維持

値を反転

TFFTCK

Q

Q

Page 25: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

Tフリップフロップの動作

入力 T

出力 Q

出力 Q

クロック

T =1ならば

値を反転

Page 26: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JKフリップフロップ JK フリップフロップ

– Set信号J および Reset信号K を入力

Set信号で1にセット、Reset信号で0にリセット

Set信号,Reset信号共に入った場合は値反転

J K Q +

0 0 Q1 0 10 1 01 1 Q

現状維持

1にセット

0にリセット

入力11は値反転

JKFFJ

KCK

Q

Q

Page 27: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JKフリップフロップの動作

入力 K

出力 Q

出力 Q

クロック

入力 J

J =1ならば

1にセット

K =1ならば

0にリセット

J =1,K =1ならば

値反転

Page 28: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

コラム: 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は相手を替える

Page 29: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

クロック入力付SRFF

クロック信号が1のときのみ動作

QSRFF

S

R

Q

Q

クロック付SRFF

SQ

R

CK

Page 30: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

プリセット,クリア付フリップフロップ

プリセット,クリア付フリップフロップ

– 通常の入力(SR,D,T,JK)に加え、Preset信号Pr とClear信号Clr を入力

Preset信号でクロックに関係無く1にセット

Clear信号でクロックに関係無く0にリセット

直接値を

セットできない

TFFには必須SRFF

S

RCK

Clr Pr

プリセットクリア

Q

Q

Page 31: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

プリセット,クリア付Tフリップフロップの動作

プリセット

出力 Q

出力 Q

クロック

入力 T

クリア

T信号を入れても不定のまま

クロックに関係無く

強制的に1にセット

強制的に

0にリセット

Page 32: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

セット優先SRフリップフロップ セット優先SRフリップフロップ

– Set信号S および Reset信号R を入力

Set信号で1にセット、Reset信号で0にリセット

Set信号,Reset信号共に入った場合は1にセット

S R Q +

0 0 Q1 0 10 1 01 1 1

現状維持

1にセット

0にリセット

入力11は1にセット

セット優先

SRFFS

RCK

Q

Q

Page 33: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

セット優先SRフリップフロップの動作

入力 R

出力 Q

出力 Q

クロック

入力 S

S =1ならば

1にセット

R =1ならば

0にリセット

S =1,R =1ならば

1 にセット

Page 34: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFの特性展開表

S R Q +

0 0 Q1 0 10 1 01 1 -

S R Q Q + Q +

0 001

0 101

1 001

1 101特性表

特性展開表

----

010110100110

Page 35: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JKFFの特性展開表

J K Q +

0 0 Q1 0 10 1 01 1 Q

J K Q Q + Q +

0 001

0 101

1 001

1 101特性表

特性展開表

0110

010110100110

Page 36: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFの論理関数

S R Q +

0 0 Q1 0 10 1 01 1 -

1-0111-00010110100SR

QQ +

0-1010-11010110100SR

QQ +

QSRQQRSQ

Page 37: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFの論理回路

S

R

Q +

Q +

SRFF

S

R

Q +

Q +

SRFF

S

R

Q +

Q +

SRFF

QSRQQRSQ

QSR

QRS

ループがある

Page 38: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

DFFの論理関数,論理回路

D Q +

0 01 1

Q + Q +

10110010D

Q

01101010D

Q

D Q +

Q +

DFF

ただしこの回路は

FFに求められる

値保持機能が無いDQDQ

Page 39: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

TFFの論理関数,論理回路

T Q +

0 Q1 Q

Q + Q +

01110010T

Q

10101010T

Q

T Q +

Q +

TFF

QTQT

QTQTQQTQTQ

Page 40: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JKFFの論理関数

J K Q +

0 0 Q1 0 10 1 01 1 Q

100111100010110100JK

QQ +

011010011010110100JK

QQ +

QJQKQQKQJQ

Page 41: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JKFFの論理回路

J

K

Q +

Q +

JKFFJ

K

Q +

Q +

JKFF

QJQK

QKQJ

QJQKQQKQJQ

Page 42: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

入力要求

定義: 入力要求

– FFの状態をQからQ +へ遷移するためは どんな入力をすればいいか?

例 : SRFFで、現状態がQ=0であるとき、

Q +=1にするためには S,R にどんな入力を

入れればいいか?

S=1, R=0を入れればQ +=1になる

Page 43: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFの入力要求表S R Q Q +

0 00 01 1

0 10 01 0

1 00 11 1

1 10 -1 -

Q Q + S R0 00 11 01 1

S,R =0,0 または 0,1のとき

Q の遷移は 0→0

000 1

000 0

00 0 -

Page 44: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFの入力要求表S R Q Q +

0 00 01 1

0 10 01 0

1 00 11 1

1 10 -1 -

Q Q + S R0 0 0 -0 11 01 1

1 00 1- 0

Page 45: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

DFFの入力要求表

Q Q + D0 00 11 01 1

D Q Q +

00 01 0

10 11 1

01

1

0

Page 46: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

TFFの入力要求表

Q Q + T0 00 11 01 1

T Q Q +

00 01 1

10 11 0

11

0

0

Page 47: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFによるDFFの設計

回路全体がDFFとなるように

D→SR変換回路を作成する

DFF

D

Q

QSRFF

S

R

Q

Q

D→SR変換回路

Page 48: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

DFFの拡大入力要求表

出力入力

D→SR変換回路

出力入力

SRフリップフロップ

D Q Q +

00 01 0

10 11 1

入力 出力

Dフリップフロップ

0-0110-0RS

Page 49: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

D→SR変換回路D→SR変換回路

入力 出力

D Q S R

00 0 -1 0 1

10 1 01 - 0

-0110010D

Q

S

0110-010D

Q

R

DRDS

Page 50: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFを用いたDFF

SRFFS

R

Q

Q

DFF

D Q

Q

DRDS

Page 51: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

変換回路作成手順

1. 目的の FF の特性展開表作成

2. 使用する FF の入力要求表作成

3. 変換回路の論理関数を求める

4. 回路を実装

使用する FF の入出力

入力 出力

変換回路の入出力

入力 出力

Q Q +

0101

入力 出力

目的の FF の入出力

Page 52: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFによるTFFの設計

回路全体がTFFとなるように

T→SR変換回路を作成する

TFF

T

Q

QSRFF

S

R

Q

Q

T→SR変換回路

Page 53: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

TFFの拡大入力要求表

10010--0RS

出力入力

SRフリップフロップ

出力入力

T→SR変換回路

T Q Q +

00 01 1

10 11 0

入力 出力

Tフリップフロップ

Page 54: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

T→SR変換回路T→SR変換回路

入力 出力

T Q S R

00 0 -1 - 0

10 1 01 0 1

0-110010T

Q

S

1010-010T

Q

R

QTRQTS

Page 55: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFを用いたTFF

QSRFF

S

R

Q

Q

TFF

TQ

QTRQTS

Page 56: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

レジスタ (register) 同期したフリップフロップの集まり

– n ビットの一斉読み出し、書き込みが可能

クロック

DFFD Q

CKDFF

D Q

CKDFF

D Q

CKDFF

D Q

CK

D0 D1 D2 D3

Q0 Q1 Q2 Q3

Page 57: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

シフタ (shifter) 同期したフリップフロップの集まり

– クロック入力ごとに、値が隣のFFに移動する

DFFD3 Q3

DFFD2 Q2

DFFD1 Q1

DFFD0 Q0

D

クロック

Q0 Q1 Q2 Q3

)1( 01 DDiQD ii

CKCKCKCK

Page 58: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

シフタの動作

出力 Q0

出力 Q1

出力 Q2

クロック

入力 D

遅延 Q0の値が1クロック遅れでQ1に伝播

Page 59: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

シフト-レジスタ シフタとレジスタの組み合わせ

DFFD0 Q0

CK

I0

クロック

I1

Q0

DFFD1 Q1

CK

I2

Q1

DFFD2 Q2

CK

I3

Q2

DFFD3 Q3

CK

Q3

S

マルチプレクサ

Page 60: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

シフト-レジスタ シフタとレジスタの組み合わせ

クロック

DFFD0 Q0

CK

I0 I1

Q0

DFFD1 Q1

CK

I2

Q1

DFFD2 Q2

CK

I3

Q2

DFFD3 Q3

CK

Q3

S

S=0 ⇒レジスタ

Page 61: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

シフト-レジスタ シフタとレジスタの組み合わせ

DFFD0 Q0

CK

I0

クロック

I1

Q0

DFFD1 Q1

CK

I2

Q1

DFFD2 Q2

CK

I3

Q2

DFFD3 Q3

CK

Q3

S

S=1 ⇒シフタ

Page 62: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

非同期式カウンタ (counter) 同期していないフリップフロップの集まり

– 入力が1になった数を計測する

TFFTQ

Q

Q0

TFFTQ

Q

Q1

TFFTQ

Q

Q2

TFFTQ

Q

Q3

SW

Page 63: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

非同期式カウンタの動作

出力 Q0

出力 Q1

出力 Q2

入力 SW

出力 Q3

遅延

遅延*2遅延*3

遅延*4

Page 64: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

同期式カウンタ 同期したフリップフロップの集まり

– 入力が1になった数を計測する

TFFT Q

CK

Q0 Q1 Q2 Q3

SW

クロック

TFFT Q

CKTFFT Q

CKTFFT Q

CK

Page 65: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

同期式カウンタの動作

出力 Q0

出力 Q1

出力 Q2

クロック

入力 SW

遅延

遅延

遅延

スイッチを

押している間

カウンタ作動

Page 66: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

演習問題 : 状態遷移図

下の状態遷移表から状態遷移図を作成せよ

q1

q2

q3q0

0/0

1/1 1/0

0/0

0/0 1/01/10/0

入力I現状態q 0 1

q0 q1 / 0 q2 / 1q1 q1 / 0 q3 / 0q2 q2 / 0 q3 / 0q3 q0 / 0 q1 / 1

Page 67: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

演習問題: フリップフロップの動作

SRFFの動作を記入せよ(遅延は無視してよい)

入力 R

出力 Q

出力 Q

クロック

入力 S

Page 68: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

演習問題: SRFFによるJKFFの設計

SRFFS

R

Q

Q

JK→SR変換回路

JKFF

JQ

QK

回路全体がJKFFとなるように

JK→SR変換回路を作成する

Page 69: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

RS

出力入力

SRフリップフロップ

JKFFの拡大入力要求表

出力入力

JK→SR変換回路

J K Q Q +

0 00 01 1

0 10 01 0

1 00 11 1

1 10 11 0

入力 出力

JKフリップフロップ

10-00--0

10010-01

Page 70: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

JK→SR変換回路JK→SR変換回路

入力 出力

J K Q S R

0 00 0 -1 - 0

0 10 0 -1 0 1

1 00 1 01 - 0

1 10 1 01 0 1

-00-11100010110100J K

QS

0110100--010110100J K

QR

QKRQJS

Page 71: 論理回路 - 近畿大学Set信号,Reset信号共に入った場合は値反転 JKQ+ 00Q 101 010 11Q 現状維持 1にセット 0にリセット 入力11は値反転 JKFF J K CK

SRFFを用いたJKFF

QSRFF

S

R

Q

Q

JKFF

J Q

K

QKRQJS