Comment concevoir le routage de la mémoire DDR3 et des sorties de l’unité centrale
Il est de plus en plus inévitable que les concepteurs doivent concevoir des PCB à haute vitesse lorsqu'ils travaillent avec des microcontrôleurs. Avec la puissance des unités centrales comme la famille des produits ARM multicœurs Freescale iMX6, mais à un très faible "coût par MIP", il est de plus en plus souhaitable d'utiliser des processeurs de ce type pour que vos PCB offrent des expériences logicielles et utilisateurs riches.
Mais l'utilisation de ces contrôleurs super-micro à mémoire supplémentaire apporte aussi tous les défis de la haute vitesse, des interfaces de mémoire dense et des directives d’agencement DDR3. Dans ce blogue d’invité, Robert Feranec, utilisateur Altium de Fedevel Academy, nous présente quelques conseils très utiles sur le routage de l'interface mémoire DDR3, basés sur sa conception matérielle open-source de l'iMX6 Rex, un kit de développement compact et puissant pour ordinateur monocarte.
La mémoire DDR3 est tellement omniprésente, qu’il est presque inévitable que les concepteurs professionnels conçoivent des routages de PCB en utilisant une DDR3. Cet article vous donne des conseils pour déployer et router correctement des interfaces mémoire DDR3, même dans des conceptions de PCB à très haute densité et très compactes.
Règles de conception de mémoire DDR3 et groupes de signaux
Tout commence avec les règles de conception à grande vitesse recommandées pour le routage de DDR3 en groupes. Pendant l’agencement de la mémoire DDR3, l'interface est divisée en groupe Commande, groupe Contrôle, groupe Adresse, ainsi qu'en banques de données 0/1/2/3/4/5/6/7, horloges et autres. Il est recommandé que tous les signaux appartenant au même groupe soient routés "de la même manière", c'est-à-dire en utilisant la même topologie et les mêmes transitions de couches.
Figure 1 : Tous les signaux du groupe DATA 6 sont routés "de la même manière", en utilisant la même topologie et les mêmes transitions de couches.
À titre d'exemple, prenons la séquence de routage DDR illustrée à la figure 1. Tous les signaux du groupe DATA 6 passent de la couche 1 à la couche 10, puis à la couche 11 et ensuite à la couche 12. Chaque signal au sein du groupe effectue les mêmes transitions de couche et prend généralement la même distance de routage et la même topologie.
L'un des avantages du routage DDR des signaux de cette façon est que pendant l’accord de longueur (délai ou accord de phase), la longueur de l'axe z dans les vias peut être ignorée. Parce que tous les signaux routés de la même manière auront exactement les mêmes transitions et longueurs à travers les vias.
Création de groupes de mémoire DDR3
Altium Designer® supporte un moyen simple de créer les groupes de signaux nécessaires. Cette étape est réalisée dans le schématique du projet. Tout d'abord, une couverture est placée autour de chaque ensemble de réseaux qui servent à créer les groupes. Ensuite, une directive sur les PCB de classe réseau est attachée au bord de la couverture pour appliquer une classe de réseau au groupe. La Figure 2 en donne un exemple.
Figure 2 : Les couvertures et les directives PCB sont utilisées pour créer des groupes de classes de réseau pour les directives de routage de la mémoire DDR3
Attribuer des couleurs à un groupe de mémoire DDR3
Après avoir importé les nouvelles classes de réseau sur notre circuit imprimé (par le biais de : Engineering Change Order (ECO) sous Design » Update PCB Document...), il est très utile d'attribuer une couleur différente à chaque groupe, pour faciliter le routage et le suivre mentalement. Allez dans le panneau de la carte imprimée, cliquez avec le bouton droit de la souris sur le groupe (classe Réseau) auquel vous souhaitez attribuer une couleur et choisissez Change Net Color dans le menu contextuel, comme illustré à la Figure 3.
Figure 3 : Attribuer une couleur différente à chaque groupe permet de suivre plus facilement le routage de la mémoire DDR3.
Après avoir choisi une couleur, cliquez de nouveau avec le bouton droit de la souris sur la classe ou le réseau et choisissez Display Override » Selected ON. Ceci permet de s'assurer que la couleur du réseau que vous avez sélectionnée remplace la couleur de n'importe quelle couche actuellement utilisée par les objets de ce réseau.
Si vous n'avez pas activé Net Color Override, les réseaux ne prendront pas la couleur que vous avez sélectionnée. Dans ce cas, cliquez sur l'option View » Net Color Override ou utilisez la touche F5 pour activer ce paramètre globalement (pour tous les réseaux). Vous êtes maintenant prêt à déployer l'interface DDR3 de l’unité centrale.
Planifiez-vous à l’avance lorsque vous travaillez sur le déploiement de l’unité centrale DDR3 ?
Choisir le style de via correct pour un groupe de mémoire particulier et décider comment les couches de PCB seront utilisées peut rendre l’agencement DDR3 beaucoup plus facile. L'attribution d’une couleur différente à chaque groupe de mémoire permet de visualiser l'interface.
Figure 4 : Choisir une taille de via correcte lors de la conception de vos PCB peut vous faire économiser de l'espace et placer plus de pistes.
Une microvia (μVia) prend moins de place qu'une via traversante. Cela permet de déployer plus de pistes dans la même zone. Les microvias permettent également de gagner de la place sur les autres couches. L'espace libre peut être utilisé pour des pistes.
Pourquoi utiliser des microvias pour des signaux Adresse, Commande et Contrôle ?
Le groupe Adresse, Commande et Contrôle possède le plus grand nombre de signaux provenant des groupes de mémoire. Si vous choisissez des vias traversants, vous utiliserez beaucoup d'espace sur toutes les couches. En utilisant des microvias, vous n'avez besoin que de l'espace sur la couche 3. Comme une microvia a un diamètre plus petit, vous avez aussi plus d'espace pour déployer les signaux sur la couche 3.
Figure 5 : Lors de la conception de vos PCB, deux ou trois pistes peuvent s'insérer entre des microvias, dans le même espace nécessaire pour une piste entre des vias traversantes.
Pourquoi utiliser des vias traversantes pour les "groupes les plus proches" d’un groupe Adresse, Commande et Contrôle ?
Certains signaux du groupe Adresse, Commande et Contrôle auront besoin de l'espace sous les "groupes les plus proches".
Figure 6 : Lors de conception de vos PCB, certaines pistes d'adresses, de commandes et de contrôle doivent être routées sous les pads des "groupes les plus proches".
Lorsque le groupe de signaux Adresse, Commande ou Contrôle est routé par des microvias de la couche 3, il reste de l'espace libre sous ce groupe sur la couche 10. Cet espace peut être utilisé pour déployer les "groupes les plus proches".
Figure 7 : L'espace libre sous les groupes routés avec des microvias peut être utilisé pour déployer les "groupes les plus proches".
Pourquoi les "groupes externes" utilisent-ils des microvias ?
D'après l'image ci-dessus, il est évident qu'il n'y aura pas assez de place sur la couche 10 pour déployer les "groupes extérieurs". Le placement des "groupes extérieurs" sur la couche 3 et l'utilisation de microvias est donc le résultat de la planification du déploiement des pistes.
Note : La même "technique de planification du déploiement" Couche/ Via / Microvia peut également être appliquée aux autres interfaces (par ex. PCI, ISA...). De cette façon, il est possible de créer le routage de modèles extrêmement compacts et denses.
Conclusion
Avec un minimum d’attention et de planification, le routage et le réglage de la longueur pour DDR3 peuvent être un processus sans stress, même avec les directives de conception les plus compactes et les plus denses. L'iMX6 Rex est un excellent exemple d’un tel niveau d’attention et de planification. Il a été conçu en partie comme un outil de démonstration. En suivant le plan et les étapes de Robert, n'importe quelle conception DDR3 peut être terminée en beaucoup moins de temps et avec beaucoup plus de possibilités de réussite à la première tentatives.
Un projet Altium complet avec agencement DDR3 et captures d'écran peut être téléchargé à l'adresse : http://www.imx6rex.com/.
Découvrez Altium en action...