Limiter une sortie synchrone source alignée de périphérie

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 en périphérie, la transition de l’horloge se produit en même temps que la transition 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 périphérie :

  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 à Limiter et analyser des interfaces synchrones source (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 à double taux de données alignée en périphérie aligne l’horloge de sortie avec 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 correspond à la période d’horloge, c’est-à-dit la valeur maximale de l’arométrie.

La valeur du délai minimum de sortie correspond à la valeur maximale de la ordrométrie.

Exceptions au faux chemin

Dans cet exemple en périphérie, les données sont transférées sur les transitions en rise rise and fall-fall source et en 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

# Créez une horloge de base sur le port d’entrée du FPGA, avec une période de 10 ns
create_clock -nom input_clock -période 10 [get_ports clk_in]

# Créer des horloges générées sur les sorties PLL
# Output clk[0] pousse le registre de données
# Output clk[1] lecteurs le port d’horloge de sortie
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
[get_pins pll|clk[0]]
create_generated_clock -name clock_clock -source [get_pins pll|inclk[0] \
[get_pins pll|clk[1]]

# Créer l’horloge générée sur le port d’horloge de sortie du
FPGA create_generated_clock -nom output_clock -source [get_pins pll|clk[1]] \
[get_ports clk_out FPGA # Ajouter les contraintes de retard de sortie

maximales et
minimales# en supposant une exigence de préhôtes de +/- 250ps # Utilisez les équations pour les valeurs de retard de
sortie indiquées
ci-dessus set_output_delay -max -clock output_clock [expr { 10 - 0,250 }] \
[get_ports data_out*]
set_output_delay -max-clock output_clock -clock_fall
\[expr { 10 - 0.250 }] [get_ports data_out*] -add
set_output_delay -min -clock output_clock 0.250 [get_ports data_out*]
set_output_delay -min -clock output_clock -clock_fall 0.250 \
[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.