2013-12-14 25 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 

这样可以最大限度地重复使用代码,同时仍然允许顶级原理图视图的优点。