Перейти к содержанию
    

подскажите по verilog

как правильно написать на verilog вот такой код вообщето я его переписал в verilog но при компиляции в active-hdl есть ошибка в тексте внизу она показана в verilog-2001 вроде есть операция возведения в степень но все равно ошибка остается

always @(B_in or shift_B)

begin : I1combo

reg[5:0] stemp;

reg[28:0] dtemp;

reg[28:0] temp;

temp = {29{1'bx}};

stemp = shift_B;

temp = B_in;

begin : xhdl_5

integer i;

for(i = 5; i >= 0; i = i - 1)

begin

if (i < 5)

begin

if ((stemp) == 1'b1 | (stemp) == 1'b1)

begin

dtemp = {29{1'b0}};

dtemp[28 - 2 ** i:0] = temp[28:2 ** i]; вот здесь ошибка

end

else if ((stemp) == 1'b0 | (stemp) == 1'b0)

begin

dtemp = temp;

end

else

begin

dtemp = {29{1'bx}};

end

end

else

begin

if ((stemp) == 1'b1 | (stemp) == 1'b1)

begin

dtemp = {29{1'b0}};

end

else if ((stemp) == 1'b0 | (stemp) == 1'b0)

begin

dtemp = temp;

end

else

begin

dtemp = {29{1'bx}};

end

end

temp = dtemp;

end

end

B_shift <= dtemp ;

end

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Переменный индекс в верилоге допускается только для однобитового сигнала, типа a. Попробуйте сформировать сигнал примерно так:

k=28 - 2 ** i;

for(j = 0; j < 32; j = i + 1)

if (j<=k) dtemp[j] = temp[лень считать выражение здесь :(];

else dtemp[j] =1'b1;

Короче, формируйте шину побитово.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...