Вы правы, думая, что вам нужно три состояния, но это необходимо на краю FPGA, то есть на выводах ввода-вывода. У вас не может быть двунаправленных портов внутри FPGA. Таким образом, для каждого пина бидира у вас есть три сигнала: входящий исходящий и направление. Если все контакты всегда имеют одинаковое направление, вы можете использовать один и тот же сигнал для всех. Вчетвером, это означает, что вам не нужно мультиплексировать входящие сигналы, поскольку они могут быть разделены (один сигнал на несколько экземпляров), но вам нужен один для исходящих сигналов (несколько экземпляров для одного сигнала).