Qu'est-ce que Placement-routage ?
Étape de conception qui, à partir de la netlist issue de la synthèse logique, dispose les cellules sur la puce (placement) et détermine les interconnexions entre elles (routage).
Nom japonais: 配置配線
« Placement-routage » apparaît dans 16 questions d'entraînement réparties sur 3 thèmes, dont Flot de conception de circuits intégrés et EDA, Analyse temporelle et CDC, HDL et vérification.
Domaine: Flot de conception de circuits intégrés et EDA
La place du placement-routage dans le flot
La synthèse logique transforme le RTL en netlist au niveau portes, mais cette netlist n'a aucune géométrie. Le placement-routage (P&R) la convertit en layout physique. Il commence par le floorplanning, qui fixe la taille de la puce, la position des gros blocs comme les mémoires, l'emplacement des E/S et l'ossature du réseau d'alimentation. Les cellules standard sont ensuite placées en rangées, l'arbre d'horloge est synthétisé (clock tree synthesis, CTS) pour distribuer l'horloge avec un décalage (skew) maîtrisé, et enfin les nets de signal sont routés sur les couches métalliques. Le résultat passe ensuite à l'extraction, à la validation finale du timing (sign-off) et à la vérification physique.
Ce qu'optimise le placement
Le placement positionne de milliers à des millions de cellules afin de minimiser la longueur totale de fils tout en évitant la congestion, c'est-à-dire les zones où il faudrait plus de fils qu'il n'existe de pistes de routage. Il est piloté par le timing : les cellules des chemins critiques sont rapprochées, et les outils insèrent des buffers ou redimensionnent des portes au fil de l'eau. Une étape finale de légalisation aligne chaque cellule sur les rangées de cellules standard, sans chevauchement. Les choix faits au floorplanning, comme placer côte à côte des blocs qui échangent beaucoup de données, fixent les limites de ce que le placement peut atteindre et coûtent cher à modifier ensuite.
Comment se fait le routage
Le routage se déroule généralement en deux étapes. Le routage global divise la puce en une grille grossière et attribue à chaque net un chemin à travers des régions, en estimant la congestion. Le routage détaillé affecte ensuite de vraies pistes et des vias sur chaque couche métallique, en respectant les règles de conception de largeur et d'espacement. Les couches alternent généralement de direction préférentielle, horizontale sur l'une et verticale sur la suivante, pour garder un routage régulier. Les couches basses, fines et denses, servent aux connexions locales, tandis que les couches hautes épaisses transportent les longs signaux globaux, les horloges et l'alimentation avec une résistance plus faible.
Questions fréquentes
Quelle est la différence entre le placement et le routage ?
Le placement décide de l'emplacement de chaque cellule sur la puce, tandis que le routage crée les fils métalliques et les vias qui relient les cellules placées conformément à la netlist. La qualité du placement détermine en grande partie la facilité du routage.
Qu'est-ce qui précède et qui suit le placement-routage ?
Il est précédé de la synthèse logique, qui fournit la netlist au niveau portes. Il est suivi de l'extraction des parasites, de l'analyse temporelle statique et de la vérification physique (DRC et LVS) avant que le layout ne soit transmis pour fabrication.
Pourquoi le floorplanning est-il si important en placement-routage ?
Le floorplanning fixe la taille de la puce, la position des blocs, l'emplacement des E/S et le réseau d'alimentation, qui contraignent toutes les étapes suivantes. Un mauvais floorplan entraîne de la congestion et des fils longs que les étapes ultérieures ne peuvent pas entièrement corriger.