在Xilinx原理图中对参数化单元进行实例化

时间:2013-12-14 14:12:42

标签: verilog xilinx

我有一个参数化单元 - 一个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

Xilinx Verilog模块中,我可以像这样注册这个位:

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

(见here)。

如何使用 Xilinx原理图中的8位INPUT / OUTPUT实现此寄存器?

1 个答案:

答案 0 :(得分:0)

不幸的是, Xilinx Schematics 实例已得到修复;因此你无法设置参数。您最好的选择是创建一个新模块,可能名为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

这允许最多地重用代码,同时仍然允许顶级原理图视图的好处。