Я использую Verilog с modelSim и получаю следующие ошибки, когда пытаюсь присвоить reg-переменные разным частям другой reg-переменной:
** Error: Range width must be greater than zero.
** Error: Range width must be constant expression.
вот соответствующий код:
integer f; //zd, qd, R and Q are regs
always @ * begin
f = 52 - zd;
R = qd[f +:0];
Q = qd[63 -:f+1];
end
Я хочу, чтобы R включал qd (от 0 до f), а Q был (остальные) qd (от f+1 до 63). Как это сделать? Спасибо.