如何通过第三个模块实例化两个不同模块的副本?
module instantiate (modx, mody);
// ?
endmodule
答案 0 :(得分:0)
只是实例化它们。 add
使用add_0
add_1
的块名称实例化两次。对于不同的模块,只需将它们实例化为testharness中的主要块。
module add(
input [31:0] i, //32 bit unsigned
input [31:0] j, //32 bit unsigned
output reg [31:0] y //32 bit unsigned
);
always @* begin
y = i + j;
end
endmodule
module instantiate (modx, mody);
reg [31:0] a; //reg or wire depending on how it is driven
reg [31:0] b;
reg [31:0] c;
reg [31:0] d;
wire [31:0] sum1; //wire or logic as driven from an output port
wire [31:0] sum2;
add add_0(
.i( a ),
.j( b ),
.y( sum1 )
);
add add_1(
.i( c ),
.j( d ),
.y( sum2 )
);
endmodule