有人可以向我解释我做错了什么。我不知道我是否不理解这个概念或什么。我已经看了两个可靠的例子,这两个例子都提供了完整的代码,但也许我错误地接错了什么。四位加法器了解
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]的事情? –