誰かが私が間違っていることを説明してもらえますか? 概念を理解していないだけなのか、それとも何なのかわかりません。どちらも完全なコードを提供していますが、配線が間違っているか、何か間違っている可能性があります。
1st - Adder というファイルを作成しました。以下は私のコードです。これは完全に正常に動作します。これを使用してテスト ベンチ ファイルを作成/実行したので、意図したとおりに動作することがわかりました。ただし、FullAdder ファイルまたは FullAdder ファイルのテスト ベンチを Adder ファイルに何らかの方法で接続する必要がありますか? これらは完全に別個のファイルであり、接続されていませんか?
module Adder (a,b,ci,co,s);
input a,b,ci;
output co,s;
assign s=a^b^ci;
assign co=(a&b)|(a&ci)|(b&ci);
endmodule
2番目 - 以下はFullAdderファイルの私のコードです。これが正しいかどうかはわかりませんが、可能な変更を加えることができる場所を教えてください。私が作成したテスト ベンチは、この FullAdder ファイルにリンクされると思いますか? このファイルの構文は問題なくチェックアウトされるため、問題を引き起こしているのはテストベンチである可能性があります...
module FullAdder(a,b,ci,s);
input [3:0] a,b;
input ci;
output [3:0] s;
wire [2:0] co; // Is the wire correct here? I created this off something I saw.
Adder ADD1(a[0],b[0],ci,s[0],co[0]);
Adder ADD2(a[1],b[1],co[0],s[1],co[1]);
Adder ADD3(a[2],b[2],co[1],s[2],co[2]);
Adder ADD4(a[3],b[3],co[2],s[3],s[4]);
endmodule
3 つ目 - テスト ベンチとすべてをまとめて配線する方法がわかりません。これを行う2つの異なる方法があるこれら2つのリンクを見てきました。 リンク 1 リンク 2。リンク 2 を複製しようとしましたが、機能していないようです。ヘルプ?