我收到一個錯誤,提示'索引在信號中不受支持'。從我所看到的錯誤位於非阻塞賦值的左側。爲什麼下面的代碼給出了一個錯誤,有沒有辦法解決它?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