2016-09-01 2 views
0

У меня есть следующий фрагмент кода, который, кажется, не имитатор Vivado поддержки (результаты в ОШИБКИ: [XSIM 43-3209] - неподдерживаемый Construct):Разность бит-сдвига Systemverilog между {<< {signal}} и {signal << 1}?

assign b = {<<{a}}; 

Хотите знать, если я могу просто изменить этот код на следующее:

assign b = a<<1; 

Не могли бы вы подтвердить, что 2 строки выше одинаковы? Обратите внимание, что и a, и b имеют ширину 8 бит. Благодаря!

ответ

4

Нет, они не то же самое. {<<{a}} - это разворот бит. Предполагая a был объявлен с диапазоном [7:0], вам нужно будет написать

assign b = {a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]}; 
Смежные вопросы