Anonim

Parallèlement, du point de vue de l'utilisateur, l'exécution du logiciel doit être raisonnablement "rapide". Aujourd'hui, que ce soit lors de la création, de la vérification de la logique, de la fermeture des contraintes de conception ou du débogage dans le système, les concepteurs doivent pouvoir effectuer plusieurs itérations de conception chaque jour dans l'outil de placement et d'itinéraire afin de faire avancer le projet à un rythme acceptable. à la direction.

Outre que la conception varie énormément en fonction du niveau d'achèvement du projet, la réalisation d'un objectif, par exemple la réduction de la durée d'exécution, se fait souvent au détriment d'un autre. comme avec beaucoup de choses dans la vie. Dans le monde des logiciels d’implémentation FPGA, l’optimisation des algorithmes d’exécution peut avoir un impact négatif sur les performances, la consommation électrique ou l’utilisation de la zone logique. Par exemple, il existe de nombreux algorithmes que l'outil de positionnement et de routage FPGA peut tenter de concevoir pour optimiser les performances du périphérique sélectionné. Essayez trop d'algorithmes et le temps d'exécution augmente à des longueurs inacceptables. Essayez de trop peu d'algorithmes et les performances deviennent sous-optimales par rapport aux capacités matérielles.

Avec chaque version de logiciel, Xilinx exécute de nombreuses conceptions clientes à l'aide de l'outil, en optimisant les algorithmes et les options pour dépasser de manière statistique les versions précédentes dans ces objectifs contradictoires. Avec la version 9.1i, Xilinx a également introduit de nouveaux algorithmes, flux et options contrôlées par l'utilisateur, décrits dans les paragraphes suivants. Le résultat est une amélioration moyenne de 2, 5 fois par rapport à la version 8.2.

n

Modifications de l'algorithme P & R
À chaque nouvelle version, les algorithmes P & R sont améliorés pour prendre en charge de nouvelles architectures ou optimisés pour les pièces existantes afin d'obtenir une meilleure QoR, une meilleure exécution, etc. Le même processus de révision est appliqué aux options et aux flux de projet. ISE 9.1i ne fait pas exception. Le moteur d'estimation de la synchronisation des emballeurs, placeurs et plus particulièrement des routeurs ISE 9.1i est désormais plus capable de détecter rapidement les situations de placement qui ne sont pas routables dans l'environnement de contrainte de synchronisation donné. Cette augmentation de la précision de l'estimation temporelle permet de réduire les temps d'exécution en évitant que les cycles du processeur n'explorent des situations impossibles. ISE 9.1i est donc capable de passer des cycles supplémentaires sur des contraintes de temps réalisables de manière réaliste tout en évitant les configurations peu pratiques.

SmartCompile - SmartGuide
L'objectif de ce nouveau flux dans ISE 9.1i est de sauvegarder le temps d'exécution en réutilisant les informations de positionnement et de routage d'une implémentation précédente. Au cours de la phase de réimplémentation, SmartGuide comparera la nouvelle liste avec la liste de référence et fera correspondre un nombre maximal d’éléments logiques et de routes (figure 2). Il placera et acheminera les éléments correspondants exactement de la même manière et utilisera des algorithmes de cadence et de routage réguliers pour les éléments de conception modifiés. L'objectif principal étant de respecter les contraintes de temps de l'utilisateur pour l'ensemble de la conception, l'algorithme offre la possibilité de modifier le placement ou l'acheminement des éléments guidés si nécessaire pour répondre aux exigences de performance de la partie de conception non guidée.

SmartCompile - Partitions
SmartCompile - Partitions est un flux dont l'objectif principal est de ne réimplémenter que les partitions de conception modifiées, en préservant ainsi exactement les résultats de l'implémentation précédente pour les partitions non modifiées. En même temps, ce copier-coller direct des partitions non modifiées procure des économies d’exécution appréciables dans les cas où une conception doit être réimplémentée pour être analysée après les modifications apportées.

SmartPreview
Cette option permet d'interrompre le processus de routeur à l'aide de la combinaison de clavier CTRL + C. SmartPreview génère un menu avec des options pour enregistrer la base de données de conception dans son état actuel, puis décider de laisser l'outil continuer ou non. Cet instantané de base de données peut s'avérer très utile pour économiser le temps d'exécution à différentes étapes du cycle de conception.

Par exemple, les conceptions difficiles peuvent être identifiées à un stade précoce, par exemple en analysant cet instantané de base de données dans l'éditeur de plan d'étage. Une analyse temporelle peut éventuellement être exécutée sur cette base de données pour identifier les zones de conception pour lesquelles la synchronisation est plus difficile à réaliser. Une fois que le fichier journal de l'emplacement et de l'itinéraire indique que tous les réseaux sont routés, SmartPreview peut créer un instantané de la base de données de conception, puis générer un fichier de programmation à charger sur un périphérique de l'atelier.