Votre stratégie de routage des signaux à haute vitesse exige une attention particulière aux contraintes ainsi qu’une implantation créative. Voici comment router correctement des signaux à haute vitesse.
Votre PCB numérique moderne fonctionne très probablement comme un système numérique à haute vitesse, que cela ait été votre intention ou non. Bien sûr, l’impact et le niveau d’évaluation requis dépendent du temps de montée de vos signaux, et cela limitera souvent la manière et l’endroit où vous pouvez router certains signaux sur le PCB. Ces contraintes peuvent être définies comme des règles de conception PCB dans votre projet PCB, et cet article passe en revue certaines des contraintes courantes imposées dans les conceptions haute vitesse afin d’assurer un routage réussi.
Les interfaces standard utilisées pour transférer des données numériques à haute vitesse sont toutes des interfaces à impédance contrôlée. Le driver connecté à une piste s’attend à ce que cette piste présente une valeur d’impédance spécifique, et votre logiciel ECAD doit la maintenir lorsque vous commencez le routage. De même, les récepteurs sont terminés à une impédance d’entrée spécifique ou à une capacité de charge donnée, et ne fonctionnent comme prévu qu’en fonction de l’impédance de la piste connectée.
Une fois qu’un modèle d’impédance est établi pour votre conception, la contrainte de largeur de piste et les variations autorisées doivent être définies pour chaque couche de signal, puis appliquées à différentes classes de nets. Cela nécessite un calcul de l’impédance des pistes dans différentes géométries.
Dans Altium Designer, les calculs d’impédance des lignes de transmission sont effectués dans le même outil que celui utilisé pour définir l’empilement de couches du PCB.
Pour garantir que le routage conserve la bonne impédance sur des interfaces spécifiques, nous utilisons un processus simple consistant à regrouper les nets et à créer des règles de conception spécifiques aux nets pour imposer la largeur de piste. Regrouper les nets ayant la même impédance dans des classes de nets est le moyen le plus rapide d’appliquer plusieurs contraintes à des groupes de nets, y compris les principales contraintes haute vitesse telles que la largeur de piste et l’égalisation des délais de propagation dans les bus parallèles et les paires différentielles.
Qu’en est-il de la variation d’impédance ? Comment en tenir compte si vous prévoyez de modifier la largeur de piste ? Il est possible de le faire en utilisant un neck-down, c’est-à-dire en modifiant la largeur de piste lorsque la piste entre dans une zone, par exemple dans une empreinte BGA. Si vous pouvez anticiper ces besoins de routage, prévoyez alors de prendre en compte le changement de largeur de piste dans vos règles de conception PCB.
Les vérifications de confinement du chemin de retour permettent de vérifier qu’une piste ne traverse pas une limite de plan de référence, comme le vide entre deux rails dans une couche d’alimentation. Le franchissement de ce vide interrompt le chemin de retour à proximité et force le courant de retour à faire un détour. Dans Altium Designer, une règle Return Path utilise le profil d’impédance assigné pour identifier les couches de référence et vérifier la continuité du cuivre sous le routage.

Le skew entre les signaux dans les bus parallèles ou au sein d’une paire différentielle doit être minimisé lorsque les exigences d’appariement des délais sont très strictes. Il existe trois catégories de désalignement temporel qui doivent être contraintes dans un routage PCB :
C’est pourquoi nous aimons définir des classes de nets ; cela simplifie grandement les contraintes temporelles, car elles peuvent être appliquées à tous les nets de cette classe de nets.
Pour des interfaces comme PCIe et DDR, les contraintes temporelles sont si serrées que le délai de propagation pin-package est nécessaire pour garantir avec précision que les signaux atteignent leur destination dans la fenêtre temporelle requise. Le fournisseur du composant peut fournir ces informations afin de modéliser l’interface haute vitesse concernée. Lorsque vous créez un symbole schématique pour le composant de bibliothèque, les informations de délai des broches peuvent être intégrées aux définitions de broches à chaque extrémité de la liaison, et ces valeurs de délai seront prises en compte dans l’outil d’ajustement des délais pendant le routage.
Pour inclure les délais pin-package dans le calcul d’ajustement des délais pendant le routage dans Altium Designer, les nets de l’interface concernée doivent être inclus dans xSignals. Cet outil prend en compte tous les délais point à point entre deux circuits intégrés, et ceux-ci sont utilisés dans le calcul d’ajustement des délais.
Dans les cartes à grand nombre de couches, il est fréquent que certaines classes de nets ou classes de paires différentielles soient affectées uniquement à des couches spécifiques. Il y a deux raisons principales à cela :
Par exemple, il est courant de séparer différentes interfaces telles que DDR, les paires différentielles 90 Ohms (par ex., USB), les paires différentielles 100 Ohms et d’autres bus à impédance contrôlée sur leurs propres couches avec une conception de paire commune. Cette séparation peut également être effectuée selon les valeurs de largeur/espacement des pistes, car cela aide les fabricants à remplacer plus facilement les matériaux par des équivalents lorsque cela est nécessaire.
Une règle Routing Layers spécifie quelles couches de signal peuvent être utilisées par la classe de nets ou la classe de paires différentielles ciblée. Les règles spécifiques à une classe permettent à chaque interface d’utiliser ses couches assignées tout en conservant une règle plus générale pour les autres routages.
Les valeurs d’espacement sont normalement différentes pour les couches internes et externes en raison du procédé de placage des couches externes. Cependant, comme beaucoup de conceptions haute vitesse tendent également à être des conceptions à haute densité, il est courant que différentes couches internes nécessitent des valeurs d’espacement différentes. Cela résulte de l’utilisation de sous-stratifiés, qui nécessitent un procédé de placage supplémentaire et conduisent à une épaisseur de cuivre déposée plus élevée que le poids de feuille de base.
Dans Altium Designer, les espacements par couche peuvent être définis à l’aide du système de requêtes :
Veillez à obtenir les exigences d’espacement en fonction du poids du cuivre (interne et externe) auprès de votre prestataire de fabrication PCB.
Il est également possible de définir les espacements par couche à l’aide du nouveau Constraint Manager. Cela offre une approche basée sur une matrice pour les définitions d’espacement, que les concepteurs utilisant d’autres logiciels ECAD trouveront beaucoup plus familière. Pour en savoir plus sur le Constraint Manager, regardez la vidéo ci-dessous :
J’ai expliqué ailleurs sur le blog Altium comment fonctionne l’impédance des vias et à quelles fréquences les vias doivent être conçus avec une impédance d’entrée spécifique. Ces tailles de vias et d’anti-pad seront spécifiques aux nets pour un empilement et une étendue de couches donnés, et la restriction sur la taille des vias/pads peut être définie à l’aide des règles de conception PCB.
Les tailles de vias peuvent être contraintes de deux manières :
Déterminer la bonne taille de via n’est pas aussi simple que d’utiliser un calculateur en ligne pour déterminer les dimensions d’un via. Cela nécessite une simulation 3D du champ électromagnétique, ou au minimum un modèle empirique développé à partir de données de simulation. Une fois les dimensions des vias et celles des anti-pastilles déterminées, appliquez-les comme règles de conception afin de garantir que les interconnexions haut débit importantes soient contraintes aux bonnes dimensions de via.
L’anti-pastille de via est un autre élément de la conception liée à l’impédance des vias, car le dégagement par rapport au plan ajuste la capacité le long du fût du via. Dans toutes les conceptions, il existe déjà une exigence minimale de dégagement entre les pastilles de via et le cuivre voisin sur les rails de plan ou les grands rails d’alimentation. La valeur du dégagement entre via et cuivre peut être ajustée sur des nets spécifiques à l’aide d’une règle de conception PCB, au niveau d’un net ou d’une classe de nets.
Pour les nets différentiels, la forme de l’anti-pastille peut être oblongue ou elliptique, plutôt que circulaire autour de chaque via. Cette anti-pastille partagée est idéalement définie en dessinant sa forme, soit comme évidement de plan, soit comme évidement de polygone. Un exemple est présenté ci-dessous.
Une caractéristique des PCB modernes à haut débit est qu’ils ont aussi tendance à être des PCB à haute densité. Cela s’explique par le fait que la plupart des processeurs sont désormais conditionnés en boîtiers BGA et qu’à faible pas, le via-in-pad sera nécessaire pour réaliser le fanout. Même avec des boîtiers BGA à pas plus large utilisant un fanout en dog-bone, le placement optimal des condensateurs de découplage se fait au dos du BGA en utilisant le via-in-pad.
Par défaut, les logiciels ECAD vérifient la présence de via-in-pad et le signalent comme une violation DRC s’il est présent. Cependant, le via-in-pad peut être autorisé dans les règles de conception afin de prendre en charge le routage de fanout BGA.
Ouvrez Design » Rules et créez une règle High Speed » Via Under SMD. Activez Allow Vias under SMD Pads et appliquez la portée de la règle aux pastilles visées, en utilisant IsPad AND WithinRoom('BGA_Fanout') pour une zone de fanout définie. Donnez-lui une priorité plus élevée que la règle générale. Configurez également une règle Same Net Only Clearance correspondante avec un dégagement nul entre pastille SMD et via, ainsi qu’entre pastille et trou de via, pour les vias approuvés.
Veillez à spécifier les vias concernés comme remplis et capés à l’aide de l’option de types de via IPC-4761 dans le panneau Properties. Cela peut également être fait en sélectionnant manuellement le groupe de vias spécifique à métalliser et à caper, ou en ajoutant une note de fabrication à votre plan principal si tous les vias doivent être remplis et capés.
La longueur découplée d’une paire différentielle contribuera à la perte de retour dans un canal différentiel ; il est donc important de déterminer une longueur découplée appropriée dans certaines applications. La région découplée apparaît le plus souvent lors du routage hors d’un champ de broches dense dans un BGA, où les pistes doivent s’écarter l’une de l’autre pour pouvoir contourner les vias.
Le calcul de la longueur découplée n’est pas simple, car il repose sur un calcul correct de longueur critique fondé sur la bande passante de votre canal. Une bonne stratégie consiste, si vous savez que vos paires différentielles comporteront une région découplée dans le routage de fanout, à commencer par concevoir la paire avec un couplage lâche, car cela réduira le désadaptation d’impédance dans la région découplée et limitera la conversion de mode.
Pour en savoir plus sur le système de règles de conception PCB dans Altium Designer, regardez la vidéo ci-dessous.
Que vous ayez besoin de créer une électronique de puissance fiable ou des systèmes numériques avancés, utilisez l’ensemble complet des fonctionnalités de conception PCB d’Altium et ses outils de CAO de classe mondiale. Altium fournit la première plateforme mondiale de développement de produits électroniques, avec les meilleurs outils de conception PCB du secteur et des fonctionnalités de collaboration interdisciplinaire pour les équipes de conception avancées. Contactez un expert Altium dès aujourd’hui !
Dans Altium Designer, créez une règle High Speed » Return Path appliquée aux nets ou à la classe de nets concernés. Sélectionnez le profil d’impédance qui définit leurs couches de référence, configurez la distance minimale entre la piste et les limites du cuivre de référence, puis lancez une vérification par lot des règles de conception. Cette vérification identifie les routages passant au-dessus de discontinuités du cuivre de référence, y compris les espaces entre rails d’alimentation.
Créez une règle Routing » Routing Layers dans Design » Rules et appliquez-lui une portée avec InNetClass('ClassName') ou InDifferentialPairClass('PairClass'). Activez Allow Routing uniquement pour les couches de signal autorisées, puis attribuez à la règle une priorité supérieure à celle des règles Routing Layers plus générales. Ces paramètres contraignent le routage et permettent aux vérifications de règles de conception d’identifier les pistes existantes sur des couches interdites.
Créez une règle Routing » Routing Via Style et appliquez-la au net ou à la classe de nets cible à l’aide de InNet('NetName') ou InNetClass('ClassName'). Définissez les valeurs minimale, préférée et maximale du diamètre de via et du diamètre de perçage, ou configurez la règle pour utiliser des modèles de via approuvés. Donnez à la règle une priorité plus élevée que celle de la règle générale sur les vias. Les empilements de couches traversés par les vias sont définis séparément dans le Layer Stack Manager.
Les classes de nets peuvent être créées à l’aide de directives Net Class dans le schéma, ou directement via Design » Classes dans l’éditeur PCB. Pour les classes définies dans le schéma, activez la génération de classes de nets définies par l’utilisateur dans Project Options et transférez les modifications vers le PCB. Dans Design » Rules, appliquez à chaque règle de routage ou de temporisation concernée une portée avec InNetClass('ClassName'), configurez ses contraintes et donnez-lui la priorité sur les règles plus générales du même type.