Le routage des bus mémoire DDR

Voici l’une des tâches les plus “compliquées” que l’on puisse rencontrer lors du tracé d’une carte, car elle mélange plusieurs technologies d’entrées sorties qui doivent impérativement être prises en compte (Et donc bien comprises) pour un fonctionnement nominal. Nous allons rencontrer des bus parallèles synchrones cadencées par des horloges différentielles rapides, agissant sur leurs deux fronts de commutation (Dual Data Rate). Ces bus seront considérés comme des lignes de transmission et adaptés suivant la topologie de placement retenue.

Simulation des plans et réseaux d’alimentation

La toute première chose à faire c’est une simulation des plans et réseaux d’alimentations des processeurs, SOCS ou FPGA et des mémoires, et donc de bien prévoir à la fois l’implantation des boîtiers (Via In Pad ou connexions en “Dog-bones”) et le positionnement des condensateurs de découplage. Pour ce faire, un logiciel tel que le PDN planner de la société ICD permettra d’éviter bien des problèmes et de mieux comprendre l’intérêt du placement optimisé des condensateurs de découplage soigneusement sélectionnés.

Lecture des datasheets du processeur et des mémoires

Après avoir vérifié les propositions d’empilage (Stackup) du fabricant de PCB et les besoins de routage des différentes lignes il va être possible de calculer d’une part la longueur critique des lignes data, adresses et contrôle du bus mémoire et d’autre part les valeurs des adaptations de lignes à implanter sur le PCB pour les lignes d’adresse et de contrôle qui ne profitent pas des terminaisons intégrées dans les boîtiers (On Die Terminators) contrairement aux “lanes” data, regroupées en octets.

La lecture des datasheets du processeur et des mémoires permet d’établir un budget temporel des signaux. Si les chiffres semblent bizarres, je rappelle que le temps de propagation d’un signal sur un FR-4 est d’environ 150mm/nS ou 7nS/m. Ceci posé, il ressort que la longueur totale d’une piste ne doit pas excéder 4,91mm sans être adaptée sous peine d’engendrer des rebonds inacceptables car violant les exigences fonctionnelles.

Calcul et simulation pour l’adaptation des lignes

Le fabricant de PCB nous a communiqué le stackup retenu et nous avons validé la largeur des pistes à implanter, couche par couche pour respecter les impédances préconisées. Parfait ! Maintenant, à l’aide d’un logiciel tel qu’ICD Stackup planner nous allons reprendre ces données afin d’obtenir les inductances et capacité parasites des pistes et pouvoir calculer et simuler les adaptations des lignes. Ne cherchez pas sur votre logiciel de CAO préféré, comme d’habitude, les éléments indispensables n’y sont pas. N’oubliez pas que l’adaptation des lignes de transmission est la meilleure solution pour réduire la diaphonie entre les pistes, avant même d’augmenter la séparation entre celles-ci.

La simulation des lignes de transmission doit impérativement être réalisée avec un logiciel supportant les modèles IBIS tel Hyperlynx pour obtenir des résultats corrects. En effet, il est quasi-impossible d’obtenir des modèles Spice pour les composants processeurs et mémoires utilisés ici et c’est bien dommage. Quoi qu’avec un peu d’astuce et de réflexion, on fait des miracles …

Ne pas oublier dans les calculs de longueur de ligne de transmission la longueur des vias, et si possible calculer l’impédance, l’inductance et la capacité parasite de ceux-ci, y compris l’impédance différentielle pour les qualifier (DQSXX – /DQSXX ou DQSXX_P – DQSXX_N).

Le routage et ses contraintes

Maintenant, il est possible d’ouvrir notre logiciel de placement-routage préféré et de valider les contraintes de routage. L’extraction du “Manhattan” des équipotentielles composant le bus donne la longueur moyenne des pistes qu’il faudra respecter. Pour mémoire, le “Manhattan” est la longueur d’une équipotentielle multipliée par . Ajouter une tolérance (Voir tableau ci-dessus).

Lors du routage des pistes, on prendra la piste la plus longue, et on alignera la longueur des autres sur celle-ci. Les accordéons sont générés automatiquement par les logiciels actuels, donc le travail est assez simple, surtout bien vérifier que la longueur des qualifiers est légèrement supérieure à celles des lignes qu’ils échantillonnent. Pour revenir sur ce sujet, il serait sain de prendre en compte les temps de propagation dans les composants pour calculer la longueur totale des équipotentielles. C’est hélas rarement le cas car souvent les données manquent.

Le routage des bus synchrones en eux-mêmes ne pose aucun problème. Il faut juste éviter les changements de couches car les temps de propagation dans les vias sont très significatifs. Autant un dérapage sur l’impédance des lignes n’empêchera surement pas votre produit de fonctionner, autant le décalage d’un temps de propagation est absolument critique. Voir à ce sujet le fonctionnement d’une bascule “D”. On a un peu trop tendance à l’oublier aujourd’hui.

Enfin ne s’accorder aucune tolérance sur la longueur des deux lignes composant une différentielle. Les deux signaux doivent avoir strictement la même longueur. Toujours router les différentielles en couches internes.

Si ces quelques lignes vous semblent ardues, dites vous bien que l’action du spécialiste en intégrité du signal est relativement bien synthétisée dans celles-ci.

La formation “Méthodologie et techniques de conception avancées des PCB” reprend un par un les éléments nécessaires à la bonne réalisation de PCB complexes, intégrant des signaux faibles et des courants forts au milieu d’une électronique digitale rapide, chacun tolérant assez mal la présence des autres.

La bonne compréhension des phénomènes électromagnétiques est indispensable pour tracer un circuit “Bon du premier coup”. Malheureusement le traitement mathématique pur tel qu’enseigné à l’université ne répond pas au besoin. La simulation est ardue et particulièrement complexe pour un résultat parfois aléatoire. EDA-Expert propose une méthodologie reposant sur des cas pratiques et des développements mathématiques en espace temporel permettant de jongler avec des millimètres et des picosecondes, en employant un outil de validation qui évite bien des déboires.


Le routage des bus mémoire DDR
Retour en haut