有人可以向我解釋我做錯了什麼。我不知道我是否不理解這個概念或什麼。我已經看了兩個可靠的例子,這兩個例子都提供了完整的代碼,但也許我錯誤地接錯了什麼。四位加法器瞭解
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
2nd - 下面是我對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 - 我不明白的試驗檯和接線一切都在一起。我看過這兩個鏈接,這兩個鏈接有兩種不同的方式。 Link 1Link 2。我試圖複製鏈接2,但似乎無法讓它工作。幫幫我?
'S [4]'超出範圍。或者展開's'或者以不同的方式管理最後的進行。 – Greg
好吧,我明白了。而不是s [4]會不會認爲我應該在最後再做一些類似co [2]的事情? –