У кого-нибудь есть мысли - как реализовать логический, циклический и арифметический сдвиг на одном 64-разрядном сдвигателе? Все это дело за такт - без конвейеров. Операнд - 64-разрядное число.
Если писать
assign vix = {vxod[63:0], x1, x2, x3, ...} >> sh[5:0];
Где х1, х2 .... - сигналы с мультиплексоров - соответственно ноль, бит операнда или знак операнда.
То синтезируется - 128-разрядный сдвигатель.
Было бы не плохо сделать сдвиг вправо/влево также на одном. По этому поводу была задумка сделать операцию mirror (т.е. полную инверсию операнда) на входе и выходе.
Если кто что подскажет - буду признателен.
|