我是Verilog编码的新手,正在尝试设计16x16寄存器文件。
到目前为止,我设计了一个16位寄存器,它由带有使能的16个D触发器组成。我现在正在尝试设计寄存器文件体,它由16个16位寄存器组成。输入为d [15:0],e [15:0],时钟和复位。输出将为q [15:0] [15:0]。如何在Verilog中指定此输出?
答案 0 :(得分:0)
您的代码q[15:0][15:0]
将为您提供一个2d数组,其中每个元素为1位。那不是你想要的。
下面的代码将为您提供1d阵列:16个regs,每个16位宽。
output reg [15:0] q [15:0];
请注意,在verilog中,您应该在将模块之间传递之前将此类数组展开为向量。阵列样式端口是SystemVerilog功能。