Quartus returns this error: "and indexing x returns an aggregate value". The code:
module splineInterp(x, y);
input real x [64:0][0:4];
output real y;
y = x[1] - x[0];
endmodule
Quartus returns this error: "and indexing x returns an aggregate value". The code:
module splineInterp(x, y);
input real x [64:0][0:4];
output real y;
y = x[1] - x[0];
endmodule
You have a 2-dimensional (unpacked) array of reals:
input real x [64:0][0:4];
It is illegal in Verilog to not index all unpacked dimensions (if you index any of them). Adding the missing assign
statement, this is still illegal:
assign y = x[1] - x[0];
because you have only indexed the first dimension. You will have to say something like
assign y = x[1][4] - x[0][4];
Basically, the error message is telling you that x[0]
is an aggregate value - ie it's an array of reals, not a real.