Además de las respuestas anteriores:
Tiempo de Reporte
Utiliza tu herramienta de análisis de tiempo en tu cadena de herramientas de FPGA para encontrar cualquier señal que hayas olvidado manejar correctamente.
Puedes generar fácilmente una lista de transferencias de reloj no restringidas, todas las cuales deben estar sincronizadas y añadir una ruta falsa adecuada. Lo ideal es incrustar esto en tu sistema de compilación para que falle con un error si hay alguna transferencia de reloj no restringida, ¡así no puedes olvidarte de ellas!
Reutiliza código
Ten una única entidad/módulo para hacer tu sincronización de un solo bit, utiliza un genérico/parámetro para controlar el número de registros en la cadena de resincronización. Es posible que quieras un sincronizador separado para los resets.
Incrusta restricciones
La ventaja de reutilizar código - incrusta las restricciones de ruta falsa en el RTL. De esta manera, no tienes que recordar añadir restricciones de tiempo para cada señal.
Una nota sobre ubicación
Los registros en cadenas de sincronización deben estar ubicados cerca uno del otro para garantizar que se proporcione la ventana de tiempo máxima. Altera afirma detectar automáticamente cadenas de sincronización, por lo que no deberían necesitar restricciones de ubicación. Si eres paranoico en Xilinx, puedes utilizar restricciones RLOC para asegurar que los registros del sincronizador estén ubicados cerca uno del otro (desafortunadamente, Altera no soporta restricciones de ubicación relativa).