ショボ短歌会

Dフリップフロップ(D-FF)を3つと論理素子(AND, OR, NOT, NAND, XOR, NOR)を使って3bitアップダウンカウンタ(Up/Down Counter)⦅000~111⦆をlogic worksを使って設計しなくてはならないのですが、どぉつくればいいのかさっぱり分かりません(泣)
【設計仕様】
クロックが入り入力信号によってUp, Down, Hold, 2Upを行う。
1)入力:U,D
UD=00(現在の値を維持), 01(down count), 10(up count), 11(2ずつ up count)
2)出力:C,B,A(Cが上位ビット)

分かる方ご教授お願いします((´;ω;`))

A 回答 (1件)

logic worksについては知りません。

すいません。

まず、クロックごとに1足すだけの単純なカウンタは作れますね?
次にUDの値に応じて変化量(-1,0,+1,+2)をセレクタで選ぶのはできますよね?
0,1,2は加算器でいいけど-1は減算しなくちゃいけない!
加算器と減算器の両方つくるの?めんどくさ!と思うかもしれませんが、
2つ方法を思いつきました。

1つは-1の代わりに+7としても結果は変わらないので、加算器だけでやり通す。

もう1つは加算器と減算器を統合したAdder–subtractorをつくることです。
そんなに難しくありません。加算器にちょろっと手を加えるだけです。
Adder–subtractor(Wikipedia 英語)
https://en.wikipedia.org/wiki/Adder%E2%80%93subt …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!