Routage des signaux à grande vitesse : les 10 contraintes importantes de conception de PCB

Zachariah Peterson
|  Créé: Avril 29, 2020  |  Mise à jour: Octobre 1, 2026
At a Glance

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.

Go Deeper with AI:
Routage des signaux à grande vitesse : les 10 contraintes importantes de conception de PCB

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.

10 contraintes importantes de routage PCB haute vitesse

Valeurs de largeur de piste par couche

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.

  1. Ouvrez Design » Layer Stack Manager et configurez l’empilement, y compris les épaisseurs de cuivre, les épaisseurs de diélectrique et les propriétés des matériaux diélectriques.
  2. Sélectionnez l’onglet Impedance et cliquez sur Add Impedance Profile, ou sur le bouton d’ajout si un profil existe déjà.
  3. Dans le panneau Properties, sélectionnez le type de profil et saisissez la Target Impedance et la Target Tolerance.
  4. Activez les couches de signal qui utiliseront ce profil, puis assignez les couches de référence dans les colonnes Top Ref et Bottom Ref.
  5. Sélectionnez chaque couche de signal activée et vérifiez la largeur de piste calculée. Pour un profil différentiel, verrouillez soit Width soit Trace Gap afin que le solveur calcule l’autre valeur pour l’impédance cible.
  6. Enregistrez l’empilement de couches. Le profil résultant pourra ensuite être sélectionné dans la règle applicable Width ou Differential Pairs Routing.

Classes de nets à impédance contrôlée

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.

  1. Dans le schéma, attachez une directive Net Class à chaque net appartenant au groupe et saisissez le même nom de classe pour chaque directive. Un blanket avec un jeu de paramètres attaché peut également regrouper plusieurs nets.
  2. Ouvrez Project » Project Options » Class Generation et activez la génération des classes de nets définies par l’utilisateur. Mettez à jour le PCB et exécutez les modifications liées aux classes dans l’Engineering Change Order.
  3. Vous pouvez aussi créer la classe directement dans l’éditeur PCB via Design » Classes. Ajoutez une nouvelle classe sous Net Classes, nommez-la, puis déplacez les nets requis de Non-Members vers Members.
  4. Ouvrez Design » Rules et créez la règle requise, par exemple Routing » Width.
  5. Définissez la portée de la règle sur InNetClass('ClassName'), en remplaçant ClassName par le nom réel de la classe.
  6. Configurez les contraintes. Pour le routage à impédance contrôlée, activez Use Impedance Profile et sélectionnez le profil créé dans le Layer Stack Manager.
  7. Donnez à la règle spécifique à la classe une priorité supérieure à celle des règles plus générales du même type, puis appliquez les modifications.

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.

Confinement du chemin de retour

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.

Désalignement temporel

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 :

  • Appariement du délai des signaux au sein d’une paire différentielle
  • Appariement du délai entre plusieurs paires différentielles
  • Appariement des longueurs dans les bus mixtes (single-ended et paires différentielles)

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.

Restrictions de couches de routage

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 :

  • Les différentes couches sont séparées selon l’impédance, ce qui facilite les tests d’impédance contrôlée
  • Certains routages nécessitent plus d’espacement pour garantir une faible diaphonie, ce qui laisse peu de place pour d’autres routages de signaux

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.

  1. Ouvrez Design » Rules et créez une nouvelle règle sous Routing » Routing Layers.
  2. Définissez la portée personnalisée sur InNetClass('ClassName') pour une classe de nets ou InDifferentialPairClass('PairClass') pour une classe de paires différentielles.
  3. Dans la liste des couches, activez Allow Routing pour les couches autorisées et désactivez-la pour les autres couches.
  4. Donnez à cette règle une priorité supérieure à celle de toute règle Routing Layers plus générale ciblant les mêmes nets.
  5. Appliquez la règle et exécutez une vérification des règles de conception afin d’identifier les routages existants sur des couches interdites.

Espacements par rapport à tous les autres objets selon la couche

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 :

  1. Ouvrez Design » Classes dans l’éditeur PCB et créez une nouvelle classe de couches sous Layer Classes.
  2. Attribuez un nom à la classe et ajoutez les couches partageant les mêmes exigences d’espacement. Répétez cette opération pour chaque groupe nécessitant un espacement différent.
  3. Ouvrez Design » Rules et créez une nouvelle règle sous Electrical » Clearance pour chaque couche ou classe de couches.
  4. Sélectionnez une requête personnalisée pour la portée du premier objet. Utilisez OnLayer('Top Layer') pour une couche individuelle ou InLayerClass('LayerClass') pour une classe de couches, en remplaçant par le nom réel de la couche ou de la classe.
  5. Définissez la portée du second objet sur All afin que la règle vérifie l’espacement avec les autres objets en cuivre sur la couche concernée.
  6. Sélectionnez Different Nets Only et saisissez l’espacement minimal requis. Utilisez la matrice d’espacement si différentes combinaisons d’objets nécessitent des valeurs différentes.
  7. Donnez aux règles spécifiques à chaque couche une priorité supérieure à celle de la règle d’espacement générale, appliquez les modifications et exécutez une vérification des règles de conception.

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 :

Tailles ou modèles de vias spécifiques aux nets

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 :

  • En définissant les tailles autorisées pour des nets/classes de nets spécifiques
  • En assignant un modèle de via à des nets/classes de nets spécifiques

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.

Anti-pastille 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.

Autorisation du via-in-pad

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.

Longueur découplée d’une paire différentielle

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 !

 

Questions fréquentes

Comment puis-je vérifier si des pistes PCB traversent des discontinuités dans leurs plans de référence ?

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.

Comment limiter une classe de nets ou une classe de paires différentielles à des couches de routage spécifiques ?

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.

Comment attribuer des dimensions de via ou des modèles de via à des nets et classes de nets spécifiques ?

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.

Comment créer des classes de nets et attribuer des règles de routage PCB haut débit ?

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.

A propos de l'auteur

A propos de l'auteur

Zachariah Peterson possède une vaste expérience technique dans le milieu universitaire et industriel. Avant de travailler dans l'industrie des PCB, il a enseigné à la Portland State University. Il a dirigé son M.S. recherche sur les capteurs de gaz chimisorptifs et son doctorat en physique appliquée, recherche sur la théorie et la stabilité du laser aléatoire. Son expérience en recherche scientifique couvre des sujets tels que les lasers à nanoparticules, les dispositifs électroniques et optoélectroniques à semi-conducteurs, les systèmes environnementaux et l'analyse financière. Ses travaux ont été publiés dans diverses revues spécialisées et actes de conférences et il a écrit des centaines de blogs techniques sur la conception de PCB pour de nombreuses entreprises. Zachariah travaille avec d'autres sociétés de PCB fournissant des services de conception et de recherche. Il est membre de l'IEEE Photonics Society et de l'American Physical Society

Related Technical Documentation

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.