ModelSim успешно скомпилирован, но в моем коде неверное объявление - PullRequest
0 голосов
/ 04 апреля 2019

Я новичок в ModelSim и Verilog

modelsim не заботится о моем объявлении имени, и каждое имя для модуля Half_Adder успешно компилируется
в разделе ниже у меня есть Half_, что не правильно (потому что мойимя модуля - Half_Adder), но modelsim скомпилирует его без ошибок

module Half_Adder(input a,b,output  s,c );
xor (s,a,b);
and(c,a,b);
endmodule
module Full_Adder(input a,b,c,output sum,carry);
wire sum1,carry1,carry2;
Half_  m1(a,b,sum1,carry1);
Half_Adder m2(sum1,c,sum,carry2);
or(carry,carry1,carry2);
endmodule

весь приведенный выше код находится в одном файле .v, я не знаю, верный он или нет

я тестировал приведенный выше код вОнлайновый компилятор verdog jdoodle, в котором есть ошибка в объявлении имени: jdoodle.v: 8: ошибка: неизвестный тип модуля: Half_

, но это верно для modelsim!

1 Ответ

2 голосов
/ 04 апреля 2019

Когда вы работаете на jdoodle, вы пытаетесь скомпилировать и разработать ваш код.Это будет этап разработки, который завершается неудачно (потому что нет модуля Half_).

Когда вы набираете vlog на Modelsim, вы просто компилируете , а не разрабатываете свой код,Когда вы пытаетесь разработать свой код, вы получаете сообщение об ошибке в Modelsim:

vsim Full_adder

** Ошибка: Half_Adder.v (7): модуль 'Half_' не определен.

Компиляция Verilog похожа на компиляцию C или других языков.Каждый модуль составляется отдельно.Разработка - это финальная стадия, на которой все модули пытаются связать вместе (а разработка в некоторой степени аналогична связи на языке Си и других языках).Таким образом, когда какой-либо симулятор пытается разработать ваш код, вы получаете ошибку, потому что нет модуля Half_.

...