[an error occurred while processing this directive]
|
Во-первых, сдвигатель на базе "srl", вряд ли будет оптимален (думаю лучше строить свой).
Во-вторых, он Вам и не нужен.
Лучше что-то типа
i <= conv_integer(s); -- s - номер позиции.
o <= a( i downto (i-12));
Такая штука (12 MUX 39x1) будет не оптимальна.
Но в качестве базовой подойдет. Если не устроит по ресурсам, соптимизируете это дерево вручную(ориентировочно - 3-4 Slice на бит).
E-mail: info@telesys.ru