Limiter la sortie synchrone source alignée sur le centre

author-image

Par

Dans une interface de sortie synchrone de source, le FPGA fournit l’horloge du périphérique de destination. Dans une interface synchrone source alignée au centre, la transition de l’horloge se produit au milieu de la fenêtre valide des données. La Figure 1 montre une interface de sortie synchrone de l’échantillon.

Figure 1. interface de sortie synchrone source.

Utilisez les étapes suivantes pour limiter une interface de sortie synchrone source alignée en centre :

  1. Créez des horloges de base et générées
  2. Ajouter les contraintes de retard de sortie
  3. Ajoutez des exceptions au faux chemin pour exclure les chemins invalides de l’analyse et de la création de rapports de synchronisation.

Pour plus de détails sur une de ces étapes, ou sur les calculs et contraintes décrits ci-dessous, reportez-vous à AN 433: Constraining and Analyzing Source Synchronous Interfaces (PDF).

Horloges

Une horloge de base est nécessaire sur le port d’entrée du FPGA.
Les horloges générées sont nécessaires sur toutes les sorties de boucle à phase verrouillée (PLL). Une sortie synchrone source alignée en centre de données double débit déplace l’horloge de sortie de 90 degrés, par rapport à l’horloge de données.
Une horloge générée est nécessaire sur le port d’horloge de sortie du FPGA. L’horloge générée est la référence d’horloge pour les valeurs de retard de sortie du bus de données.

Contraintes de retard de sortie

Vous pouvez utiliser une spécification de détrométrie maximale pour calculer les valeurs de retard de sortie. La spécification maximale de l’amorciateur indique la variation du temps autorisé pour que des bits individuels d’un bus de données quittent le FPGA.

La valeur du retard maximal de sortie est(intervalle d’unité / 2) - valeur maximale de l’arométrie.

La valeur du délai minimum de sortie est la valeur maximale de l’arométrie (1,5 * intervalle d’unité).

Exceptions au faux chemin

Dans cet exemple axé sur le centre, les données sont transférées sur les transitions de l’élévation, de l’automne et de la source, ainsi que de l’horloge de destination. Utilisez des exceptions erronées pour réduire les transitions d’horloge rise-fall et fall-rise, car les données ne sont pas transférées sur les transitions d’horloge en périphérie inverse.

Exemple de fichier 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]

 

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.