2013-12-14 59 views
0

我有一個參數化細胞 - 一個n位的寄存器,其定義爲:實例化在賽靈思參數化的細胞示意

module Register #(parameter n = 16)(
    output reg [n-1:0] OUTPUT, 
    input [n-1:0] INPUT, 
    input RST, EN, CLK); 
// bla bla bla 
endmodule 

賽靈思的Verilog模塊我可以例如該n位的寄存器,像這樣:

Register #(8) REG1 (OUT, IN, RST, EN, CLK); 

(如所見here)。

如何將此寄存器與8位輸入/輸出實例化爲賽靈思原理圖

回答

0

不幸在賽靈思示意圖實例是固定的;因此您無法設置參數。您的最佳選擇是創建一個新模塊,可能名爲Register_8bit,它將n設置爲模塊中的參數。然後可以單獨命名單獨的大小模塊,但只有內部參數必須更改。

module Register_8bit (
    parameter n = 8; 
    output reg [n-1:0] OUTPUT, 
    input [n-1:0] INPUT, 
    input RST, EN, CLK); 
// bla bla bla 
endmodule 

這樣可以最大限度地重複使用代碼,同時仍然允許頂級原理圖視圖的優點。