Нет предупреждений относительно порта и назначения в Questa 10.7b - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть простой код:

module test (
  input a, 
  output b
  );    

  assign a=0;
  assign b=0;

endmodule 

Как видите, a - это вход, который назначен, это неправильно ... но предупреждение не отображается;мой скрипт для compile.do:

set work work
vlib -type directory $work

vlog -work $work +acc    ../src/test.sv +incdir+../inc

и sim.do:

set work work
vlib -type directory $work
vlog -work $work +acc    ../src/test.sv +incdir+../inc

Как я могу увидеть предупреждение?В случае, если я делаю assign a=b; (также ошибка должна быть, так как b выводится), также нет ошибки, просто a есть h'x;

1 Ответ

3 голосов
/ 21 апреля 2019

Вы должны быть из VHDL.Ver Это разрешено Verilog при работе с сетями (которые вы неявно указали)

Секция 23.3.3.1 Принуждение порта IEEE 1800-2017 LRM
Aпорт, который объявлен как входной (выходной), но используется как выходной (входной) или входной, может быть принудительно установлен на inout.

SystemVerilog может применять направление порта при использовании переменных вместо сетей, поскольку только тамбыть одним непрерывным драйвером для переменной.Однако ничто не мешает вам прочитать значение вывода модуля изнутри модуля.

...