¿Se optimizarán los puertos inout que se usan solo al entrar o salir?

3

Estoy escribiendo un diseño VHDL en Xilinx Vivado. Recibí un código de ejemplo para una tarjeta FMC donde todos los puertos están designados como inout . Si uso un puerto inout solo como in o out en el resto de mi arquitectura, ¿Vivado optimizará el puerto al tipo apropiado durante la síntesis? ¿O seguirá siendo un puerto inout ?

    
pregunta Eugene Wu

1 respuesta

4

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.

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas