restricciones SDC para el reloj de origen y el reloj derivado

1

Hay dos relojes en el sistema, clk2 se deriva de clk1 con un cambio de fase de 180 grados. Hay datos de 1 bit de clk1 a clk2.

Sé que este es un tipo de escenario asíncrono y los métodos tradicionales es el uso de 2 FF o un FIFO asíncrono para sincronizar los datos. Sin embargo, dado que estos dos relojes tienen una diferencia de fase fija, ¿es posible sincronizar los datos JUST con las restricciones de SDC? Si es posible, ¿cómo configurar el SDC?

    
pregunta Ross Lee

1 respuesta

0

Como conocemos la relación de fase, esos relojes son síncronos. Lo único que debemos hacer es contar esta relación con la herramienta de síntesis / STA.

create_generated_clock -source clk1 -edges {2 3 4} -combinational [get_pins pll/clk2]

Yo usaría la opción -edges para definir la fase. La siguiente forma de onda explica los bordes. Básicamente, clk2 sube en el segundo borde de clk1 , cae en el tercer borde y sube nuevamente en el cuarto borde.

edge    1    2    3    4    5    6
         ____      ____      ____
        |    |    |    |    |    |
clk1    |    |    |    |    |    |
    ____|    |____|    |____|    |____
              ____      ____      ____
             |    |    |    |    |    |
clk2         |    |    |    |    |    |
         ____|    |____|    |____|    |____

Los datos de 1 bit tienen un ciclo de medio reloj para llegar al FF objetivo. Con la ayuda de nuestra restricción, la herramienta realizará las comprobaciones de tiempo de configuración / retención en consecuencia.

    
respondido por el ahmedus

Lea otras preguntas en las etiquetas