flip-flop - 九州大学(kyushu...

29
6. フリップフロップ Flip-flop 2019年度 前期 ディジタル電子回路 講義資料

Upload: others

Post on 30-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

6. フリップフロップFlip-flop

2019年度前期ディジタル電子回路講義資料

Page 2: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

6.1 ラッチLatch

• 双安定/bistable:安定な二つの状態

Q’ Q

0 1 01 0 1 いずれも安定(双安定)

不安定な平衡点:

位置がわずかに左右にずれると,さらに大きく左右にずれる:正のフィードバック

安定な平衡点:

わずかにずれても元に戻ろうとする:負のフィードバック

安定な二つの状態:二値の記憶(メモリ)電子回路では正負に振り切れた(飽和)状態で維持

ラッチ(かんぬき)

ラッチ(ラチェット,爪車)

Page 3: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• ラッチ:双安定な二つの状態を外部入力でコントロール• NORゲートSRラッチ

Ø特性方程式/Characteristic equation𝑅 " 𝑆 = 0 (S=1 かつ R=1にはならない)

𝑄'() = 𝑆 + 𝑅′𝑄'

R

S

Q

Q’

Q

S R Qn+1

0 0 Qn

0 1 0

1 0 1

1 1 禁止

前の状態を保持

reset

set

(S=1 かつ R=1にはならない)

𝑄' /SR 00 01 11 10

01

0 0 - 11 0 - 1

𝑄'R’

S

SまたはRを1にすると出力は即座に変化・・・ transparent(出力透過的)

𝑄'()のカルノーマップ

-:don’t care

Page 4: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• 動作波形/Time-chart of operation

S

R

Q

(S,R)=(0,0)の区間は前の状態を保持

reset set reset

Page 5: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• SRラッチの応用(NANDゲートSRラッチ)

Øスイッチを上に倒しても,接点はすぐには繋がらない• 接点は何度かバウンスした後につながる(チャタリング)

R’

S’Q

Q’

S’ R’ Qn+1

1 1 Qn

1 0 0

0 1 1

0 0 禁止

前の状態を保持

resetset

=VDD

S’

R’

Q

上側の接点でチャタリング

ここで接点を離れる

1,1の区間は前の状態を保持

Page 6: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• DラッチØ SRラッチに右表の論理回路を付加する

• つまり𝑆 = 𝐶𝐷𝑅 = 𝐶𝐷′

Ø NANDゲートで構成

C D S R0 00 11 01 1

0 00 00 11 0

NANDSRラッチ

コントロール信号が0の時、前の状態を保持

コントロール信号が1の時データ線(D)が出力を決める

C

D QS’

R’

コントロール付きDラッチ

CのタイミングでDが出力に現れるため、コントロール信号に同期するSRラッチとなる

𝑄'()𝑄'𝑄'01

D

Q

Time chart

C

Cが1の間は出力が変化(transparent)

Page 7: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• 禁止入力無しSRラッチ

C

R

Q

Q’

SM’

RM’

SC S R SM’ RM’1 0 01 0 11 1 01 1 10 - -

1 11 00 10 11 1

𝑄'()𝑄'011𝑄'

禁止入力(S=1, R=1)の時、R側入力にはSM’が戻されているためSM’=0, RM’=1となり、Qはセット

Page 8: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

6.2 フリップフロップ

• 広くラッチも含めて内部状態を保持する論理回路をフリップフロップと呼ぶ.(厳密にはクロックに同期するものがフリップフロップ)

• 同期式順序回路Ø現在の内部状態(記憶素子に保持されている)と外部入力により出力と次の状態を決め,次の状態として保持する.

組み合わせ論理回路

入力

記憶素子

クロック

出力

現在次の状態

演算処理装置の基本的な形態

内部状態の定義:現在,次,次の次...という時点をどう決めるのか

⇒ある信号(クロック)に同期させる

Page 9: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• クロックに同期させる方法クロックの立ち上がり↑、または立ち下がり↓のタイミングで出力が変化

Øマスタースレーブ方式• ラッチを2段にする:クロックが1の間はマスターが、↓でスレーブの出力が変化

Øエッジトリガ方式• クロックのエッジ(立ち上がり↑,あるいは立ち下がり↓)時点の入力だけで内部状態をホールドする.

入力

C

クロック

マスタ スレーブ

C

Page 10: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• 種類Ø D-フリップフロップ

• Dラッチを使ったFF

Ø JK-フリップフロップ• SRラッチの禁止入力を許し,反転動作(トグルモード)としたもの.マスタスレーブJK-FFは回路構成が簡単でかつては良く使われた.

Ø T-フリップフロップ• JK-FFでJ=Kとしたもの

• 記号Ø D-FF

Qn+1 = JQn '+K 'Qn

入力

クロック

D Q

立ち上がりで動作(ポジティブエッジトリガ)

立ち下がりで動作(ネガティブエッジトリガ)

D クロック

01

↑↑

Q01

その他 前の状態を保持

Page 11: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

ØマスタスレーブD-FF/Master-slave D-FF𝑄'() = 𝐷

クロック

D S’

R’

S’

R’

QM

QM’

Q

Q’

コントロール部 SRラッチ

Dラッチ

D Q

クロック

D

QM

Q

Time chart

出力はクロックの立ち下がり時だけで変化する

Page 12: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

ØエッジトリガD-FF/Edge trigger D-FF

CLK

D

Q

Q’

S’

R’

クロック

D

Q

Time chart setup time hold time

前節の禁止入力無しSRラッチにSRラッチを付加

Page 13: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• 汎用デバイスØ 7473, 4013: dual JK-FF マスタスレーブ型/set付きØ 7474, 4027: dual D-FF エッジトリガ型/set-reset付きØ 7475, 4042: dual Dラッチ

D

クロック

セットアップタイムtsu

ホールドタイムth

例) 74ACT74: tsu=3.5ns, th=1ns, tpd=11.5ns組み合わせ回路のtpdを10nsとするとFFと合わせてT=3.5+1+11.5+10=26ns最大動作周波数はfmax=1/T=38MHz

D Q

CLK

CLR

RESET’

PR

SET’

D Q

7474

SET/PRESET: 強制的にQを1にするRESET/CLR: 強制的にQを0にする(いずれも負論理、つまり0にするとSET/RESETされる)

Page 14: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

フリップフロップの応用

• レジスタ/registerØ入力データD0, D1, D2, D3,,, を記憶する

CLKRESET

D Q

CLR

D0 Q0

D Q

CLR

D1 Q1

D Q

CLR

D2 Q2

D Q

CLR

D3 Q3

Page 15: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• シフトレジスタ/shift registerØシリアルの入力データを記憶し、クロックごとにシフトする

CLKRESET

D Q

CLR

D0

Q0

D Q

CLR

Q1

D Q

CLR

Q2

D Q

CLR

Q3

D Q

CLR

Q4

Page 16: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• カウンタ/分周器 counter/frequency dividerØ IN入力(CLK入力)のパルスをカウントØ出力はクロック周波数の1/2, 1/4, 1/8,,, となる(分周)

IN/CLK

D Q

Q0

Q’

D Q

Q1

Q’

D Q

Q2

Q’

D Q

Q3

Q’

IN/CLK

Q0

Q1

Q2

Q3Q2Q1Q0 0000

クロック入力

1/2分周

1/4分周

1/8分周

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

Q3 1/16分周

Time chart

Page 17: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

6.4 同期式順序回路Synchronous sequential logic circuit

• ディジタル回路の表現方法Ø真理値表

Ø論理式,論理方程式

Ø回路図

Øハードウェア記述言語(HDL: hardware description language)

Øタイミングチャート

Ø状態遷移図

Page 18: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• 状態遷移図/state transition diagramØ順序回路で時間とともに遷移する状態を表現したグラフ

Ø例) ミーリーグラフ/Mealy graph

状態(ノード,節点, node/vertex)

状態の移動(辺,アーク,枝, arch/edge)

SRラッチ

S0 S1

10/1

01/0

00/001/0

00/110/1

10(set=1, reset=0)/Q=1

Dフリップフロップ

S0 S1

1/1

0/0

0/0 1/1

Page 19: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

• ディジタル回路による順序回路の実現Øフリップフロップの並び(レジスタ):

• 状態を保持Ø組み合わせ論理回路:

• 現状態から次の状態(FFへの次のデータ入力)を計算

Øクロック:• 同期式の場合,クロックのエッジによりFFを書き換え

Øフリップフロップの数• 状態( )の数によって何ビットのレジスタが必要か決まる.

• 例)– 状態の数=4 ・・・ 22つまり2ビットレジスタ(FFが2個)– 状態の数=6 ・・・ 22<6<23 3ビットあれば済む

Page 20: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

設計例1 Dフリップフロップ

1) 状態遷移図2) 状態遷移表

3) カルノー図

現状態y

次の状態Y入力x=0, x=1

S0 : 0S1 : 1

S0: 0 S1: 1S0: 0 S1: 1

出力x=0, x=1

0 10 1

y/x 0 1

01

0 10 1

x 状態遷移方程式:「次の状態Y」を現状態yと入力xにより記述

S0に0, S1に1を状態として割り当てる(状態がユニークに決まれば何でも良い)

S0 S1

1/1

0/0

0/0 1/1

Yに関して

入力xと現在の状態yにより「次の状態Y」が決まる(状態が遷移する).

𝑌 = 𝑥

Page 21: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

4) Dフリップフロップによる構成次式のD-FFの特性方程式を用いて,順序回路を構成する.

𝑄'() = 𝐷つまり,状態遷移図の「次の状態Y」 をD-FFの𝑄'()と考えれば良い

𝑌 = 𝑄'()以上より,D-FFの入力方程式は

𝐷 = 𝑌 = 𝑥

4) 回路図

D-FF:入力Dが次の状態𝑄'()

入力方程式:FFの入力を現状態yと入力xで記述.この入力によりクロックのエッジで次の状態が決まる.D-FFの場合は単純に状態遷移方程式でYをDとしたもの.

x

クロック

D Q Y

𝐷 = 𝑥 𝑌 = 𝑄'() = 𝑥

...Dフリップフロップそのものになる(当たり前)

Page 22: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

設計例2 T-フリップフロップ

Ø状態遷移図

Ø以上より,D-FFを用いて構成すると𝐷 = 𝑌 = 𝑥1𝑦 + 𝑥𝑦1𝑦 = 𝑄'

S0 S1

1/1

1/0

0/0 0/1

y Yx=0, x=1

S0 : 0S1 : 1

0 11 0

y/x 0 1

01

0 11 0

x

CLK

D Qn

Y

状態遷移表

𝑌 = 𝑥1𝑦 + 𝑥𝑦′

状態遷移方程式

Page 23: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

Øあるいは

Ø以上より

S0 S1

*/1

*/0

y Y

01

10

D =Y = y ' =Qn '

CLK

D Qn

Qn’

CLK

Qn

*: don’t care

𝑌 = 𝑦′

状態遷移表

状態遷移方程式

状態遷移図

前節のカウンタ/分周器の1ユニット

Page 24: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

設計例3

“0011”というビットの並びを待つ1ビット入力回路Ø状態は4つ...2ビットで実現できる

• S0: 「0を待つ」という状態• S1: 「0の後で0を待つ」という状態• S2: 「00の後で1を待つ」• S3: 「001の後で1を待つ」

S0 S1

1/1

1/0

1/0 S2 S3

1/0

0/0

0/0

0/0

0/0y1y0

Y1Y0x=0, x=1

S0 : 00S1 : 01S2 : 11S3 : 10

S1 : 01 S0 : 00S2 : 11 S0 : 00S2 : 11 S3 : 10S1 : 01 S0 : 00

状態が決まれば何でも良い

このとき1を出力

状態遷移表状態遷移図

Page 25: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

Øカルノー図

Ø以上より

ただし

y1y0/x 0 1

00011110

0 01 01 10 0

Y1 = y1y0 + x ' y0= y0 (y1 + x ')

Y1 y1y0/x 0 1

00011110

1 01 01 01 0

Y0 = x '

Y0

D1 =Y1 = y0 (y1 + x ')D0 =Y0 = x '

y1 =Q1,n,Y1 =Q1,n+1y0 =Q0,n,Y0 =Q0,n+1

CLK

D Q次の状態

Y=Qn+1

現状態y=Qn

CLK

D Q次の状態

Y=Qn+2

現状態y=Qn+1

CLK

状態遷移方程式 状態遷移方程式

Page 26: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

�����!� ���

���

����

�����

���

�������

Ø回路図

D Q次の状態Y1

𝑄),' + 𝑥1

D Qx

1

0

𝑄),'

𝑄4,'(𝑄),' + 𝑥1)

𝑄4,'

次の状態Y0

出力回路は省略

Page 27: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

設計例4 5進カウンタquinary (5-ary) counter

0,1,2,3,4,0,1,2,3,4,,, と順にカウントする同期式カウンタ(2進カウンタは既出の通りで簡単)

Ø状態は5つ...3ビットで実現できる• S5 -S7 (101-111)の場合はdon’t careで000に戻ることにする

y2y1y0 Y2Y1Y0

S0 : 000S1 : 001S2 : 010S3 : 011S4 : 100S5 : 101S6 : 110S7 : 111

S1 : 001S2 : 010S3 : 011S4 : 100S0 : 101S0 : 000S0 : 000S0 : 000

状態遷移表

現在のD-FFの状態:カウント値とするのが簡単

Page 28: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

Ø状態遷移表よりカルノー図を書き、まとめると𝐷7 = 𝑌7 = 𝑦7′𝑦)𝑦4𝐷) = 𝑌) = 𝑦71 𝑦)’𝑦4 + 𝑦71 𝑦)𝑦4′𝐷4 = 𝑌4 = 𝑦7′𝑦4′

Ø以上より

CLK

D QD2

y2

D QD1

y1

D QD0

y0

状態遷移方程式

現在の状態 y2, y1, y0で決まるD2, D1, D0を各FFに入力し、クロックが入ると、出力𝑄𝑛は次の状態Y2, Y1, Y0に遷移する。

2 1 0

具体的な組み合わせ回路は省略

Page 29: Flip-flop - 九州大学(KYUSHU UNIVERSITY)o.ed.kyushu-u.ac.jp/DE/2019/ch6.pdf•SRラッチの応用(NANDゲートSRラッチ) Øスイッチを上に倒しても,接点はすぐには繋がらない

同期式順序回路の解析Analysis of sequential circuit

• 解析例

D QY1=Q1,n’ Q0,n’

D Q

1

0

Q’

Q’Y1=Q1,n Q0,n’

y1y0 Y1Y0

S0 : 00S1 : 01S2 : 10S3 : 11

10 (S2)00 (S0)01 (S1)00 (S0)

S0=00 S1=01 S2=10

ダウンカウンタ

S3=11