System verilog 在系统verilog中生成块 模块A(参数NUM#u PORT=2); 逻辑端口接线[NUM_port]; DUT DUT_inst( 生成 对于(genvar idx=0;idx
No),不能在端口列表的中间使用generate构造 但是,如果列表中的某个端口是阵列,则可以执行以下操作System verilog 在系统verilog中生成块 模块A(参数NUM#u PORT=2); 逻辑端口接线[NUM_port]; DUT DUT_inst( 生成 对于(genvar idx=0;idx,system-verilog,System Verilog,No),不能在端口列表的中间使用generate构造 但是,如果列表中的某个端口是阵列,则可以执行以下操作 module A#(parameter NUM_PORT=2); logic port_wire[NUM_PORT]; DUT dut_inst( generate for(genvar idx=0; idx<NUM_PORT; idx++) begin:num_port .port[idx] (port_wire[idx]); end:num_p
module A#(parameter NUM_PORT=2);
logic port_wire[NUM_PORT];
DUT dut_inst(
generate
for(genvar idx=0; idx<NUM_PORT; idx++) begin:num_port
.port[idx] (port_wire[idx]);
end:num_port
endgenerate
);
endmodule
不,这是不允许的。
module A#(parameter NUM_PORT=2);
logic port_wire[NUM_PORT];
DUT dut_inst(
.port (port_wire);
);
endmodule
module DUT #(int NP=2)(input logic port[NP]);
...
endmodule