え? 74161メーカーの等価回路と違うって? だろうなぁ、この回路はEXOR使ってるもんなぁ。
等価回路ってのは普通、組み合わせ回路部分をANDとORとNOTで書ききれるまで噛み砕いたモノだからねぇ。
EXORはANDとORとNOTに噛み砕けるから、等価回路にEXORが載ってるなんて在り得ない。
けど、同期カウンタを作る時にEXOR使うと、回路図書くのが楽だったりする。
EXORを使ったカウンタの考え方は「各種アップダウンカウンタ」のアタリ見ればヒントがあるかも。
|
んで、上で作った74161を使って5進カウンタを作るワケだけれども。。。。
非常に遺憾なコトに、このページの作者は非常にヒネクレておりますもので(^^; 常識的な素直な回答はイタシマセンw
例によって、考えるネタはあげるから、あとテキトーに考えてみてね、ってなスタンスで作った回答です。

回路は。。。うん、74161が1個あるだけ。他にANDとかORとかは要らない。
これが、どう動くかってーと、↓こんなふう。

カウント値はヘンだけど、ちゃんと5クロック周期で動作しているワケだから、5進カウンタと言えないコトはない。
一般的な5進カウンタってのは、0から4までカウントするモンだから、明らかに一般的じゃぁないけれど。。
「Q2=Q3=1'b1の時が'1'です」って、どこまで言い張れるかが勝負だぁねぇw
|
もともと16進カウンタであるハズの74161だから16クロック周期で動くハズなのに、なんで5クロック周期で動くかって?
それが、74161を使ってn進カウンタを作る時のヒケツだわ。
74161のD<0:3>入力に入れてる値と、Load端子の接続がカギ。
上の回路だと、Q3=1'b0の時に、Loadが1'b0になる。Q3とLoadが直結されてるんだから、そうだよねw
Loadが1'b0になると、74161はD<3:0>端子の値を取り込むんだけど、上の回路ではD<3:0>には4'hCが入力されている。
74161が4'hCを取り込むと、Q3出力は1'b1になるから、Load入力は1'b1になる。
そうすると、次のクロックでは普通のアップカウント動作を行う。
んで、74161が4'hC→4'hD→4'hE→4'hFとカウントして、その次のクロックで4'h0に戻ると、、
また74161のLoad端子が1'b0になって、次のクロックでカウント値はD<3:0>の値を取り込んで4'hCに戻る。
かくして、74161は5クロック周期のカウント動作を続ける。
この方法は、別に5進カウンタダケで使えるモノじゃなくて、単純にD<3:0>に与える値を変えると周期が変わる。
9クロック周期までは、この方法でイケる。
さらに、74161の出力値をデコードしてLoad端子に入れてあげると、任意のカウント値の次に任意のカウント値に戻すことが・・・おっとイケナイ書きすぎたw
|
さて、ここでまたモノズキな回路を作ってみたくなった。
キーワードは「n進カウンタ」。このキーワードをサーチして源内CAD支援ページに来る人って、ケッコ居るんで。。
で、作ってみた回路は↓こんなん。上で使った74161の回路に、ゲートを小さじ一杯追加してみた。
この回路が「n進カウンタ」をサーチして来た人が求めるモノかどうかは不明だけど、ヒントにはなるでしょ。
さぁ、In入力に与えてる値と、カウンタの動き方とを、よーく比べて見てみよう。
|