情報通信で、4ビットのフルアダー回路及び演算結果の状態を表す、Z、N、V、Cフラグの回路を設計せよ。

ただし4ビットの最上位ビットはサインビットとする。
Vフラグに関しては、なぜオーバーフローが検出できるのか証明せよ。
このような問題がありまして、分からないのですが、どなたか分かる方はいらっしゃいませんでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2006/07/08 02:05:55
  • 終了:2006/07/12 01:25:24

回答(2件)

id:yo-kun No.1

yo-kun回答回数220ベストアンサー獲得回数302006/07/08 06:22:06

ポイント100pt

http://laputa.cs.shinshu-u.ac.jp/~yizawa/logic/chap9/chap9.html

まず↑のページの9.3.1.2の2進加算器のところにあるアプレットを見てください。

(注意:9.3.1.3の2進加減算器のところではありません)

ここのS1,S2,S3,S4が演算結果です。S5がCarryです。

さて、それぞれのフラグですが…


Z=NOT(S1 OR S2 OR S3 OR S4)

つまり演算結果のすべてのビットが0でなければZ=1になりません。


N=S4

最上位ビットがサインフラグなのでS4そのものです。


C=S5

これはCarryそのものです。


V=S5 XOR S4

演算結果はCarryであるS5を含めて5ビットと考えることもできます。

この場合-16~15が表現できる範囲となります。

  • 16から順に2の補数表現で列挙すると

-16:10000

-15:10001

-14:10010

-13:10011

-12:10100

-11:10101

-10:10110

-9:10111

-8:11000

-7:11001

-6:11010

-5:11011

-4:11100

-3:11101

-2:11110

-1:11111

0:00000

1:00001

2:00010

3:00011

4:00100

5:00101

6:00110

7:00111

8:01000

9:01001

10:01010

11:01011

12:01100

13:01101

14:01110

15:01111

さて、このうち演算結果が4ビットで表現できない-9以下および8以上の結果がオーバーフローと考えられ、それらの上位2ビットは必ず異なっています。

逆にオーバーフローとならない演算結果(-8以上7以下)のものに関しては上位2ビットが同じであることがわかります。

従ってオーバーフローは(S5 XOR S4)で検出できることになります。


P.S.

説明が下手で申し訳ありません。

回路に関してはHA,FAなどの略記が認められていないのであれば同じページの9.2 半加算器と全加算器をそれぞれHA,FAの箇所に当てはめてください。

id:linkin

説明下手なんてとんでもございません。

詳しく教えて頂き、本当にありがとうございます。

実はレポートの問題の1つでこのような問題が出たのですが、全く分からないで困っておりました。

まだ解らない問題もありますが、とりあえず一歩先に進む事ができました^^

2006/07/08 11:45:13
id:l-lol-l No.2

l-lol-l回答回数310ベストアンサー獲得回数102006/07/08 08:42:36

ポイント30pt

1ビットのフルアダーを4個連結する。

演算結果のnandをとってZフラグとする。

アダーは減算しないのでNフラグは常に0とする

最上位ビットがサインビットというだけでは、負の数に関する仕様が不明です。

まあ、普通に考えると、

最上位のアダーのキャリー出力をそのままCフラグとする

2番目のアダーのキャリー出力をそのままVフラグとする

でどうでしょう。

なにがわからんかでお答えも変わりますが。

id:linkin

この質問に回答して頂きありがとうございます。

ごめんなさい、勉強不足で何処がどう解らないのかもよくわからないないんですよ^^;

真剣に回答して頂きありがとうございましたm(_ _)m

2006/07/08 11:51:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません