• 検索結果がありません。

論理回路

N/A
N/A
Protected

Academic year: 2021

シェア "論理回路"

Copied!
71
0
0

読み込み中.... (全文を見る)

全文

(1)

論理回路

第 8 回 フリップフロップ

http://www.info.kindai.ac.jp/LC

38 号館 4 階 N-411 内線 5459

[email protected]

(2)

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

組み合わせ回路

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

順序回路

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

(3)

順序回路の例

7 8 9

4 5 6

1 2 3

戻る 0 次へ

9→8→7→6 の順に 押すと手続き開始 暗証番号

9876

6→7→8→9 や

6789 同時押しではダメ

(4)

状態

定義 : 状態

– 論理回路の入力の履歴

初期状態

状態1

状態0 1入力

0入力

状態11 状態10 1入力

0入力

状態01 状態00 1入力

0入力

(5)

順序回路の入出力

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

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

組み合わせ回路

外部入力 外部出力

メモリ

(6)

同期式順序回路

定義 : 同期式順序回路

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

組み合わせ回路

メモリ 順序回路

クロック信号

(7)

同期式順序回路の動作

入力 X 入力 Y 出力 X +Y

クロック

遅延 出力はクロックに

同期して変化

クロック時以外の 入力変化は影響無し

(8)

順序回路の出力

定義 : 順序回路の出力

– 順序回路の出力O

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

O = f (Q, I )

f : 出力関数

(9)

順序回路の状態遷移

定義 : 状態遷移関数

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

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

Q

+

= g (Q, I )

g : 状態遷移関数

(10)

状態遷移と出力

組み合わせ回路 順序回路

出力 O

h (I ) f (Q, I )

次の状態 Q +

無し g (Q, I )

f,h : 出力関数

g : 状態遷移関数

(11)

有限オートマトン

定義 : 有限オートマトン

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

有限個の状態

有限個の入力

状態遷移

初期状態

最終状態 初期状態

状態0 状態1

最終状態 0

1 1

1 0 0

初期状態のとき 0が入力されたら

状態0へ

(12)

順序機械

定義 : 順序機械

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

有限個の状態

有限個の入力

状態遷移

初期状態

出力

出力関数

初期状態

状態0 状態1

0/1 1/1 1/0

1/0 0/0 0/1

入力,出力 初期状態のとき

0が入力されたら 1を出力し状態0へ

(13)

状態遷移表 , 状態遷移図

入力I

現状態q

0 1

q

0

q

1

/ 1 q

0

/ 0 q

1

q

0

/ 0 q

1

/ 1

状態 状態

入力/出力 入力

現状態 次状態/出力

q0 0/1 q1 0/0

1/0 1/1

状態 q0 のときに 0 が入力されたら 1 を出力し状態 q1

q

1

/ 1

0/1

(14)

状態遷移表と真理値表

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

入力I

現状態q

0 1

q

0

q

1

/ 1 q

0

/ 0 q

1

q

0

/ 0 q

1

/ 1

入力 出力 I Q Q + O 0 q0 q1 1 0 q1 q0 0 1 q0 q0 0 1 q1 q1 1

q

1

/ 1

q1 1

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

1 を出力し状態 q1

(15)

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

ミーリマシン (Mealy machine)

– 現状態 Q と入力 I で出力O が決まる

O = f (Q, I )

ムーアマシン (Moore machine)

– 現状態 Q のみで出力O が決まる

O = f (Q )

状態 状態

入力/出力

状態 出力

状態 出力 入力

(16)

例題 : 順序機械と状態遷移図

初期状態から、 1 を偶数回入力すると 1 を、

奇数回入力すると 0 を出力する順序機械

q0 q1 0/0 0/0 1/0

1/1

q0/0

0 q1/0

q2/1 1

1

1 0

0 ミーリマシン

ムーアマシン

(17)

状態遷移表

現状態 次状態 出力

I=0 I=1 I=0 I=1

q0 q0 q1 0 0

q1 q1 q0 0 1

ミーリ マシン

現状態 次状態 I=0 I=1 出力

q0 q0 q1 0

q1 q1 q2 0

q2 q0 q1 1

ムーア マシン

(18)

双安定回路

高電位=値1

値0で安定 値1で安定

高電位=値0

値1で安定 値0で安定

双安定回路

1ビットを記憶可能

1 ビットのメモリ

(19)

フリップフロップ

フリップフロップ

– 1ビットのメモリ

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

フリップ 入力 フロップ

状態Q

Q の否定を出力

クロック 状態0 0 1

0 1

状態1

状態

Q Q Q

Q

(20)

SR フリップフロップ

Set-Reset フリップフロップ

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

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

S R Q

+

0 0 Q

1 0 1

0 1 0

1 1 -

現状維持 1にセット 0にリセット

入力11は禁止

S

SRFF

R

CK

Q

Q

(21)

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

入力 R 出力 Q 出力 Q クロック 入力 S

S =1ならば 1にセット

R =1ならば 0にリセット

S =1,R =1ならば 値は不定

(22)

D フリップフロップ

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

– Data信号D を入力

Data信号に出力を合わせる

D Q

+

0 0

1 1

0にリセット 1にセット

D

DFF CK

Q

Q

(23)

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

入力 D 出力 Q 出力 Q クロック

D =1ならば 1にセット

D =0ならば 0にリセット

(24)

T フリップフロップ

Toggle / Trigger フリップフロップ

– Toggle信号T を入力 Toggle信号で値を反転

T Q

+

0 Q

1 Q

現状維持 値を反転

T

TFF CK

Q

Q

(25)

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

入力 T 出力 Q 出力 Q クロック

T =1ならば 値を反転

(26)

JK フリップフロップ

JK フリップフロップ

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

Set信号で1にセット、Reset信号で0にリセット Set信号,Reset信号共に入った場合は値反転

J K Q

+

0 0 Q

1 0 1

0 1 0

1 1 Q

現状維持 1にセット 0にリセット

入力11は値反転

J

JKFF

K

CK

Q

Q

(27)

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

入力 K 出力 Q 出力 Q クロック 入力 J

J =1ならば 1にセット

K =1ならば 0にリセット

J =1,K =1ならば 値反転

(28)

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

(29)

クロック入力付 SRFF

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

SRFF Q S

R

Q Q クロック付SRFF

S Q

R CK

(30)

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

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

– 通常の入力(SR,D,T,JK)に加え、

Preset信号Pr とClear信号Clr を入力 Preset信号でクロックに関係無く1にセット Clear信号でクロックに関係無く0にリセット

直接値を

セットできない TFFには必須

S

SRFF

R

CK Clr Pr プリセット

クリア

Q

Q

(31)

プリセット , クリア付

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

プリセット

出力 Q 出力 Q クロック 入力 T

クリア

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

クロックに関係無く 強制的に1にセット

強制的に 0にリセット

(32)

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

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

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

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

S R Q

+

0 0 Q

1 0 1

0 1 0

1 1 1

現状維持 1にセット 0にリセット

入力11は1にセット

セット優先

SRFF

S

R

CK

Q

Q

(33)

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

入力 R 出力 Q 出力 Q クロック 入力 S

S =1ならば 1にセット

R =1ならば 0にリセット

S =1,R =1ならば 1 にセット

(34)

SRFF の特性展開表

S R Q +

0 0 Q

1 0 1

0 1 0

1 1 -

S R Q Q + Q +

0 0 0

1

0 1 0

1

1 0 0

1

1 1 0

特性表 1

特性展開表

- -

- -

0 1

0 1

1 0

1 0

0 1

1 0

(35)

JKFF の特性展開表

J K Q +

0 0 Q

1 0 1

0 1 0

1 1 Q

J K Q Q + Q +

0 0 0

1

0 1 0

1

1 0 0

1

1 1 0

特性表 1

特性展開表

0 1

1 0

0 1

0 1

1 0

1 0

0 1

1 0

(36)

SRFF の論理関数

S R Q +

0 0 Q

1 0 1

0 1 0

1 1 -

1 -

0 1

1

1 -

0 0

0

10 11

01

SR

00

Q

Q +

0 -

1 0

1

0 -

1 1

0

10 11

01

SR

00

Q

Q +

Q S

R Q

Q R

S Q

(37)

SRFF の論理回路

S

R

Q +

Q + SRFF

S

R

Q +

Q + SRFF

S

R

Q +

Q + SRFF

Q S

R Q

Q R

S Q

Q S

R

Q R

S

ループがある

(38)

DFF の論理関数 , 論理回路

D Q +

0 0

1 1

Q + Q +

1 0

1

1 0

0

1

D

0

Q

0 1

1

0 1

0

1

D

0

Q

D Q +

Q + DFF

ただしこの回路は FFに求められる

値保持機能が無い

D Q

D Q

(39)

TFF の論理関数 , 論理回路

T Q +

0 Q

1 Q

Q + Q +

0 1

1

1 0

0

1

T

0

Q

1 0

1

0 1

0

1

T

0

Q

T Q +

Q + TFF

Q T

Q T

Q T

Q T

Q

Q T

Q T

Q

(40)

JKFF の論理関数

J K Q +

0 0 Q

1 0 1

0 1 0

1 1 Q

1 0

0 1

1

1 1

0 0

0

10 11

01

JK

00

Q

Q +

0 1

1 0

1

0 0

1 1

0

10 11

01

JK

00

Q

Q +

Q J

Q K

Q

Q K

Q J

Q

(41)

JKFF の論理回路

J

K

Q +

Q +

JKFF J

K

Q +

Q + JKFF

Q J

Q K

Q K

Q J

Q J

Q K

Q

Q K

Q J

Q

(42)

入力要求

定義 : 入力要求

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

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

Q +=1にするためには S,R にどんな入力を 入れればいいか?

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

(43)

SRFF の入力要求表

S R Q Q

+

0 0 0 0

1 1

0 1 0 0

1 0

1 0 0 1

1 1

1 1 0 -

1 -

Q Q

+

S R

0 0

0 1

1 0

1 1

S,R =0,0 または 0,1のとき Q の遷移は 0→0

0 0 1 0

0 0 0 0

0

0 0 -

(44)

SRFF の入力要求表

S R Q Q

+

0 0 0 0

1 1

0 1 0 0

1 0

1 0 0 1

1 1

1 1 0 -

1 -

Q Q

+

S R 0 0 0 -

0 1

1 0

1 1

1 0

0 1

- 0

(45)

DFF の入力要求表

Q Q

+

D

0 0

0 1

1 0

1 1

D Q Q

+

0 0 0

1 0

1 0 1

1 1

0

1

1

0

(46)

TFF の入力要求表

Q Q

+

T

0 0

0 1

1 0

1 1

T Q Q

+

0 0 0

1 1

1 0 1

1 0

1

1

0

0

(47)

SRFF による DFF の設計

回路全体がDFFとなるように D→SR変換回路を作成する

DFF

D

Q SRFF Q

S R

Q Q D→SR

変換回路

(48)

DFF の拡大入力要求表

出力 入力

D→SR変換回路

出力 入力

SRフリップフロップ

D Q Q +

0 0 0

1 0

1 0 1

1 1

入力 出力

Dフリップフロップ

0 -

0 1

1 0

- 0

R S

(49)

D→SR 変換回路

D→SR変換回路

入力 出力

D Q S R

0 0 0 -

1 0 1

1 0 1 0

1 - 0

- 0

1

1 0

0

1

D

0

Q

S

0 1

1

0 -

0

1

D

0

Q

R

D R

D

S  

(50)

SRFF を用いた DFF

S SRFF R

Q Q DFF

D Q

Q

D R

D

S  

(51)

変換回路作成手順

1.

目的の FF の

特性展開表作成

2.

使用する FF の

入力要求表作成

3.

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

4.

回路を実装

使用する FF の入出力

入力 出力

変換回路の入出力

入力 出力

Q Q +

0 1 0 1

入力 出力

目的の FF の入出力

(52)

SRFF による TFF の設計

回路全体がTFFとなるように T→SR変換回路を作成する

TFF

T

Q SRFF Q

S R

Q Q T→SR

変換回路

(53)

TFF の拡大入力要求表

1 0

0 1

0 -

- 0

R S

出力 入力

SRフリップフロップ

出力 入力

T→SR変換回路

T Q Q +

0 0 0

1 1

1 0 1

1 0

入力 出力

Tフリップフロップ

(54)

T→SR 変換回路

T→SR変換回路

入力 出力

T Q S R

0 0 0 -

1 - 0

1 0 1 0

1 0 1

0 -

1

1 0

0

1

T

0

Q

S

1 0

1

0 -

0

1

T

0

Q

R

Q T

R T Q

S    

(55)

SRFF を用いた TFF

SRFF Q S

R

Q Q TFF

T Q

Q T

R T Q

S    

(56)

レジスタ (register)

同期したフリップフロップの集まり

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

クロック

D DFFQ CK

D DFFQ CK

D DFFQ CK

D DFFQ CK

D0 D1 D2 D3

Q0 Q1 Q2 Q3

(57)

シフタ (shifter)

同期したフリップフロップの集まり

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

D3DFFQ3 D2DFFQ2

D1DFFQ1 D0DFFQ0

D

クロック

Q0 Q1 Q2 Q3

)

1

(

0

1

i D D

Q

D

i

i

 

CK CK

CK CK

(58)

シフタの動作

出力 Q0 出力 Q1 出力 Q2 クロック 入力 D

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

(59)

シフト - レジスタ

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

DDFF0 Q0

CK

I0

クロック

I1

Q0

DDFF1 Q1

CK

I2

Q1

DDFF2 Q2

CK

I3

Q2

DDFF3 Q3

CK

Q3 S

マルチ プレクサ

(60)

シフト - レジスタ

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

クロック

DDFF0 Q0

CK

I0 I1

Q0

DDFF1 Q1

CK

I2

Q1

DDFF2 Q2

CK

I3

Q2

DDFF3 Q3

CK

Q3 S

S=0 ⇒ レジスタ

(61)

シフト - レジスタ

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

DDFF0 Q0

CK

I0

クロック

I1

Q0

DDFF1 Q1

CK

I2

Q1

DDFF2 Q2

CK

I3

Q2

DDFF3 Q3

CK

Q3 S

S=1 ⇒ シフタ

(62)

非同期式カウンタ (counter)

同期していないフリップフロップの集まり

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

T TFFQ Q

Q0

T TFFQ Q

Q1

T TFFQ Q

Q2

T TFFQ Q

Q3 SW

(63)

非同期式カウンタの動作

出力 Q0 出力 Q1 出力 Q2 入力 SW

出力 Q3

遅延

遅延*2

遅延*3

遅延*4

(64)

同期式カウンタ

同期したフリップフロップの集まり

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

T QTFF CK

Q0 Q1 Q2 Q3

SW

クロック

T QTFF CK

T QTFF CK

T QTFF CK

(65)

同期式カウンタの動作

出力 Q0 出力 Q1 出力 Q2 クロック 入力 SW

遅延

遅延

遅延

スイッチを 押している間 カウンタ作動

(66)

演習問題 : 状態遷移図

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

q1

q2

q3 q0

0/0

1/1 1/0

0/0

0/0 1/0

0/0 1/1

入力I

現状態q

0 1

q

0

q

1

/ 0 q

2

/ 1

q

1

q

1

/ 0 q

3

/ 0

q

2

q

2

/ 0 q

3

/ 0

q

3

q

0

/ 0 q

1

/ 1

(67)

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

SRFF の動作を記入せよ

(遅延は無視してよい)

入力 R 出力 Q 出力 Q クロック 入力 S

(68)

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

S SRFF R

Q Q JK→SR

変換回路 JKFF

J

Q K Q

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

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

(69)

R S

出力 入力

SRフリップフロップ

JKFF の拡大入力要求表

出力 入力

JK→SR変換回路

J K Q Q+

0 0 0 0

1 1

0 1 0 0

1 0

1 0 0 1

1 1

1 1 0 1

1 0

入力 出力

JKフリップフロップ

1 0

- 0

0 -

- 0

1 0

0 1

0 -

0 1

(70)

JK→SR 変換回路

JK→SR変換回路

入力 出力

J K Q S R

0 0 0 0 -

1 - 0

0 1 0 0 -

1 0 1

1 0 0 1 0

1 - 0

1 1 0 1 0

1 0 1

- 0

0 -

1

1 1

0 0

0

10 11

01

J K

00

Q

S

0 1

1 0

1

0 0

- -

0

10 11

01

J K

00

Q

R

Q K

R J Q

S    

(71)

SRFF を用いた JKFF

SRFF Q S

R

Q Q JKFF

J Q

K

Q K

R J Q

S    

参照

関連したドキュメント

[r]

• ネット:0個以上のセルのポートをワイヤーを使って結んだも

As soon as an Analytic Engine exists, it will necessarily guide the future course of the

[r]

Whenever any result is sought by its aid, the question will arise—By what course of calculation can these results be arrived at by the machine in the shortest time. — Charles

Whenever any result is sought by its aid, the question will arise—By what course of calculation can these results be arrived at by the machine in the shortest time. — Charles

 

( 内部抵抗0Ωの 理想信号源