Electrosens R&D
Electrosens Kicad Master · 26 July 2026

Autoroutage GPU : la révolution silencieuse pour les PCB complexes ?

Depuis des décennies, l’autoroutage de PCB reste le parent pauvre de la CAO électronique : lent, rigide, cantonné aux designs simples. Mais en juillet 2026, un plugin KiCad nommé OrthoRoute vient bousculer ce dogme en exploitant la puissance des GPU NVIDIA pour router des cartes que les algorithmes classiques n’osent même pas effleurer. Pourtant, entre la promesse technique et l’adoption réelle, le fossé reste immense. Décryptage d’une innovation qui pourrait – ou pas – changer la donne pour les concepteurs de cartes complexes.

Le grand bond du routage automatique : quand le GPU entre dans la danse

Si vous avez déjà passé des heures à dédier manuellement des centaines de nets entre deux BGA à pas fin, vous connaissez la frustration. Les autorouteurs CPU classiques – qu’il s’agisse de l’algorithme de Lee, de A* ou du maze routing – peinent sur les designs modernes. Leur complexité temporelle explose avec le nombre de connexions et de couches, et leur approche séquentielle (un net après l’autre) les condamne à des temps d’exécution rédhibitoires sur les backplanes multi-couches ou les cartes HDI. Résultat : beaucoup de concepteurs préfèrent router à la main, ou se contenter d’outils semi-automatiques.

C’est dans ce contexte que Brian Benchoff, figure bien connue de la communauté (notamment pour son travail sur Hackaday), a dévoilé OrthoRoute, un plugin pour KiCad qui promet de dompter les designs « monstrueux » grâce à l’accélération GPU. L’idée n’est pas neuve : le routage assisté par GPU est exploré depuis une dizaine d’années dans le monde académique et pour les circuits intégrés (avec des outils comme VPR ou DREAMPlace). Mais l’adapter à un logiciel open source de conception de PCB, et le rendre accessible via un simple plugin, voilà qui change la donne.

La question centrale est simple : l’autoroutage GPU peut-il vraiment révolutionner le workflow des concepteurs de PCB, ou n’est-il qu’une démonstration technique fascinante mais inutilisable en pratique ? Pour y répondre, plongeons sous le capot.

PathFinder sous le capot : l’algorithme FPGA qui dompte les PCB

OrthoRoute ne réinvente pas la roue : il emprunte un algorithme éprouvé dans le routage de FPGA, le PathFinder, et l’adapte au monde des PCB. PathFinder a été initialement développé pour router les réseaux logiques programmables, où la congestion est le problème central. Son principe est élégant : plutôt que d’essayer de trouver un routage parfait du premier coup, il procède par itérations successives.

Source : hackaday.com

Première passe : greedy. On route tous les nets de manière gloutonne, sans se soucier des conflits. Chaque net prend le chemin le plus court possible sur la grille de Manhattan (traces orthogonales uniquement, avec vias enterrés ou borgnes). Forcément, certaines arêtes ou nœuds se retrouvent surutilisés – c’est la congestion.

Itérations suivantes : négociation. Le coût des arêtes et nœuds congestionnés est augmenté, et on reroute les nets qui les empruntent. Ceux-ci sont alors incités à trouver des chemins alternatifs, même plus longs. Le processus se répète jusqu’à ce que tous les conflits soient résolus, ou qu’un nombre maximal d’itérations soit atteint. C’est ce qu’on appelle une « négociation basée sur la congestion ».

Cette approche est particulièrement adaptée à la parallélisation, car chaque itération peut être traitée indépendamment pour chaque net – du moins en partie. Mais attention : contrairement à ce qu’on pourrait croire, PathFinder ne route pas tous les nets en parallèle. Les nets sont traités séquentiellement sur une carte de congestion partagée. C’est à l’intérieur de chaque recherche de chemin que le GPU entre en jeu.

Comparé aux algorithmes CPU classiques (A*, Lee), PathFinder présente un avantage fondamental : il ne cherche pas une solution optimale globale, mais une solution réalisable par itérations. Cela le rend plus tolérant aux grands graphes et aux contraintes multiples. Là où un A* classique exploserait en mémoire sur un design à 20 couches et 5000 nets, PathFinder peut converger en un nombre raisonnable d’itérations, à condition que chaque recherche de chemin soit rapide.

CUDA au service du plus court chemin : comment la parallélisation change la donne

Le cœur de l’accélération GPU dans OrthoRoute repose sur le calcul du plus court chemin dans un graphe pondéré. Pour chaque net, il faut trouver le chemin de moindre coût entre ses broches, en tenant compte des coûts dynamiques (congestion, longueur, vias). Ce problème, connu sous le nom de SSSP (Single-Source Shortest Path), est classiquement résolu par l’algorithme de Dijkstra. Sur CPU, Dijkstra traite les nœuds un par un, avec une file de priorité.

Sur GPU, on peut implémenter un « parallel Dijkstra » où plusieurs nœuds sont explorés simultanément. C’est exactement ce que fait OrthoRoute avec CUDA. La carte de congestion est représentée sous forme de grille 3D (couches × lignes × colonnes), chaque cellule étant un nœud du graphe. Le GPU peut alors lancer des milliers de threads pour explorer les voisins en parallèle, réduisant drastiquement le temps de calcul pour chaque net.

Cependant, le parallélisme reste limité. Comme mentionné plus haut, les nets sont routés séquentiellement : on ne peut pas lancer 5000 Dijkstra en même temps, car ils partagent la même carte de congestion. Chaque net modifie la carte après son routage, ce qui impose une dépendance de données. Le gain vient donc de la rapidité de chaque recherche individuelle, pas d’un parallélisme massif entre nets.

Une autre contrainte est la mémoire VRAM. La grille de Manhattan pour un PCB de 300×300 mm avec une résolution de 0,1 mm et 20 couches représente environ 18 millions de nœuds. Chaque nœud doit stocker son coût, son état, et les liens vers ses voisins. Avec des données 32 bits, on atteint plusieurs centaines de mégaoctets – ce qui tient sur une carte graphique récente (8 Go ou plus). Mais pour des designs encore plus grands ou avec une résolution plus fine (0,05 mm pour les BGA à pas fin), la mémoire peut devenir un goulot d’étranglement. Le développeur lui-même prévient que l’outil est utile à « environ cinq personnes sur la planète », soulignant le caractère encore très niche de l’approche.

Benchmarks en suspens : ce que l’on sait (et ce que l’on ignore) des performances

À ce jour, aucun benchmark chiffré comparant OrthoRoute aux autorouteurs CPU classiques n’a été publié. Le dépôt GitHub mentionne des designs « monstrueux » – backplanes, BGA denses – mais sans fournir de métriques concrètes. On ignore tout :

Source : github.com
  • Temps de routage pour un design donné (secondes, minutes, heures ?)
  • Taux de complétion (100 % des nets routés ?)
  • Longueur totale de piste et nombre de vias (comparé à un routage manuel ou à un routeur CPU optimisé)
  • Consommation mémoire GPU et CPU

Cette absence de données est frustrante, car elle empêche de valider l’intérêt pratique de l’approche. Un routeur CPU comme FreeRouting ou TopoR peut déjà router des designs de taille moyenne en quelques minutes. Si OrthoRoute fait gagner 30 % sur un design complexe mais nécessite une carte graphique à 1000 €, le rapport coût/bénéfice est discutable. À l’inverse, s’il permet de router en une heure un backplane qui prenait une journée de travail manuel, l’investissement devient évident.

Le tableau ci-dessous résume les différences conceptuelles entre les approches, en l’absence de données chiffrées :

Critère Autorouteur CPU classique (A*, Lee) Autorouteur GPU (OrthoRoute / PathFinder)
Algorithme principal Maze routing, A* PathFinder (négociation itérative)
Parallélisme Aucun (net après net, nœud après nœud) Parallélisation intra-net (SSSP sur GPU) ; nets séquentiels
Complexité mémoire Faible à modérée (file de priorité) Élevée (grille 3D en VRAM)
Gestion de la congestion Limitée (recherche locale) Itérative, globale
Designs cibles Petits à moyens (< 1000 nets, < 6 couches) Très grands (backplanes, BGA denses)
Benchmarks publics Nombreux (FreeRouting, TopoR) Aucun pour l’instant

Tant que des benchmarks indépendants ne seront pas réalisés, il est impossible de conclure sur la supériorité pratique de l’autoroutage GPU. La prudence est de mise.

Quels designs pour quel gain ? Scénarios d’usage potentiels

Malgré l’absence de chiffres, on peut raisonnablement identifier les cas où OrthoRoute pourrait apporter un gain décisif, en se basant sur la description de l’outil et les limitations des routeurs CPU.

Grands backplanes multi-couches. Ces cartes comportent souvent plusieurs centaines de nets répartis sur 12 à 30 couches, avec des contraintes de routage orthogonales. Les routeurs CPU classiques s’effondrent sur de tels designs, car la taille du graphe et le nombre de chemins possibles deviennent prohibitifs. PathFinder, avec sa négociation itérative, est conçu pour ce type de problème. Si OrthoRoute parvient à router un backplane de 500 nets en quelques heures, ce serait une avancée majeure.

Motifs BGA à pas fin (0,5 mm ou moins). Le fan-out d’un BGA dense nécessite de nombreuses micro-vias et des chemins complexes pour sortir les signaux des rangées intérieures. Les routeurs CPU ont du mal à gérer la densité et la congestion locale. L’approche itérative de PathFinder pourrait mieux gérer ces goulots d’étranglement.

Cartes à très haute densité d’interconnexion (HDI). Avec des vias borgnes et enterrés, des pistes fines, et des empilages complexes, ces designs sont un cauchemar pour l’autoroutage traditionnel. OrthoRoute supporte nativement les vias enterrés/borgnes dans sa grille Manhattan, ce qui le rend potentiellement adapté.

En revanche, pour les designs haute vitesse (contraintes de longueur, impédance contrôlée) et RF (via stitching, blindage), l’autoroutage automatique – même accéléré par GPU – reste très difficile. Ces domaines exigent un contrôle fin des géométries, des paires différentielles, des longueurs matchées, et une gestion des couches de référence. Aucun autorouteur actuel ne gère correctement ces contraintes, et OrthoRoute ne fait pas exception. Le développeur ne mentionne d’ailleurs aucun support pour les règles de conception avancées.

Les angles morts de l’autoroutage GPU : règles, DFM, et designs mixtes

OrthoRoute est une preuve de concept impressionnante, mais ses limites sont nombreuses et clairement assumées par son auteur.

Source : hilpcb.com

Absence de gestion des règles de conception complexes. Le plugin ne prend pas en compte les net classes, les clearances spécifiques, les paires différentielles, les contraintes d’impédance, ou les longueurs maximales/minimales. Il se contente de router des connexions point à point sur une grille, sans savoir qu’un signal analogique doit être éloigné d’un signal numérique, ou qu’une horloge doit avoir une longueur contrôlée. Pour tout design non trivial, le résultat nécessitera une reprise manuelle importante.

Pas de support pour les designs mixtes analogique/numérique. Les parties sensibles (alimentations, amplificateurs, convertisseurs) demandent un placement et un routage spécifiques qu’aucun algorithme généraliste ne peut garantir. L’autoroutage GPU ne fait pas de miracles : il traite tous les nets de la même manière.

Difficultés avec les contraintes de fabrication (DFM). Angles à 45°, largeurs de piste minimales, espaces entre pistes, tolérances de perçage… OrthoRoute ne gère que des traces orthogonales (Manhattan) et des vias de taille unique. Les designs réels exigent souvent des angles à 45° pour réduire les réflexions, ou des largeurs variables pour les pistes de puissance. Le plugin ne les supporte pas.

Contrainte mémoire VRAM. Comme évoqué, la taille de la grille est limitée par la mémoire de la carte graphique. Pour un PCB de 400×400 mm avec une résolution de 0,05 mm sur 30 couches, la grille compterait environ 1,9 milliard de nœuds – irréaliste même pour un GPU professionnel à 48 Go. Le développeur recommande des designs « monstrueux », mais pas démesurés.

Parallélisme séquentiel des nets. Le fait que les nets soient routés un par un sur une carte partagée introduit un risque de sous-optimalité globale. L’ordre de routage influence le résultat final, comme dans tout routeur séquentiel. PathFinder atténue ce problème par ses itérations, mais ne le supprime pas complètement.

L’avertissement dans le dépôt GitHub est sans équivoque : l’outil est utile à « environ cinq personnes sur la planète ». C’est un projet de passionné, pas un produit prêt pour la production.

Vers une adoption dans KiCad ? Le chemin semé d’embûches de l’open source

OrthoRoute est un plugin, pas un module natif de KiCad. Pour l’instant, son intégration dans un workflow existant nécessite de compiler le code source, d’avoir une carte NVIDIA compatible CUDA, et d’accepter les limitations. La question de son adoption plus large dans l’écosystème open source se heurte à plusieurs obstacles.

Dépendance CUDA (NVIDIA uniquement). La quasi-totalité du calcul GPU repose sur CUDA, ce qui exclut les utilisateurs de cartes AMD ou Intel. Une alternative avec OpenCL ou Vulkan serait plus inclusive, mais représenterait un travail colossal de réécriture. Dans un projet open source où les contributeurs sont bénévoles, maintenir un code GPU spécifique à une marque est risqué.

Maintenance à long terme. Le code GPU est notoirement difficile à maintenir et à faire évoluer. Les évolutions de KiCad (passage à la version 10.0.0 en mars 2026, avec ses nouvelles API) pourraient casser le plugin. Sans un engagement fort de la communauté ou d’un sponsor, OrthoRoute risque de rester une démo technique.

Validation par la communauté. Pour qu’un outil d’autoroutage soit adopté, il faut qu’il fasse ses preuves sur des designs réels, avec des benchmarks reproductibles. À ce jour, aucun retour d’expérience documenté n’existe. Les forums, conférences et blogs sont silencieux. Le projet est encore trop jeune et trop confidentiel.

Comparaison avec d’autres projets académiques. Des outils comme VPR (pour FPGA), OpenROAD (pour circuits intégrés) ou DREAMPlace (placement assisté par GPU) ont montré l’intérêt de la parallélisation GPU pour le routage. Mais leur adaptation au PCB est loin d’être triviale : les contraintes sont différentes (géométrie, couches, vias, règles de conception). OrthoRoute est le premier à faire le pont, mais il reste isolé. Aucune feuille de route de KiCad ne mentionne l’autoroutage GPU à ce jour.

Conclusion : une promesse à concrétiser

OrthoRoute est une innovation technique fascinante. En adaptant PathFinder au PCB et en exploitant CUDA pour accélérer le calcul du plus court chemin, Brian Benchoff a montré que l’autoroutage GPU n’est pas un mythe. Pour les concepteurs de backplanes ou de cartes BGA ultra-denses, l’outil pourrait représenter un gain de temps considérable – à condition qu’il tienne ses promesses.

Mais le chemin vers une adoption mainstream est semé d’embûches. L’absence de benchmarks, les limitations sur les règles de conception, la dépendance à NVIDIA, et le manque de retours d’expérience en font pour l’instant un outil de niche, réservé aux early adopters équipés et patients. La « révolution silencieuse » n’a pas encore eu lieu ; elle en est au stade du prototype de laboratoire.

Ce qui est certain, c’est que l’idée fait son chemin. Avec la puissance croissante des GPU et la maturité des frameworks de calcul parallèle, il est probable que d’autres projets reprennent le flambeau. Peut-être que dans deux ou trois ans, un autorouteur GPU sera intégré nativement dans KiCad, ou deviendra un plugin incontournable. En attendant, OrthoRoute reste une pierre dans le jardin des dogmes établis – et une invitation à repenser ce que l’autoroutage peut accomplir.


Sources

Article recherché et rédigé automatiquement · Magazine Electrosens
📬 Restez à la pointe
Recevez chaque semaine les nouveautés de ce magazine par email.
💬 Une remarque, une correction ?
Aidez-nous à améliorer cet article. Nous prenons en compte vos retours.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *