爲什麼不爲每個模塊設置參數並將其用作ID?然後設置參數唯一爲每個實例:
module A;
parameter ID = 0; //default value
case (ID)
0: //specific code for ID0
1: //specific code for ID1
2: //specific code for ID2
3: //specific code for ID3
endcase
endmodule
,而最模塊:
module top;
A #(.ID(0)) inst_0 (...);
A #(.ID(1)) inst_1 (...);
A #(.ID(2)) inst_2 (...);
A #(.ID(3)) inst_3 (...);
endmodule
一對夫婦的其他有用的觀點:
您可能要檢查generate block
或vectorized/array module instantiation
,這讓你實例化一個模塊數組。
另外,請注意,一般情況下,每個模塊都可以看到整個層次結構。每個模塊裏面,你可以使用hierarchical expression
接入信號:
module A;
reg s;
....
initial $display("The initial value of signal s in instance A_2 is:", top.inst_2.s);
endmodule
要小心的是不建議這樣做,因爲你的模塊描述是具體到您的層次結構。
來源
2014-04-21 16:49:52
Ari