Salida de origen síncrono con centro de restricción alineado

author-image

Por

En una interfaz de salida sincrónica de origen, el FPGA fuente el reloj para el dispositivo de destino. En una interfaz sincrónica de origen que está alineada en el centro, la transición del reloj se produce en el centro de la ventana válida de datos. La Figura 1 muestra una interfaz de salida sincrónica de origen de muestra.

Figura 1. interfaz de salida sincrónica de origen.

Siga estos pasos para restringir una interfaz de salida de origen síncrono alineada en el centro:

  1. Cree relojes base y generados
  2. Agregar restricciones de demora de salida
  3. Agregue excepciones de ruta falsa para excluir rutas no válidas del análisis e informes de temporización

Para obtener más información acerca de cualquiera de estos pasos, o los cálculos y restricciones descritos a continuación, consulte AN 433: Restricción y análisis de interfaces de origen síncronos (PDF).

Relojes

Se requiere un reloj base en el puerto de entrada del FPGA.
Se requieren relojes generados en todas las salidas de ciclo bloqueado por fase (PLL). Una salida sincrónica de fuente alineada con una velocidad de datos doble hace que el reloj de salida cambie el reloj de salida en 90 grados, en comparación con el reloj de datos.
Se requiere un reloj generado en el puerto de reloj de salida del FPGA. El reloj generado es la referencia de reloj para los valores de demora de salida para el bus de datos.

Restricciones de demora de salida

Puede utilizar una especificación de valor máximo de 100.000 personas para calcular los valores de demora de salida. La especificación máxima indica la variación de tiempo permitida para que los bits individuales de un bus de datos salgan del FPGA.

El valor de la demora máxima de salida es (intervalo unitario /2) - valor máximo de propuesta.

El valor de la demora mínima de salida es el valor máximo de abate (intervalo unitariode 1,5*).

Excepciones de ruta falsa

En este ejemplo alineado con el centro, los datos se transfieren en transiciones de reloj de origen y destino de rise-rise y fall-fall. Utilice excepciones de ruta falsa para reducir las transiciones de reloj de rise-fall y fall-rise, porque los datos no se transfieren en transiciones de reloj del borde opuesto.

Ejemplo de archivo SDC


# Create a base clock on the input port of the FPGA, with a 10 ns period
create_clock -name input_clock -period 10 [get_ports clk_in]

# Create generated clocks on the PLL outputs
# Output clk[0] drives the data register
# Output clk[1] drives the output clock port with a 90 degree shift
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
[get_pins pll|clk[0]]
create_generated_clock -name clock_clock -phase 90 -source [get_pins pll|inclk[0] \
[get_pins pll|clk[1]]

# Create the generated clock on the output clock port of the FPGA
create_generated_clock -name output_clock -source [get_pins pll|clk[1]] \
[get_ports clk_out]

# Add maximum and minimum output delay constraints
# assuming a skew requirement of +/- 250ps
# Use the equations for the output delay values listed above
set_output_delay -max -clock output_clock [expr { (5 / 2) - 0.250 }] \
[get_ports data_out*]
set_output_delay -max -clock output_clock -clock_fall \
[expr { (5 / 2) - 0.250 }] [get_ports data_out*] -add
set_output_delay -min -clock output_clock [expr { (0.250 - (1.5 * 5) }] \
[get_ports data_out*]
set_output_delay -min -clock output_clock -clock_fall \
[expr { (0.250 - ( 1.5 * 5 ) }] [get_ports data_out*] -add

# Add false path exceptions for cross-clock transfers
set_false_path -setup -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -setup -end -fall_from [get_clocks data_clock] \
-rise_to [get_clocks output_clock]
set_false_path -hold -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -hold -end -fall_from [get_clocks data_clock] \
-rise_to [get_clocks output_clock]

 

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.