Limiter l’entrée d’une source synchrone en périphérie

author-image

Par

Une interface d’entrée synchrone source est limitée de la même manière qu’une interface d’entrée synchrone système. Le FPGA reçoit une horloge et l’utilise pour verrouiller les données d’entrée. 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 d’entrée synchrone source.

Figure 1. Interface d’entrée synchrone source.

Utilisez les étapes suivantes pour limiter une interface d’entrée synchrone source alignée en périphérie :

  1. Créez des horloges virtuelles, de base et générées

  2. Ajouter les contraintes de délai d’entrée

  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 les calculs et contraintes décrits ci-dessous, reportez-vous à un href="/literature/an/an433.pdf">AN 433: Constraining and Analyzing Source-Synchronous Interfaces (PDF).

Horloges

Une horloge virtuelle modèle l’horloge dans le périphérique externe qui pousse les registres de données à transmettre les données au FPGA.

Une horloge de base est nécessaire sur le port d’entrée du FPGA. L’horloge de base décrit les caractéristiques de l’horloge à l’entrée de l’FPGA.

Les horloges générées sont nécessaires sur toutes les sorties de boucle à phase verrouillée (PLL). Dans une interface d’entrée source synchrone alignée en périphérie, la PLL doit déplacer progressivement l’horloge reçue de 90 degrés pour répondre aux exigences internes de synchronisation des registres de capture de données.

Contraintes de délai d’entrée

Vous pouvez utiliser une spécification de détrométrie maximale pour calculer la valeur des retards d’entrée. La spécification maximale de l’amorciateur indique la variation du temps autorisé pour que des bits individuels d’un bus de données arrivent à la FPGA.

La valeur du délai maximal d’entrée est la valeur maximale de la ordrométrie.

La valeur du délai minimum d’entrée est la valeur maximale de l’aromé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 virtuelle pour décrire l’horloge de données dans
# le périphérique externe create_clock - nom virt_clk période
10

# Créer une horloge de base sur le port d’entrée de la 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
create_generated_clock -nom data_clock -source [get_pins pll|inclk[0]] \
-phase 90 [get_pins pll|clk[0]]

# Add maximum et les contraintes minimales de retard d’entrée
# en supposant une exigence de préhôte de +/- 250ps # Utilisez les équations pour les valeurs de retard d’entrée
indiquées
ci-dessus set_input_delay -max -clock virt_clk 0,250 [get_ports data_in*]
set_input_delay -min -clock virt_clk -0.0.0 250 [get_ports data_in*]
set_input_delay -max-clock virt_clk -clock_fall \
0.250 [get_ports data_in*] -add
set_input_delay -min -clock virt_clk -clock_fall \
-0.250 [get_ports data_in*] -add

# Ajouter des exceptions au faux chemin pour les transferts d’horloge croisée
set_false_path -setup -end -rise_from [get_clocks virt_clk] \
-fall_to [get_clocks data_clock]
set_false_path -setup -end -fall_from [get_clocks virt_clk] \
-rise_to [get_clocks data_clock]
set_false_path -hold-end -rise_from [get_clocks virt_clk] \
-rise_to [get_clocks data_clock] set_false_path
-hold-end -fall_from [get_clocks virt_clk] \
-fall_to [get_clocks data_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.