Con toda probabilidad, sí, el inout
se optimizará.
De hecho, en casi todos los dispositivos no hay buffers internos de tres estados en el enrutamiento, por lo que los puertos inout
generalmente se convierten en una serie de multiplexores.
Si tiene un puerto inout
que siempre está siendo manejado dentro de un módulo, entonces la lógica se simplificará.
Sin embargo, si conecta dos puertos inout
juntos, y ambos lo utilizan como salida, puede o no generar un error de compilación. Si tiene suerte, el sintetizador verá que una red es manejada por dos controladores y se produce un error. Si no tienes suerte, deducirás la lógica que optimiza a uno de los controladores y luego tendrás un dolor de cabeza de depuración en tus manos.
Si tiene un puerto de salida solamente, siga usando un tipo output
. Si solo se ingresa, entonces puede usar con seguridad inout
o input
, pero es mejor atenerse a input
para hacer las cosas más fáciles de seguir.