解答編 可変長符号デコーダ 非同期リセット端子を持つD-FFを使用した場合 井口幸洋 明治大学理工学部情報科学科 [email protected] 2015/9/30 1 可変長符号デコーダ 表1 受信符号と出力 文字 符号 charsig charsig[3] A 0 0001 charsig[2] reset_N charsig[1] B 10 0010 C 110 0100 charsig[0] D 111 その 他 その 他 1000 0000 sdata clock 図1 端子 2015/9/30 2 可変長符号デコーダの状態図 • ムーア型で作成 reset_N 1 1 S0/0000 0 SA/0001 0 2015/9/30 S1/0000 1 0 1 1 0 1 SB/0010 S2/0000 1 0 SD/1000 0 SC/0100 図2 状態図 3 状態割り当て • 状態数 7 • ワンホット・エンコーディング – – – – – – – 2015/9/30 S0 S1 S2 SA SB SC SD 7’b0000001 7’b0000010 7’b0000100 7’b0001000 7’b0010000 7’b0100000 7’b1000000 状態数が7なのでワンホット・ エンコーディングを用いると、 7個のD-FFで実現できる. 4 可変長符号デコーダ state[6:0] sdata D6 Q6 D5 Q5 D4 組 Q4 合 Q3 せ 回 Q2 路 Q1 Q0 D3 [6] charsig[3] [5] charsig[2] [4] charsig[1] [3] charsig[0] D2 [2] D1 [1] D0 [0] clock PRESET D Q Q CK reset_N 2015/9/30 非同期リセット・プリセット端子 付きエッジトリガD-Flip Flop +5V 図3 可変長符号デコーダの回路図 RESET 5 遷移表 次状態 sdata = 0 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q 0 S 0 0 0 0 0 0 0 1 S 1 0 0 0 0 0 1 S 2 0 0 0 0 1 S A 0 0 0 1 S B 0 0 1 S C 0 1 S D 1 0 sdata = 1 D 6 D 5 D 4 D 3 D 2 D 1 D 0 S A 0 0 0 1 0 0 0 0 S B 0 0 1 0 0 0 0 0 S C 0 1 0 0 0 0 0 0 S A 0 0 0 1 0 0 0 0 S A 0 0 0 0 0 0 0 0 S A 0 0 0 0 0 0 0 S A 0 0 2015/9/30 D 6 D 5 D 4 D 3 D 2 D 1 D 0 S 1 0 0 0 0 0 1 0 0 S 2 0 0 0 0 1 0 0 0 0 S D 1 0 0 0 0 0 0 0 0 0 S 1 0 0 0 0 0 1 0 1 0 0 0 S 1 0 0 0 0 0 1 0 0 1 0 0 0 S 1 0 0 0 0 0 1 0 0 1 0 0 0 S 1 0 0 0 0 0 1 0 6 機能表より得られる論理式(D0) まず D0を考えてみよう。表か らつねに0であること がわかる。 D0 0 が得られる。 つまり、 S0の状態になるのは reset _ N信号が0になった時だ け である。 2015/9/30 7 機能表より得られる論理式(D1) D1を考えてみよう。 D1 1になるのは、 sdata 1 かつ 現在の状態がS 0, SA, SB, SC, SDの時、つまり、 Q0 1, Q3 1, Q 4 1, Q5 1, Q6 1のどれかであればよい 。 これより D1 sdata Q0 Q3 Q 4 Q5 Q6 または D1 sdata (Q1 Q 2) でもよい。 2015/9/30 8 機能表より得られる論理式(全部) D0 0, D1 sdata Q0 Q3 Q 4 Q5 Q6 sdata Q1 Q 2 , D 2 sdata Q1, D3 sdata Q0 Q3 Q 4 Q5 Q6 sdata Q1 Q 2 , D 4 sdata Q1, D5 sdata Q 2, D6 sdata Q 2. バグはあるかもしれません。各自確かめてみてください。 論理回路図は省略します。各自で書けるようにしておくこと。 2015/9/30 9
© Copyright 2024 ExpyDoc