Когда параметр 'на сколько сдвинуть', переменная, а не константа)
конструкция не ахти какая инновационная, это всё синтезируется в т.н. Barrel shifter. Вопрос в ином - сколько вы готовы заплатить? (в терминах быстродейцствия и исльзуемых ресурсов)
Сдвиговый регистр с переменным шагом например в Xilinx это штатный кубик. Работающий на максимальной частоте и по ресурсам практически бесплатный ибо их так немеряно. Само собой если сдвиг больше 16(32?) то придётся склеить два блока и т.д.
конструкция не ахти какая инновационная, это всё синтезируется в т.н. Barrel shifter. Вопрос в ином - сколько вы готовы заплатить? (в терминах быстродейцствия и исльзуемых ресурсов)
без сдвигов, архитектура любой платформы неполноценна
Сдвиговый регистр с переменным шагом например в Xilinx это штатный кубик. Работающий на максимальной частоте и по ресурсам практически бесплатный ибо их так немеряно. Само собой если сдвиг больше 16(32?) то придётся склеить два блока и т.д.
Это немного не то - barrel_shift реализуется на обычных LUT (коих тоже немерено но всегда нехватает) а SRL16/32 которые вы имели ввиду это последовательный регистр сдвига (один из режимов работы lut).
Это немного не то - barrel_shift реализуется на обычных LUT (коих тоже немерено но всегда нехватает) а SRL16/32 которые вы имели ввиду это последовательный регистр сдвига (один из режимов работы lut).
Это немного не то - barrel_shift реализуется на обычных LUT (коих тоже немерено но всегда нехватает) а SRL16/32 которые вы имели ввиду это последовательный регистр сдвига (один из режимов работы lut).