
ハーフアダー(半加算器)の設計について質問です。
(1)以下の指針に従ってハーフアダーのverilogHDL記述を行いなさい。
・ モジュール名をhalfadder とする。
・ ポートリストは(A, B, Y, CO) とする。
・A, B は単一ビットの入力ポートY, CO は単一ビットの出力ポートである。
・画像の論理回路に示したゲートの接続に従って記述する。
ハーフアダーのHDL記述
module halfadder(A,B,Y,CO);
input A,B;
output Y,CO;
assign Y=A^B;
assign CO=A&B;
endmodule
(2)以下の指針に従ってハーフアダーのテストベンチを作成せよ。
・モジュール名をtest_halfadder とする。
・テスト入力のreg信号名をa, b とする。
・テスト出力のwire信号名をsum, carry とする。
・タイムステップを#50とし,タイムステップごとにa, b の値を変えてシミュレーションを行う。a, bの値の組み合わせは画像の真理値表のケースi~ケースivに従うこと。
・システムタスクの$monitorを使って,シミュレーション結果を「時刻,a, b, sum, carry 」の並びでシミュレータのTranscriptウィンドウに表示できるようにする。
テストベンチ
module test_halfadder;
reg a,b;
wire sum,carry;
halfadder ha (.A(a), .B(b), .Y(sum), .CO(carry));
initial begin
a=0; b=0;
#50 a=1; b=0;
#50 a=1; b=0;
#50 a=0; b=1;
#50 $finish;
end
initial begin
$monitor($stime, "a=%b b=%b sum=%h carry=%h",a,b,sum,carry);
end
endmodule
実際にmodelsimで動かしてみたんですけど、波形がおかしく合ってる気がしません。
(1)は合ってると思うんですけど、(2)が不安です。
(2)でおかしい箇所があれば教えていただきたいです。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像生成AIのプロンプトの作り...
-
vba 正規表現について教えてく...
-
pythonでのローカルファイルか...
-
if関数とは?
-
プログラム言語
-
今のプログラミング言語
-
vba クリップボードクリアにつ...
-
itエンジニアに就職希望で未経...
-
Pythonのエラーメッセージをコ...
-
P2P地震速報のEEW APIの仕様書...
-
著作権法について
-
プログラミングについて
-
自作scratch アニメの商用利用
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
Python 3.12.2 か一番最新のパ...
-
MOVEコマンドでサブフォルダー...
-
AIがプログラムする時代のプロ...
-
pythonについて(初心者です)
-
pythonでhtmlファイルの指定文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBからBeckyを使用したメール送...
-
texに関する初歩的な質問
-
Excel-VBA コンテンツの作成日時
-
VB6 コードでメニュー作成
-
C#単体テストで同クラス内の呼...
-
JUnit結果出力をファイルに書き...
-
仕様書に書かれていないこと
-
ハノイ塔の非再帰について
-
メッセージボックスのタイトル設定
-
C#の単体テストでローカル変数...
-
Visial C++におけるプログラミング
-
EXCEL_VBAでOracleにADO接続し...
-
ホームページ・ビルダーで「e...
-
テスト仕様書作成って初心者(...
-
UPS APC製 C#2005でバッ...
-
プログラムを実際に実行したと...
-
VB.NETで通信
-
二分検索のサイトを探しています。
-
Debug.Writeで困っています(VB...
-
Verilogの参考書のお勧めを教え...
おすすめ情報