状態遷移マシン(2)


宿題6のD-FFによる状態遷移マシンの復習

(1)

宿題6−3のFF部分の回路図  
 
動作波形図 状態遷移図

(2)

宿題6−4の回路図  
 
動作波形図  

以下の内容が重要!!!


Dフリップフロップを用いて状態遷移マシンを設計する
(ディジタル回路の後半の講義で最も重要な内容)

(例題1)整数で書いて、0、1、2、3、4、5、0、1、2、3、4、5、と0から5を繰り返すカウンタを設計する。
実際には、2進法で"000", "001","010", "011", "100", "101"を繰り返すようにする、RESET信号で"000"に戻せるようにする。

(STEP1) "000", "001","010", "011", "100", "101" なる6つの状態をもつ必要があるので、3つのDフリップフロップが必要である。また、RESET信号が’1’の時に、3つのD−FFの出力を’0’にする必要があるので、RESET付のD−FFを用いると、以下のようになりそう。

(STEP2) 上記回路では、CLOCKの立ち上がりエッジにてD0はQ0へ、D1はQ1へ、D2はQ2へ転送される。

したがって、組み合せ回路は入力Q0, Q1, Q2から次の状態を作り出し、それをD0, D1, D2へ出力すれば良い。

したがって、以下の真理値表に示される組み合せ回路を設計すれば良い。’X’はDON’T CAREです。

入力   出力
 Q2   Q1   Q0     D2   D1   D0 
 
 
 
 
 
 
 
 

(STEP3) 上記真理値表からカルノー図を作成して、組み合せ回路を設計する。

D2のカルノー図 D1のカルノー図 D0のカルノー図

D2 = Q1・Q0 + Q2・Q0'

D1 = Q1・Q0' + Q2'・Q1'・Q0

D0 = Q0'


もし、D−FFの出力が整数で6="110"や7="111"になったらどうなるのか?

すなわち、もし雷等のノイズでD−FFの出力が整数値で6になると、以下のように動作する。

6 ⇒ 7 ⇒ 4 ⇒ 5 ⇒ 0 ⇒ 1 ⇒ 2 ⇒ 3 ⇒ 4 ⇒ 5 ⇒ 0

6 ⇒ 0 ⇒ 1 ⇒ 2 ⇒ 

もしくは

7 ⇒ 0 ⇒ 1 ⇒ 2 ⇒ 

となるように設計できる。

雷などのノイズを考えれば、DON’T CARE を使わない設計も重要である。


宿題7  学籍番号 名前 日付 を書いて 提出すること。

1)整数で書いて、0、1、2、3、4、0、1、2、3、4、と0から4を繰り返すカウンタを設計する。
実際には、2進法で"000", "001","010", "011", "100", "000"を繰り返すようにする、RESET信号で"000"に戻せるようにする。DONT' CAREを用いて、設計せよ。

2)整数で書いて、0、5、4、3、2、1、0、5、4、3、2、1、0と繰り返すカウンタを設計する。
実際には、2進法で"000", "101","100", "011", "010", "001", "000"を繰り返すようにする、RESET信号で"000"に戻せるようにする。例題と同様にDON'T CAREを利用して、回路を小さくすること。

3)上記カウンタでは3ビットのD−FFを用いたので、D−FFの出力が、整数で、6,7になることはないが、実際の電子機器では雷等のノイズで、D−FFの出力が6,7に誤動作で変化することがある。
このようなノイズに対応するために、D−FFの出力が整数で、6もしくは7になっても、次のサイクルで0に変化し、以下のように動作するように設計し直せ。

以上