Я конвертирую свой дизайн из Verilog в SystemVerilog, и по умолчанию у меня есть директива 'default_nettype none
. Вот мой дизайн:
`default_nettype none
module my_design
#(
parameter INPUT_WIDTH = 16,
parameter OUTPUT_WIDTH = 2*INPUT_WIDTH
)
(
input wire signed [INPUT_WIDTH-1 : 0 ] x_in,
input wire signed [INPUT_WIDTH-1 : 0 ] y_in,
output wire signed [OUTPUT_WIDTH-1 : 0] z_out
);
Который компилируется без каких-либо проблем. Тем не менее, когда я переключаю провод на логику следующим образом:
module my_design
#(
parameter INPUT_WIDTH = 16,
parameter OUTPUT_WIDTH = 2*INPUT_WIDTH
)
(
input logic signed [INPUT_WIDTH-1 : 0 ] x_in,
input logic signed [INPUT_WIDTH-1 : 0 ] y_in,
output logic signed [OUTPUT_WIDTH-1 : 0] z_out
);
Я получаю следующую ошибку для всех сигналов моего порта:
ERROR: [VRFC 10-1103] net type must be explicitly specified for 'x_in'
when default_nettype is none
Что очень странно для меня, поскольку я явно удалил все порты. Я использую Vivado Simulator 2018.2
. Я использую следующую команду для компиляции вышеуказанных кодов:
xvlog --sv -f files.f
И files.f содержит только мой дизайн и тестовый файл.