有人可以向我解释我做错了什么。我不知道我是不是不明白这个概念还是什么。我看过两个可靠的例子,它们都提供了完整的代码,但也许我的接线错误或其他什么。
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
第二 - 下面是我的 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
第三 - 我不了解测试台并将所有东西连接在一起。我查看了这两个链接,它们有两种不同的方法。 链接 1 链接 2。我试图复制链接 2,但似乎无法使其正常工作。帮助?