研究ブログ

2017年7月の記事一覧

N-ary Counter by using basic logic circuits

  • 実際の仕事現場において,基本的な論理回路を用いてカウンタを作ることは,もはや殆ど無いと考えられる.
  • if文を用いた強制リセット法によるn進カウンタをHDLで書けば良い.


  • しかしながら,編入学試験においては,より基本的な論理回路を用いたn進カウンタの問題が出ることがある.
それでは,より基本的な論理回路を用いたn進カウンタを作成する.
  • T-FFを思い出す.
    • 入力が入るたびに出力がトグルするToggle FFがカウンタの基本.
  • 次に,10進数0~15までと2進数の対応表を書く.
    •  10進数 2進数
       0これくらいで 
       0000
       1透明文字を 
       0001
       2探すな!
       0010 
       3減点20点! 0011
       4 0100
       5 0101
       6 0110
       7 0111
       8 1000
       9 1001
       10 1010
       11 1011
       12 1100
       13 1101
       14 1110
       15 1111 

  • 前述のT-FFの動作と見比べてみる.最下位ビットはT-FFそのもの.

  • T-FFを用いた非同期式カウンタを作成する.
    • ヒント:電子回路の授業のレポートで行った,下記課題を思いだす.
      • 74シリーズのD-FFのICを一つ例示せよ.
      • 授業中に解説したごく基本的なD-FFとの違いを記述せよ. → 答えは,PREとCLEAR端子の相異でした.

  • JK-FFを用いてn進カウンタ回路を作成する.(ちなみに下記の図は何進でしょう?)
    • ヒント:まずはJK-FFを用いたT-FFを作成するところかは始める.
    • そして,JK-FFを下記の様に配線する.

    • 所定のNになったとき,CLEARをかけて,カウンタを0に戻す「強制リセット法」によってn進カウンタ(16まで)を作成出来るようになる.
      • 3進カウンタを作成せよ.
      • 4進カウンタを作成せよ.
      • 5進カウンタを作成せよ.
      • 6進カウンタを作成せよ.
      • 7進カウンタを作成せよ.
      • 8進カウンタを作成せよ.
      • 9進カウンタを作成せよ.
      • 10進カウンタを作成せよ.
      • 11進カウンタを作成せよ.
      • 12進カウンタを作成せよ.
      • 13進カウンタを作成せよ.
      • 14進カウンタを作成せよ.
      • 15進カウンタを作成せよ.
  • 同様の回路を,D-FFを用いて構成できますか?
0

N-ary counter

  • n進カウンタ(nは最大16まで)を作成する.
    • 以前10進カウンタを作ってもらった.
    • そして,その表示部分を7セグにした10進カウンタ2を作成してもらった.
    • これを踏まえて,より汎用性のあるn進カウンタを作成する.
    • ヒント1:10進カウンタを参考に作る.
    • ヒント2:例えばparameter n=15とか,parameter n=10とか静的に記述した後に,コンパイルして下さい.
0

D-FFによるJK-FFの構成

下記の励起表を作成して下さい.
ただし,入力が0でも1でもいい場合は,*で表してください.


 Q(n)
 Q(n+1)J KD
 0 0 0* 0
 0 1 1 * 1
 1 0 * 1 0
 1 1 * 0 1

励起マトリクスの作成
  • 変化前の出力Q(n)およびJ, K入力とDの関係をカルノー図に書く.
  • Dについて

  •  Q(n)\JK 00 01 11 10
     0 0 0 1 1
     1 1 0 0 1

  • 論理式の構成
    • Dについて,D=Q(n)J+Q(n)K


DE0上で,構成し確認せよ.
0

JK-FFによるD-FFの構成

下記の励起表を作成して下さい.
ただし,入力が0でも1でもいい場合は,*で表してください.


 Q(n)
 Q(n+1) J
 0 0 0 0 *
 0 1 1 1 *
 1 0 0 * 1
 1 1 1 * 0

励起マトリクスの作成
  • 変化前の出力Q(n)およびD入力と,J, Kの関係をカルノー図に書く.
  • Jについて
  •  Q(n)\D 0 1
     0 0 1
     1 * *
  • Kについて
  •  Q(n)\D 0 1
     0 * *
     1 1 0

  • 論理式の構成
  • Jについて,J=D
  • Kについて,K=D


DE0上で,構成し確認せよ.
0

JK-FFの特性表と励起表


JK-FFの特性表を書いて下さい.
 J K Q(t+1)
 0 0 Q(n)
 0 1 0
 1 0 1
 1 1 Q(n)




JK-FFの励起表を書いて下さい.
ただし,入力が0でも1でもいい場合は,*で表してください.
 Q(t) Q(t+1) J K
 0 0 0 *
 0 1 1 *
 1 0 * 1
 1 1 * 0
0

D-FFの特性表と励起表

D-FFを考える
  • 入力はD
  • 出力はQ
    • 現時刻tのD-FFの状態をQ(t)とした際に,入力Dが入った後の状態をQ(t+1)とする.
  • この際の入力Dと出力Q(t+1)の関係をD-FFの特性表は下記の通り表される.
  •  D Q(t+1)
     0 0
     1 1

  • FFは一般に順序回路であり,前の状態に次の状態が依存すると習いましたが,このD-FFはQ(t+1)はQ(t)に依存しておらず,入力Dを次のクロックが投入されたときに出力を出す(遅延)させる回路であることが分かる.


  • さて,現時点tの状態Q(t)から,次の状態Q(t+1)を得る際の場合分けは,下記のD-FFの励起表で表される.
  •  Q(t) Q(t+1) D
     0 0 0
     0 1 1
     1 0 0
     1 1 1

特性表と励起表のまとめ
  • 「入力と現在の状態に対する次の状態」を表す.→特性表
  • 「求める状態変化に対する入力」を表す.→励起表

下記のD-FF等価回路を作成し,その動作をDE0上で確かめよ.
0