我收到一个错误,提示'索引在信号中不受支持'。从我所看到的错误位于非阻塞赋值的左侧。为什么下面的代码给出了一个错误,有没有办法解决它?Verilog:信号不支持变量索引
...
parameter width = 32;
parameter size = 3;
input clk, reset;
input [width*size-1:0] A;
input [width*size-1:0] B;
output [width*size-1:0] result;
reg signed [width*size-1:0] partials;
reg signed [width-1:0] temp;
reg signed [width-1:0] currenta;
reg signed [width-1:0] currentb;
wire signed [width-1:0] temp1wire;
...
integer k = 0;
always @ (posedge clk)
begin
currenta[width-1:0] <= A[width*k +: width];
k = k+1
currentb[width-1:0] <= B[width*k +: width];
partials[width*k +: width] <= temp1wire;
end
Add Add1(clk, temp1wire, currenta, currentb);
...
此代码是一个连续块,做矢量相加,并保存在partials[width*k +: width]
结果的一部分。
在什么情况下会出现posedge?提供这些细节。 – vim
在哪里/如何定义宽度? – dwikle
'posedge'是一个关键字。你的意思是'posedge clock'吗? – Greg