2017-04-25

vak: (Default)
Обнаружил в языке Verilog неожиданную фичу, не описанную ни в одной книжке. Оказывается, диапазоны можно задавать в виде X+:Y или X-:Y, что эквивалентно X+Y-1:X и X:X-Y+1 соответственно. К примеру, эти три присваивания эквивалентны:
    value[10:8] = 0;
    value[10-:3] = 0;
    value[8+:3] = 0;