-1
Как я могу создать копии двух разных модулей третьим модулем?Как создать два модуля с одним модулем в Verilog?
module instantiate (modx, mody);
// ?
endmodule
Как я могу создать копии двух разных модулей третьим модулем?Как создать два модуля с одним модулем в Verilog?
module instantiate (modx, mody);
// ?
endmodule
Просто создайте их. 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
Здесь вы можете найти ответы [Verilog: как создать экземпляр модуля] (http://stackoverflow.com/q/20066850/97073). – Morgan