-
Dmitrii Radov
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 1
-
-
|
Если кто знает, ответьте пожалуйста или направьте в нужном направлении(киньте ссылку, где можно прочесть про это)
Ситуация состоит в следующем:
У меня есть модуль(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 не объявлен. Каким образом его можно объявить?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Stress
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 6
-
Спасибо получено: 3
-
-
-
|
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.
|
-
Dmitrii Radov
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 1
-
-
|
Т.е. все порты инстанса модуля norm надо объявлять внутри модуля blk?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Stress
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 6
-
Спасибо получено: 3
-
-
-
|
Нужно чтобы всем используемым портам модуля norm2_synhro в верхнем модуле blk соответствовали какие-либо переменные reg или сети wire.
Скалярные (однобитовые) соединения можно не создавать, т.к. компилятор Verilog умный, поэтому сам догадывается создавать сети wire для однобитных сигналов, но взять на себя большее но не может (а вдруг в верхнем модуле у вас будет шина больше и лишь некоторые её биты соответствуют выходам нижнего модуля).
P.S. Точнее даже так: в blk нет объявления sdvig, поэтому там автоматом создан wire sdvig, но он однобитный. В вашем примере однобитной шине присваивается n бит источника из norm2_synhro. Компилятор не обрезает сигнал до одного бита и ругается
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Stress.
|
-
afad
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 19
-
Спасибо получено: 2
-
-
|
Что означает данная запись, не могу разобраться:
rr <= sbit ? fcolor[2] : bcolor[2];
Это из проекта "Простой текстовый терминал", модуль "txtd.v".
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Stress
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 6
-
Спасибо получено: 3
-
-
-
|
rr <= sbit ? fcolor[2] : bcolor[2]; Есть оператор . Если a верно (лог 1), то вся эта конструкция заменяется на с. Если же неверно (логический 0), то заменяется на d.
Получается если sbit верно, то (присваивается значение бита 2 вектора fcolor)
Если sbit ноль, то (присваивается значение бита 2 вектора bcolor)
Присваивание будет при выполнении условия в always-блоке.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
afad
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 19
-
Спасибо получено: 2
-
-
|
Спасибо, Stress! А я всегда пользовался конструкцией if else, оказывается можно и проще записывать.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Серый Волк
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 82
-
Спасибо получено: 2
-
-
-
|
а есть ещё switch case, для особых случаев. ;)
"Холодает" - подумал Волк и натянул Красную Шапочку по самые уши...
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Stress
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 6
-
Спасибо получено: 3
-
-
-
|
есть ещё switch case
Только без switch. Просто case-endcase или casex-endcase или casez- endcase
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Серый Волк
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 82
-
Спасибо получено: 2
-
-
-
|
Прошу прощения, я перепутал с Си.
"Холодает" - подумал Волк и натянул Красную Шапочку по самые уши...
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.138 секунд