J'ai une conception de contrôleur Serial-ATA fonctionnant sur presque tous les types d'appareils Xilinx de la série 7, à l'exception de l'appareil Artix-7, ce qui me donne des maux de tête ...
La conception pure (SATA 6.0 Gb / s, horloge de conception 150 MHz) peut être implémentée sur mon Artix-7 200T. Si j'ajoute des cœurs ILA (anciennement ChipScope), le timing n'est pas respecté.
Qu'est-ce que j'ai fait pour détendre la situation: - ajouté 2 étages de pipeline dans chaque cœur ILA - ajouté 1 étage de pipeline entre l'émetteur-récepteur GTP et la logique - utilisé la resynchronisation, le remappage et le placement étendu comme stratégie de mise en œuvre alternative
Ces images montrent le flux de conception normal. Les cœurs ILA sont loin du SATAController (SATAC) et du processeur 8 bits ( SoFPGA ), mais le contrôleur a toujours des chemins défaillants (c'est la seule région avec des chemins défaillants).
Il semble que l'Artix-7 ne dispose pas de ressources de routage dans certaines régions. Comment puis-je obtenir un rapport indiquant un tel soupçon?
J'ai également essayé de recalculer, de remapper et de stratégies de placement plus larges. Le résultat est le suivant:
L'échec du timing est presque le même ...
PS La conception utilise seulement 178 des> 300 BlockRAMs. J'ai utilisé Xilinx ISE pour utiliser presque tous les BlockRAM dans d'autres conceptions, mais je n'ai jamais rencontré un tel comportement.
Éditer:
Voici une carte thermique de toutes les valeurs de mou négatives par tranche (colorées en rouge)