#verilog
#verilog
Вопрос:
Я пишу тестовый стенд для модуля AND, но он выдает следующую ошибку near "end": syntax error, unexpected end.
вот мой код:
module TestAND();
reg A;
reg B;
wire C;
AND inst(A,B,C);
initial begin
A=1;
B=0;
#100
end
Комментарии:
1. сделайте
#100;
вместо#100
Ответ №1:
Вам нужно добавить ;
после #100
, и вы также пропускаете endmodule
в конце.
Ответ №2:
Я вижу здесь пару вещей, у вас неверный тип данных: reg
используется только в always
блоке, и поэтому здесь все должно быть type wire
. Кроме того, если я правильно помню, примитивы обычно сначала выводятся, поэтому вы, вероятно, захотите AND my_and (c,a,b);
Однако обычно вы не используете примитивы напрямую, если только вы не создаете библиотеки, и хотели бы использовать assign c = a amp; b;
вместо этого.
Комментарии:
1. A
reg
может быть назначен вalways
initial
блоке или. Awire
может быть присвоенassign
оператором или экземпляром модуля / примитива. Примитивы Verilog имеют имена в нижнем регистре,AND
может ли определяемый пользователем модуль не отображаться.