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

D フリップフロップ

ドキュメント内 Microsoft Word - 0-オリエンテーション.doc (ページ 33-38)

f 3次元

5. ラッチ (latch) とフリップフロップ (flip-flop) 論理回路で用いられる記憶素子の総称。

5.6. D フリップフロップ

Dラッチをカスケード接続(マスター・スレイブ構成)したもの。

5.6.1. 回路

Q Q D Q

G Q

D Q G Q Q D Q G CK

D

Q Q P Q

5.6.2. (わかりにくい)特性表

CK D P Q

0 0 0 Q(Qの直前の状態を保持)

0 1 1 Q(Qの直前の状態を保持)

1 0 P(=D:CK=1になる直前のDの値) P(=P=D:CK=1になる直前のDの値)

1 1 P(=D:CK=1になる直前のDの値) P(=P=D:CK=1になる直前のDの値)

5.6.3. 記号*

Q Q D Q

“>”はクロック入力(CK)を示す。¯Q出力がない場合の記号は、以下のとおり。

D Q

5.6.4. 動作波形**

CK D P Q

・(わかりやすい)特性表を、こう書くこともある**。

CK D Q

0 0(=D:CKが立上がる直前のDの値)

1 1(=D:CKが立上がる直前のDの値)

例題1:シフトレジスタ*

Dフリップフロップを以下のように多段接続し、入力Dを与えたときの動作波形を描け。ただし初期値として、

Q0=Q1=Q2=Q3=0とする。

Q

0

CK

D D Q D Q D Q D Q Q

1

D Q D Q Q

2

D Q D Q Q

3

CK D Q

0

Q

1

Q

2

Q

3

このように1クロックずつ、波形が遅れる機能を持つ回路をシフトレジスタという。

例題2:T(トグル)フリップフロップ*

Dフリップフロップを以下のように接続したときの、動作波形を描け。ただし初期値として、Q=0とする。

Q Q D Q CK

Q

Q Q

または

CK

D Q Q D Q

Q Q

CK Q Q Q

QはCKの周波数を半分にしたものであり、一般に、周波数を半分にする回路を分周器という。また、出力が クロック入力に同期して反転することをトグルといい、フリップフロップで実装したこの回路をT(トグル)

フリップフロップという。

5.7. T(トグル)フリップフロップ

Tフリップフロップは、クロック入力Tの半分の周波数を、Qから出力する。

・特性表と記号

T Q

¯¯

Q(反転)

Q Q Q

T

または

Q T

5.8. JKフリップフロップ^

その他のフリップフロップの1つに、JKフリップフロップがある。

・特性表と記号

CK J(セットに対応) K(リセットに対応) Q

0 0 Q(保持)

0 1 0(リセット)

1 0 1(セット)

1 1 Q¯¯(反転)

Q

Q

J Q

K

6. 順序回路

出力が、現時点の変数入力と、過去の状態に依存する論理回路。すなわち、過去の状態を記憶する回路(記 憶回路:ラッチ、フリップフロップ)が含まれる。

6.1. モデル

6.1.1. 組み合わせ論理回路のモデル

現時点での入力のみによって、出力が決まる。

組み合わせ

入力A 論理回路 出力Y

6.1.2. 順序回路のモデル(ミーリー型モデル)

現時点での入力+過去の状態で、出力と次の状態が決まる。

組み合わせ 論理回路

入力 A 出力 Y 記憶回路 過去の

状態S

6.2. 同期式順序回路

同期式順序回路とは、クロックに同期して、出力が変化する順序回路。D フリップフロップを記憶回路とし て用いれば、同期式順序回路を構成できる。この講義では、非同期式順序回路については触れない。

6.2.1. 同期式順序回路モデル(ミーリー型モデル)*

組み合わせ 論理回路

入力A 出力Y

現在の 記憶状態S

(t)

S

(t+1)

D Q

CK

S

(t)

次の(1クロック後の)

記憶状態S

(t+1)

具体的な回路図で書くと、以下のとおり。

6.3. 状態遷移図と状態遷移表

順序回路の設計には、状態遷移図と状態遷移表を用 いる。

6.3.1. 状態遷移図**

状態の変化を、入力・出力とともに図示したもの。

ラベルは入力/出力(=A/Y)を表す。接点(○)は状態 を表し、現在はいずれかの状態にある。1クロックご とに必ず、どこかの状態に遷移する。矢印はその遷 移を表す。

S

0

S

1

S

3

1/0

1/1 1/1

S

2

1/1

0/0 0/0

0/0

A/Y

0/0

この場合,状態数は4であり,2個のDフリップフ ロップが必要である。

6.3.2. 状態遷移表**

状態遷移図を表に書下したもの。

現在の状態S(t) 次の状態S(t+1) 出力Y 入力A 入力A

0 1 0 1

S0 S0 S1 0 0 S1 S1 S2 0 1 S2 S2 S3 0 1 S3 S3 S0 0 1 6.3.3. 状態変数

次に、状態に固有の変数を割り当てる。kビットの変 数で、2k状態まで表現できる。

S0、S1、S2、S3は4状態であり、2ビット(2つのD フリップフロップ)で表現できる。どの状態に、[00]2、 [01]2、[10]2、[11]2を割り当てるかは、一般に任意で あるが、割り当て方によって、回路規模は異なる。

ここでは、S0=[00]2、S1=[01]2、S2=[11]2、S3=[10]2

とすると、状態遷移表は以下となる

現在の状態S(t) 次の状態S(t+1) 出力Y 入力A 入力A

0 1 0 1

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

6.3.4. 回路化**

S(t)=[Q1(t) Q0(t)]2、S(t+1)=[Q1(t+1) Q0(t+1)]2とする。

・Q1(t+1)のカルノー図は、以下で与えられる。

Q1(t+1) A

Q1(t)Q0(t) 0 1 00 0 0 01 0 1 11 1 1 10 1 0 Q1(t+1)=Q1(t)A+Q¯ 0(t)A

・Q0(t+1)のカルノー図は、以下で与えられる。

Q0(t+1) A

Q1(t)Q0(t) 0 1 00 0 1 01 1 1 11 1 0 10 0 0 Q0(t+1)=Q

¯¯

1(t)A+Q0(t)A ¯

・Yのカルノー図は、以下で与えられる。

Y A Q1(t)Q0(t) 0 1

00 0 0 01 0 1 11 0 1 10 0 1 Y=(Q1(t)+Q0(t))A

・結局、回路は以下のようになる。

・例題1

クロック入力 CK に同期して、記憶している値を 1 ずつ増やす回路をアップカウンタという。入力Aが A=0のときには、出力 Y=[Y1Y0]は[00]→[01]→[10]

→[11]…とカウントアップし、A=1 のときには、ホ ールド(出力そのまま)するカウンタを設計せよ。

状態遷移図:

S

3

[11]

S

0

[00]

S

1

[01]

S

2

[10]

0/01 0/11

0/00

0/10

1/00 1/01

1/10 1/11

A/Y

1

Y

0

状態遷移図:

Q1(t)Q0(t) Q1(t+1)Q0(t+1) Y1Y0

A A

0 1 0 1

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

Q1(t+1)のカルノー図:

Q1(t+1) A

Q1(t)Q0(t) 0 1 00 0 0 01 1 0 11 0 1 10 1 1

Q0(t+1)のカルノー図:

Q0(t+1) A

Q1(t)Q0(t) 0 1 00 1 0 01 0 1 11 0 1 10 1 0

結局、回路は以下のようになる。

・例題2

クロック入力CKに同期して、出力Y=[Y1Y0]を[01]

→[01]→[10]→[11]…とカウントアップする回路を設 計せよ。

状態遷移図:

S

3

[11]

S

0

[00]

S

1

[01]

S

2

[10]

X/01 X/11

X/01

X/10

ドキュメント内 Microsoft Word - 0-オリエンテーション.doc (ページ 33-38)

関連したドキュメント