我的意思是在使用參數和端口數組(或扁平數組方法)旁邊,是否可以動態啓用/禁用輸入/輸出端口? 更具體地說,給出如下的簡單模塊,僅在需要時纔可以顯示 B_IN,B_OUT(B_EN = 1)?如何在verilog中動態地聲明輸入/輸出端口(顯示/不顯示)?
例如
module WEIRD_MOD#(
parameter integer WIDTH_A=8,
parameter integer B_EN=0,
parameter integer WIDTH_B=13;
)
(
input [WIDTH_A-1:0] A_IN,
output [WIDTH_A-1:0] A_OUT,
// ******************************//
// only valid/show when B_EN =1 //
// ******************************//
//input [WIDTH_B-1:0] B_IN,
//output [WIDTH_B-1:0] B_OUT,
);
genvar idx_bit;
generate
for(idx_bit=0; idx_bit<WIDTH_A; idx_bit= idx_bit+1)
begin
bit_inv inv_inst(.IN(A_OUT[idx_bit]),.OUT(A_OUT[idx_bit]));
end
if(B_EN)
begin
for(idx_bit=0; idx_bit<WIDTH_B; idx_bit= idx_bit+1)
begin
bit_buf buf_inst(.IN(B_OUT[idx_bit]),.OUT(B_OUT[idx_bit]));
end
end
endgenerate
endmodule
'IFDEF,'IFNDEF –
我不能夠正確地鍵入它,它剔的ifdef和蜱IFNDEF –