Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА:

Вопросы по языку Verilog 11 года 7 мес. назад #3023

Если кто знает, ответьте пожалуйста или направьте в нужном направлении(киньте ссылку, где можно прочесть про это)
Ситуация состоит в следующем:
У меня есть модуль(norm2_synhro), реализованный в качестве отдельного файла. Есть модуль blk и testbench к нему(blk_testbench). Иерархия проекта следующая( blk - norm2_synhro), т.е. в модуле blk создается инстанс модуля norm2_synhro:
norm2_synhro norm2_synhro_sub(.n(s), .k(p), .En(En), .reset(reset), .clk(clk), .out_sub(sdvig)); // назначение по имени

Поскольку модуль norm2_synhro используется для вычисления выходного значения модуля blk.


Quartus жалуется что объект out_sub не объявлен. Каким образом его можно объявить?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 6 мес. назад #3029

To Dmitrii Radov

Quartus жалуется что объект out_sub не объявлен.Каким образом его можно объявить?


В модуле norm2_synhro порт out_sub у Вас имеет разрядность больше 1. Я так понимаю компилятор жалуется на то, что в модуле blk нет объявления sdvig (по умолчанию создается только wire разрядности 1, а у вас больше)
Т.е. должно быть так
module blk (...);
...
wire  [`DATA_WIDTH_out-1:0] sdvig;
...
endmodule

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Stress.

Вопросы по языку Verilog 11 года 6 мес. назад #3030

Т.е. все порты инстанса модуля norm надо объявлять внутри модуля blk?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 6 мес. назад #3031

Нужно чтобы всем используемым портам модуля norm2_synhro в верхнем модуле blk соответствовали какие-либо переменные reg или сети wire.
Скалярные (однобитовые) соединения можно не создавать, т.к. компилятор Verilog умный, поэтому сам догадывается создавать сети wire для однобитных сигналов, но взять на себя большее но не может (а вдруг в верхнем модуле у вас будет шина больше и лишь некоторые её биты соответствуют выходам нижнего модуля).
P.S. Точнее даже так: в blk нет объявления sdvig, поэтому там автоматом создан wire sdvig, но он однобитный. В вашем примере однобитной шине присваивается n бит источника из norm2_synhro. Компилятор не обрезает сигнал до одного бита и ругается
Спасибо сказали: Dmitrii Radov

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Stress.

Вопросы по языку Verilog 11 года 5 мес. назад #3203

  • afad
  • afad аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 19
  • Спасибо получено: 2
Что означает данная запись, не могу разобраться:

rr <= sbit ? fcolor[2] : bcolor[2];

Это из проекта "Простой текстовый терминал", модуль "txtd.v".

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 5 мес. назад #3204

rr <= sbit ? fcolor[2] : bcolor[2];
Есть оператор
a ? c : d
. Если a верно (лог 1), то вся эта конструкция заменяется на с. Если же неверно (логический 0), то заменяется на d.
Получается если sbit верно, то
rr <= fcolor[2]
(присваивается значение бита 2 вектора fcolor)
Если sbit ноль, то
rr <= bcolor[2]
(присваивается значение бита 2 вектора bcolor)
Присваивание будет при выполнении условия в always-блоке.
Спасибо сказали: afad

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 5 мес. назад #3205

  • afad
  • afad аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 19
  • Спасибо получено: 2
Спасибо, Stress! А я всегда пользовался конструкцией if else, оказывается можно и проще записывать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 5 мес. назад #3206

а есть ещё switch case, для особых случаев. ;)
"Холодает" - подумал Волк и натянул Красную Шапочку по самые уши...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 5 мес. назад #3207

есть ещё switch case

Только без switch. Просто case-endcase или casex-endcase или casez- endcase
Спасибо сказали: Серый Волк

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы по языку Verilog 11 года 5 мес. назад #3210

Прошу прощения, я перепутал с Си.
"Холодает" - подумал Волк и натянул Красную Шапочку по самые уши...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.138 секунд
Работает на Kunena форум