Qu'est-ce qu'une fausse contrainte de synchronisation de chemin?


10

Dans le monde FPGA, quelles sont exactement les fausses contraintes de chemin pour un compilateur HDL? Pourquoi sont-ils utiles?


1
Il s'agit d'un concept numérique, pas seulement d'un concept FPGA.
W5VO

Réponses:


14

Les faux chemins sont des chemins de chronométrage qui ne seront jamais réellement exercés dans la conception finale. Supposons que vous concevez un compteur 4 bits et qu'il s'avère qu'il existe un chemin de retard très lent lors de l'incrémentation de 12 à 13. Si votre conception réinitialise toujours le compteur chaque fois que le nombre est égal à 9, ce chemin lent ne sera jamais visible dans le conception réelle. Vous étiquetez le chemin lent comme un faux chemin afin que le compilateur ne passe pas de temps, ou n'ajoutez aucune logique supplémentaire, dans le but d'accélérer l'exécution du faux chemin.


5
Huh, et je pensais que le faux chemin avait à voir avec l'utilisation d'Atmels au lieu des PIC ou quelque chose.
Olin Lathrop

Un type plus important de faux chemin, je pense, est un signal qui change sur le bord d'une horloge et qui est échantillonné sur le bord d'une horloge différente, mais soit le signal ne changera jamais réellement près du moment où la deuxième horloge change, ou si il ne change rien ne se souciera de sa valeur. Les outils d'analyse de synchronisation échoueraient probablement à moins que l'on ajoute un double synchroniseur contrôlé par la deuxième horloge, mais l'ajout d'un tel synchroniseur pourrait totalement casser la conception. Par exemple, la première horloge peut fonctionner à 1 MHz et la seconde à 32 kHz, mais ...
supercat

... l'appareil qui génère le signal peut le changer de trois cycles de 1 MHz après avoir vu un front montant sur l'horloge à 32 kHz. Par conséquent, le signal verrouillé par l'horloge 32 kHz peut être garanti conforme aux exigences d'échantillonnage / maintien du verrou 32 kHz sans synchronisation supplémentaire. Si la logique du côté 1 MHz générait ses données sur la base de ce que faisait le côté 32 KHz, une telle conception pourrait permettre aux informations générées sur un cycle du côté 32 KHz de percoler dans les deux sens au cycle suivant. L'ajout d'une double synchronisation du côté 32Khz casserait cela.
supercat

8

Un faux chemin est un chemin qui existe dans la conception mais qui ne joue aucun rôle dans l'opération, il n'est donc pas nécessaire de l'inclure dans l'analyse de synchronisation.
Il peut y avoir plusieurs raisons à cela, mais comme l'outil d'analyse temporelle ne sait généralement pas (bien qu'il existe certains outils qui peuvent les détecter) quels chemins peuvent être utilisés ou non, vous devez le dire. Il est similaire à un chemin multi-cycle, où vous pouvez lui dire qu'un certain chemin est autorisé à utiliser plus d'un cycle pour terminer.

Un exemple (d'un faux chemin) est un registre qui peut être écrit une fois à la mise sous tension, mais qui reste dans le même état.


1

Simplement, un faux chemin est un chemin logique que vous souhaitez exclure de la vérification pour voir s'il rencontre le timing lors de l'analyse du timing. Il y a deux raisons d'exclure des chemins, tout d'abord parce que le faux chemin fera travailler plus dur les outils pour respecter le timing de ce signal, ce qui affectera à son tour les chemins de signal légitimes, provoquant éventuellement des erreurs de timing supplémentaires et parce que la vérification du timing signalera les échecs peut distraire le concepteur des erreurs de synchronisation légitimes.

Les faux chemins sont causés par des chemins logiques entre des horloges asynchrones indépendantes ou des horloges de même fréquence mais avec une relation de phase inconnue ou un chemin qui ne serait jamais activé pendant le fonctionnement normal du circuit. Dire à l'outil d'ignorer un chemin ne fait pas fonctionner le chronométrage seulement que le chronométrage n'est pas vérifié. Il appartient au concepteur de s'assurer manuellement que la bonne logique de synchronisation est utilisée pour ces chemins de signaux ignorés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.