我有一个参数化单元 - 一个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实现此寄存器?
答案 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
这允许最多地重用代码,同时仍然允许顶级原理图视图的好处。