Конкатенация позволяет объединять несколько частей вектора с константами.Таким образом, оператор сдвига влево для a << 2
может быть реализован следующим образом:
logic [7:0] x, y;
always_comb
y[7:0] = {a[5:0], 2'b0};
Просто конкатенация младших 6 битов с 2 битами по 0 с правой стороны.То же самое, что сделал бы левый сдвиг, но без переполнения.