Dans le monde FPGA, quelles sont exactement les fausses contraintes de chemin pour un compilateur HDL? Pourquoi sont-ils utiles?
Dans le monde FPGA, quelles sont exactement les fausses contraintes de chemin pour un compilateur HDL? Pourquoi sont-ils utiles?
Réponses:
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.
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.
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.