Верилог: «… не константа»
У меня есть три провода, созданные следующим образом:
wire [11:0] magnitude;
wire [3:0] bitsEnd;
wire [3:0] leadingBits;
Все ониassign
Отредактировал некоторые выражения, используя комбинационную логику. Следующий код работает нормально:
assign leadingBits[3] = magnitude[bitsEnd + 3];
assign leadingBits[2] = magnitude[bitsEnd + 2];
assign leadingBits[1] = magnitude[bitsEnd + 1];
assign leadingBits[0] = magnitude[bitsEnd + 0];
Однако следующий (на первый взгляд эквивалентный) код дает ошибкуbitsEnd is not a constant
:
assign leadingBits[3:0] = magnitude[bitsEnd + 3:bitsEnd];
Могу ли я не использовать стенографию для этого задания? Почему эта ошибка возникает во втором случае, а не в первом?