В языке Verilog нет правил для потока данных, основанного на направлении порта.В SystemVerilog LRM есть раздел 23.3.3.1 Приведение к порту , в котором подробно описываются места, в которых ввод данных может быть приведен к выводу и наоборот.Однако инструменты синтеза имеют требования к кодированию, которые не позволяют нескольким драйверам использовать один и тот же сигнал.Таким образом, если есть драйверы как внутри, так и снаружи модуля, вы получите ошибки синтеза.
В SystemVerilog есть несколько стилей кодирования, которые могут перехватывать несколько драйверов в сигнале как часть процесса моделирования, поэтому вам не нужно ждать, пока вы дойдете до синтеза, или использовать отдельный инструмент для рисования.