Puede utilizar el comando create_clock para crear un reloj en cualquier registro, puerto o pin. Puede crear cada reloj con características únicas. La siguiente lista muestra el comando create_clock y las opciones disponibles:
create_clock -period <> [-name <clock name>] [-waveform <edge list>] [-add] <source objects>
La Tabla 1 describe las opciones para el comando create_clock.
Tabla 1. Descripciones de opciones para el comando create_clock
Opción |
Descripción |
---|---|
-valor <nodo de período> |
Especifica el período de reloj. También puede especificar la frecuencia como período <>MHz. (1) |
-name <clock name> |
Nombre del reloj específico, por ejemplo, sysclock. Si no especifica el nombre de reloj, el nombre del reloj es el mismo que el nodo al que se le asigna. |
-lista de bordes de forma de onda <> |
Especifica los bordes de ascenso y descenso del reloj. La lista de bordes alterna entre el borde de ascenso y el borde de descenso. Por ejemplo, un período de 10 ns donde el primer borde creciente ocurre a 0 ns y el primer borde de descenso ocurre a 5 ns se escribiría como forma de onda {0 5}. La diferencia debe estar dentro de una unidad de período, y el borde de ascenso debe venir antes del borde de caída. La lista de perímetros predeterminada es {0 <>/2}, o un ciclo de servicio del 50 por ciento. |
-add |
Permite especificar más de un reloj en el mismo puerto o pin. |
<contrae objetos> |
Especifica los puertos o pines a los que se aplica la asignación. Si no se especifican los objetos de origen, el reloj es un reloj virtual. |
Nota:
- La unidad de tiempo predeterminada en el analizador de sincronización es de nanosegundos (ns).
Los relojes definidos con el comando create_clock tienen un valor de latencia de origen predeterminado cero. El analizador de sincronización calcula automáticamente la latencia de red del reloj en relojes no virtuales.
Creación de reloj de 100 MHz
Este ejemplo muestra cómo crear un reloj de 10 ns con un ciclo de servicio del 50 por ciento, donde el primer borde de ascenso se produce a 0 ns aplicado al clk del puerto.
create_clock -period 10 -waveform { 0 5 } clk
Reloj de 100 MHz cambiado por creación de reloj de 90 grados
Este ejemplo muestra cómo crear un reloj de 10 ns con un ciclo de servicio del 50 % que se cambia de fase en 90 grados aplicados a los puertos clk_sys.
create_clock -period 10 -waveform { 2,5 7,5 } clk_sys