Je travaille sur une grande conception FPGA, et je suis très proche des limites de ressources du FPGA que j'utilise actuellement, le Xilinx LX16 dans le package CSG225.
La conception est également presque terminée, mais pour le moment, elle ne rentrera plus dans le FPGA. Je peux désactiver les pièces pour les adapter, mais je dois réduire l'utilisation des ressources afin de terminer la conception et de la faire respecter les exigences de calendrier et de taille.
J'aimerais savoir s'il existe des outils dans nos rapports qui peuvent m'aider à identifier les parties de ma conception qui consomment le plus de ressources. Ma conception n'est pas partitionnée et est répartie sur une douzaine de modules VHDL ou plus.
Les rapports de synchronisation Xilinx sont fantastiques, mais maintenant je dois savoir où je peux obtenir mon meilleur rapport qualité-prix en termes d'économie d'espace.
J'ai également du mal à dire de quel type de ressources je suis en train de manquer, ou quels effets ces ressources.
Un autre inconvénient est que, à mesure que la conception grossit, les composants utilisés pour respecter le calendrier commencent à échouer car leur placement n'est plus aussi idéal.
Actuellement, j'utilise les rapports de synchronisation Post-Place et Route Static et j'utilise SmartXplorer. J'utilise des stratégies de conception pour optimiser le timing.
Après avoir désactivé une partie de ma conception pour l'adapter, voici quelques résultats:
utilisation de registre de tranche: 42% utilisation de LUT de tranche: 96% nombre de paires LUT-FF pleinement utilisées: 38% Cela signifie-t-il que je suis léger sur les registres, mais lourd sur l'utilisation de la porte?
Existe-t-il des outils pour aider les développeurs à optimiser leur domaine, ou du moins à leur donner plus de détails sur leur code?
Mise à jour: Après avoir regardé l'utilisation du niveau du module, j'ai découvert que j'avais de petits fifos asynchrones de colle partout qui occupaient environ 30% du total des LUT. Je les utilise comme colle cross-clock-domain pour les bus à grande vitesse. Je devrais pouvoir les éliminer, car les horloges sont étroitement liées. (Entrée 120 MHz, produit 100 MHz et 200 MHz via DCM)