Egalisation de la longueur des pistes sur le PCB

Lorsque la vitesse des signaux augmente et que les courants de fonctionnement diminuent, il devient essentiel de préserver l’intégrité du signal pendant la conception du PCB. En particulier, le temps de transition des signaux doit être synchronisé grâce à l’égalisation de la longueur des pistes en cuivre du PCB. L’idée de base est d’augmenter la longueur des pistes les plus courtes pour qu’elles s’adaptent à la longueur de la piste la plus longue.

Configurer les méandres du style serpentin

Cet article donne une vue d’ensemble des différentes situations qui justifient une égalisation de la longueur (également appelé ‘tuning’). Les paires différentielles sont traitées dans un autre article.

Egaliser un ensemble de pistes

C’est probablement la situation la plus commune qui vous conduit à vouloir égaliser la longueur de plusieurs lignes. Il faudra donc regrouper vos pistes dans un container. Celui-ci inclut la longueur cible, la tolérance, la configuration des serpentins et la liste des pistes concernées.  Si vous avez plusieurs containers dans votre projet, chacun aura sa propre configuration de serpentins et de tolérances.

Chaque  logiciel de CAO électronique gère les containers à sa façon pour obtenir la longueur commune souhaitée. Dans la suite Proteus, il suffit de sélectionner toutes les pistes cibles et d’appeler la commande d’égalisation pour le container qui vient d’être crée à partir de la sélection.

Egaliser une longueur cible

Dans ce cas, plutôt que d’égaliser la longueur des pistes par rapport à la plus longue, la contrainte est d’égaliser la longueur des pistes pour atteindre une valeur absolue prédéfinie. Dans certaines CAO, le container est défini en premier ainsi que la longueur cible puis vous placez les pistes avec un serpentin automatique jusqu’à cela vous convienne. Dans d’autres CAO, telle que Proteus, vous commencez par tracer les pistes normalement, puis vous les sélectionnez et entrez la longueur cible. Les serpentins nécessaires seront automatiquement ajoutés sur les pistes routées. Dans les deux cas, vous pourrez sélectionner les segments de serpentins afin de les repositionner librement sur la piste à l’endroit de votre choix.

Déplacez les segments de serpentins

Egalisation complexe

Jusqu’ici nous avons parlé d’égalisation de longueur pour laquelle toutes les pistes appartiennent au même container.  Cependant, il peut arriver qu’une section de piste appartienne à plusieurs containers. Un bon exemple est le routage fly-by des lignes de mémoire CMD/ADDR d’une DDR3. Considérons la topologie suivante:

Configuration fly-by simplifiée

AB, AC et AD sont tous des signaux critiques qui devront être égalisés. Il est cependant inévitable que certains segments appartiennent à plusieurs containers.

Les sections horizontales (bleue et verte) sont incluses dans des containers différents

A nouveau, la gestion de ce cas dépend du logiciel de CAO utilisé. Cependant une règle globale est de router et d’égaliser le segment le plus court en premier puis de poursuivre jusqu’au plus long. Dans notre exemple, il faudrait router AB en premier, car AB a moins de place pour ajouter un serpentin et c’est probablement lui qui doit servir à l’égalisation.

Longueurs internes

Si la longueur à égaliser passe d’une couche à l’autre du PCB alors il faut ajouter la longueur des trous à la longueur totale. La plupart du temps, l’épaisseur de la couche est entrée lors de la déclaration de l’empilement (layer stackup) et sera utilisée pendant l’égalisation des longueurs.

Quelquefois, la vitesse du signal est tellement haute et les contraintes de timing si serrées que les délais de propagation des signaux internes au composant deviennent significatifs. Dans ce cas, il faudra indiquer les longueur internes afin que l’algorithme en tienne compte. Pour ce faire, dans Proteus, il convient d’ajouter une propriété liée à l’empreinte qui utilise la virgule comme séparateur : « pin name, length listing ». L’égalisation serait donnée par la formule suivante:

<etched copper length> + <internal lengths> + <drill depth x num holes>

qui permet l’égalisation avec la tolérance spécifiée.

Reporting

Une carte complexe peut posséder un bon nombre de containers, donc un grand nombre de pistes à égaliser. Comme la fabrication d’un tel PCB est en elle-même une tâche complexe, vous souhaiterez vous assurer que toutes les égalisations restent dans les tolérances indiquées avant lancer la fabrication d’un prototype.

Classiquement, vous obtiendrez une rapport d’égalisation qui liste toutes les pistes d’un container avec leur statut.

Vous pouvez également sélectionner et parcourir les containers du layout en utilisant la mise en surbrillance de la connectivité.

Résumé

L’égalisation des pistes est passée d’une niche technique des designs avant-gardistes à une fonction indispensable. Si vous êtes êtes intéressé par savoir comment Proteus gère l’égalisation des longueur, regardez la vidéo indiquée ci-dessous:

Retour haut de page