Muchos relojes pueden existir en un diseño; Sin embargo, no todos los relojes interactúan entre sí, y ciertas interacciones de reloj no son posibles. Los relojes asincrónicos son relojes no deseados (los relojes asincrónicos tienen diferentes fuentes de reloj ideales). Los relojes exclusivos no están activos al mismo tiempo (por ejemplo, relojes multiplexados). La exclusividad mutua se debe declarar en el analizador de sincronización para evitar que se analicen estas interacciones de reloj.
Puede utilizar el comando set_clock_groups para especificar relojes exclusivos o asincrónicos. La siguiente lista muestra el comando set_clock_groups, incluidas las opciones disponibles:
set_clock_groups [-asynchronous | -exclusive] -group <clock name> -group <clock name> [-group <clock name>] ...
La Tabla 1 describe las opciones para el comando set_clock_groups.
Tabla 1. Descripción de opciones para el comando set_clock_groups
Descripción de la | opción |
---|---|
-asincrónico | Los relojes asincrónicos son aquellos que son completamente inestable (por ejemplo, tener diferentes fuentes de reloj ideales) |
-exclusivo | Los relojes exclusivos no se utilizan activamente en el diseño en el mismo tiempo (por ejemplo, relojes multiplexados) |
-group <clock name> | Especifica nombres de reloj de destino válidos exclusivos que son exclusivos. <clock name> se utiliza para especificar los nombres de reloj. |
El siguiente ejemplo muestra un comando set_clock_groups y los comandos set_false_path equivalentes.
El número de relojes A y C nunca está activo cuando los relojes B y D están activos set_clock_groups -exclusive -group {A C} -group {B D} # Especificación equivalente utilizando rutas falsas set_false_path -de [get_clocks A] a [get_clocks B] set_false_path de [get_clocks A] a [get_clocks D] set_false_path de [get_clocks C] a [get_clocks B] set_false_path de [get_clocks C] a [get_clocks D] set_false_ ruta de [get_clocks B] a [get_clocks A] set_false_path de [get_clocks B] a [get_clocks C] set_false_path de [get_clocks D] a [get_clocks A] set_false_path -de [get_clocks D] a [get_clocks C]