我有一个输入和输出的程序,如下所示:
module RegBlock(
input [31:0] WriteRegData,
input [4:0] rs, rt, WriteRegIn,
output [31:0] op1, rtData
);
reg [31:0] op1, rtData, data [0:31];
'数据[0:31]'是一个后来声明的数组,在声明之后,我试图按如下方式分配输出:
assign op1 = data[rs];
assign rtData = data[rt];
assign data[WriteRegIn] = WriteRegData;
我一直收到错误" WriteRegData"不是一个常数。由于它刚刚在程序开始时被声明为输入,我不确定问题是什么。我正在使用Xilinx ISE。
答案 0 :(得分:0)
使用连续分配时:
commit
你无法改变左侧的索引。您可能希望在always进程中使用过程赋值来实现您想要的目标:
assign data[WriteRegIn] = WriteRegData;