Además de las respuestas anteriores:
Tiempo de informe
Use su herramienta de análisis de tiempo en su cadena de herramientas FPGA para encontrar cualquier señal que haya olvidado manejar correctamente.
Puede generar fácilmente una lista de transferencias de reloj sin restricciones, todas las cuales deben sincronizarse y agregarse una ruta falsa apropiada. Lo ideal es incrustar esto en su sistema de compilación para que falle con un error si hay transferencias de reloj sin restricciones, ¡entonces no puede olvidarse de ellas!
Código de reutilización
Tenga una sola entidad / módulo para realizar la sincronización de un solo bit, use un parámetro / genérico para controlar el número de registros en la cadena de resincronización. Es posible que desee un sincronizador separado para los restablecimientos.
Restricciones de inserción
La ventaja de reutilizar el código: incrusta las restricciones de ruta falsa en la RTL. De esa manera, no tiene que acordarse de agregar restricciones de tiempo para cada señal.
Una nota sobre la colocación
Los registros en las cadenas del sincronizador deben colocarse juntos para garantizar que se proporciona la ventana de tiempo máxima. Altera afirma que detecta automáticamente las cadenas del sincronizador para que no necesiten restricciones de ubicación. Si está paranoico con Xilinx, puede usar las restricciones de RLOC para asegurarse de que los registros de su sincronizador estén ubicados juntos (desafortunadamente, Altera no admite restricciones de ubicación relativas).