プロが教えるわが家の防犯対策術!

加算器を使った乗算器の回路図についての質問です。
3bitと3bitの乗算で6bitの乗算器の回路図を書いています。
筆算の要領をそのまま、回路図にしてみたのですが、このような形でいいのでしょうか?

ネットや手持ちの参考書を見ても乗算器の回路図は載っていなかったため、質問しました。

また、符号がつく乗算器と、符号なしの乗算器では、回路をどのように変化させればいいのでしょうか?
よろしくお願いいたします。

「加算器を使った乗算器の回路図についての質」の質問画像

A 回答 (4件)

ああ, 「- はビット反転」とか書きながら「(1-p7[0])」なんて変なこと書いてますけど, 2の補数を作っているだけなのでその

ように理解してもらえるとありがたい.
    • good
    • 0
この回答へのお礼

ありがとうございます。
ふむふむ。

お礼日時:2010/08/11 10:33

この形を「作れ」といわれても作れないが, 「説明しろ」といわれればできる.


入力された 2つの 8ビット 2進数 a, b を符号とその他にわけて考えてみます. a の符号とその他の部分をそれぞれ s, x, b は同様に t, y としてみます. あと N = 7 = 8-1 とおきましょう.
すると, 実際に与えられた 2進数は 2の補数でそれぞれ a = x - s 2^N, b = y - t 2^N と書けますから, その積 ab = xy - (xt+ys) 2^N + st 2^(2N) です.
この式を見て図と比較すると, xy の項は p6[6]~p0[0] にいることがわかります. あと, st 2^(2N) は p7[7] として存在します.
残りの項 xt 2^N, ys 2^N はどちらも引き算で入っているのですが, この引き算を加算に置き換えるには「引く数を 2の補数にする」ことになります. で, 例えば xt 2^N は p7[6]~p7[0] にいるので, これの 2の補数をとると
.... 1 1 -p7[6] -p7[5] ... -p7[1] (1-p7[0]) 0 0 ... 0
となります (- はビット反転). ys 2^N も同様に
.... 1 1 -p6[7] -p5[7] ... -p1[7] (1-p0[7]) 0 0 ... 0
となります. この 2つを加えれば結果的に「引き算」になるのですが, ここで「最下位にある 2個の 1」と「上位にある 1 の羅列」, それと実際に値が入っている p7[6]~p7[0], p6[7]~p0[7] に分けて考えましょう. まず「最下位にある 2個の 1」を加えると 10 が出ますが, この 1 が -p0[7] のさらに左にいる 1 の正体です. 次に「上位にある 1 の羅列」を加えると .... 1 1 0 となりますが, このうち本当に必要になるのは (ビット数の関係で) 最後の 1 0 だけです.+p7[7] の左にいる 1 はこれです. 残りの部分は各行の最上位と一番下の行の最上位以外のところに整然と並んでいます.
「2の補数で表されている」ということから「積が最終的にどのように表されていればいいのか」を地道に計算すれば理解できるところだけど wikipedia の説明はなんか怪しい感じもする... ところで, いくらなんでも「加算器で減算をする方法」は大丈夫ですよね?
    • good
    • 0
この回答へのお礼

ありがとうございます。
もうちょっと考えてみます。

お礼日時:2010/08/11 10:32

「回路図」はなくても原理がわかれば回路にできるはずだよね.


あと, 3ビット同士の加算器だと出力は 4ビット.

参考URL:http://ja.wikipedia.org/wiki/%E4%B9%97%E7%AE%97% …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
原理がわかれば回路にできるかもしれませんが、
私の場合、その原理がいまいち理解できません。

参考URLのwikiも勿論チェックしましたが、
符号付きの場合の実装方法がいまいち理解できません。
参考URLにおいて
・筆算の最後の 1 +p7[7] -p7[6] -p7[5] -p7[4] -p7[3] -p7[2] -p7[1] -p7[0] 0 0 0 0 0 0 0だけ反転しているが、「減算を加算で表すため」とはどういうことか?また、減算する必要はどうしてあるのか?
・最初と最後のMSBの前の桁に1を補うことによる効果は?
ここら辺がわかっていません。
よろしくお願いいたします。

お礼日時:2010/08/08 01:29

この四角の箱は何を表しているのですか? また, 一部配線がわからないところがあります.


でも, 論理式が書いてあれば「回路図」なんてなくてもいいのでは?
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
すいません、3bitの全加算器のつもりで書きましたが、補足するのを忘れてました。
画像も荒い状態でアップされたようなので、新たにアップローダーにアップし直しました。
よろしければ見てください。
乗算器についての情報がほとんどなく、2進数の4bitの乗算の筆算方法のみについてでした。
来年の院試のチェックしてたのですが、乗算器の回路図を書く問題があり、調べていたのですが、無かったので質問しました。
よろしくお願い致します。

お礼日時:2010/08/08 00:23

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