Я обычно не использую состояния inout или high impedance в verilog для синтеза (при условии, что внутренняя логика в конечном итоге должна реализовывать ее как стандартную логику состояний CMOS 2).
Тем не менее, я нахожу много verilog, предназначенного для синтеза, который выглядит следующим образом:
module top(
inout signal1,
inout signal2
);
submodule sub1 (
//outputs from sub1
signal1,
signal2
);
submodule sub2 (
//outputs from sub2
signal1,
signal2
);
endmodule
Где сигнал1 и сигнал2 выводятся только на 1'b0 или 1'bz, и они объявлены как порты с открытым стоком в файле ограничений.
Поддерживает ли большинство инструментов синтеза синтезирование этого? Я нацеливаюсь на решетчатый CPLD, и он, кажется, работает нормально, но мне интересно, если другие инструменты синтезируют подобные вещи, хорошо?
Вам обычно приходится явно указывать инструментам, чтобы подтянуть сигнал? или это вообще не обязательно (я не могу найти упоминания подтягиваний в коде, который я смотрю)