Il m'arrive parfois de me retrouver dans des conversations par messages textes avec des amis qui partent complètement en vrille. C'est trop facile de poser cinq questions en un seul texte, et essayer de répondre à tout fait que notre chaîne de messages devient complètement désynchronisée. Ce n'est que trois messages plus tard que je réponds enfin à tout ce que mon ami a demandé, et à ce moment-là, nous sommes déjà passés à un tout nouveau sujet.
Le retard de signal entre les circuits logiques dans un PCB ou un CI n'est pas quelque chose auquel vous devez normalement penser jusqu'à ce que vous travailliez avec un système à haute vitesse. À mesure que les débits de données et la capacité dans les PCBs continuent d'augmenter, prendre en compte le retard est crucial pour assurer que les données numériques restent synchronisées dans tout votre système.
Si vous n'êtes pas familier avec le délai de propagation (plus justement appelé délai de transmission) dans les PCBs, je vais l'expliquer ici. Un signal numérique nécessite un certain temps pour se déplacer entre deux points dans un PCB. Si vous essayez de garder plusieurs signaux dans un réseau ou dans un système entier synchronisés, alors vous devez vous assurer que les signaux arrivent simultanément à divers points sur votre carte.
Notez que le retard de propagation, dans ce sens, fait référence au délai de transmission pour les signaux voyageant entre deux points sur un PCB. Cela ne doit pas être confondu avec la définition du retard de propagation que vous trouverez dans les manuels d'électronique numérique.
Si les signaux ne sont pas synchronisés, le taux d'erreur binaire dans votre système peut augmenter. Lors du traitement des données numériques en parallèle, les signaux dans votre réseau doivent être synchronisés, donc vous devriez assortir la longueur de toutes les pistes de votre réseau à celle de la piste la plus longue. Compenser le décalage est également crucial dans le routage de paires différentielles. Le méandrage est la meilleure manière d'appliquer de légers retards aux lignes de signal tout en maintenant l'impédance.
Les signaux dans différentes géométries de pistes expérimenteront des retards de propagation légèrement différents. Si vous travaillez avec une carte contrôlée par impédance, la formule pour le retard de propagation sera relativement simple et dépendra de la constante diélectrique relative du substrat de la carte. Lorsque vous travaillez avec des systèmes de ~100 Mbps ou plus, vous devrez considérer le retard de propagation dans toute votre carte, et c'est une bonne idée d'utiliser une conception contrôlée par impédance.
Assurez-vous que votre logiciel de conception de PCB dispose des outils d'analyse dont vous avez besoin
Lors du traitement des données en parallèle, des erreurs supplémentaires peuvent s'accumuler si le retard de propagation entre les bits n'est pas correctement compensé. Certains parallèles au sein d'un réseau peuvent nécessiter un plus grand retard si la sortie des bits moins significatifs détermine les étapes de traitement appliquées aux bits plus significatifs.
Cette considération généralisée peut sembler étrange, mais prenez l'exemple suivant. Supposons que vous concevez un additionneur à propagation pour une utilisation sur un PCB ou dans un CI. Cet appareil est essentiellement une série d'additionneurs 1-bit qui traitent les bits d'entrée en parallèle. Les bits qui composent les deux nombres numériques à additionner doivent être entrés dans chaque additionneur en parallèle, et chaque additionneur peut générer un bit de report.
L'additionneur pour le LSB produira un bit de report vers le bit immédiatement supérieur, et ainsi de suite jusqu'au MSB. La sortie du LSB vers le bit le plus élevé suivant subira un certain retard de propagation. Vous devrez également tenir compte du biais total dû au temps de montée des portes logiques dans chaque additionneur. Le bit de report et les bits d'entrée dans chaque additionneur doivent rester synchronisés, et le retard de propagation et le biais accumulé dans le bit de report exigent que les bits d'entrée dans les chiffres supérieurs soient légèrement retardés.
Le délai total entre chaque chiffre est égal au délai de propagation pour le signal se déplaçant entre les additionneurs, plus le double du temps de montée de l'ensemble du circuit logique dans les additionneurs (en supposant que les deux additionneurs appartiennent à la même famille logique). Lorsque vous travaillez seulement avec quelques bits à faible vitesse, cela ne désynchronisera pas les signaux entre les bits. Mais lorsque vous travaillez, par exemple, avec des nombres de 32 bits à 1 Gbps ou plus, le délai sur le bit de report atteignant le MSB sera 32 fois plus grand que le délai de propagation du report entre les additionneurs adjacents.
C'est un délai très significatif qui peut désynchroniser les données à travers l'additionneur. Afin de compenser le délai sur l'entrée des données vers les additionneurs pour les chiffres plus élevés, vous aurez réellement besoin d'ajouter un peu de délai aux bits d'entrée qui atteignent chaque additionneur. Les bits successivement plus élevés nécessiteront plus de délai.
La manière la plus simple de procéder est de faire serpenter les pistes menant aux additionneurs pour les chiffres supérieurs. Cela compensera le retard de propagation et le décalage accumulé dans le bit de report. Les chiffres supérieurs nécessitent un retard plus important, mais la paire de bits entrant dans l'additionneur doit toujours être synchronisée. La manière la plus simple d'appliquer ce retard est de faire serpenter les paires de pistes menant à chaque additionneur. Assurez-vous de laisser un peu d'espace supplémentaire entre les paires de pistes pour chaque additionneur lors de l'application du serpentin.
Assurez-vous de pouvoir faire confiance à vos résultats de simulation
Notez que ces problèmes de retard dans l'arrivée des bits successifs ne s'appliquent pas uniquement aux additionneurs. Ils s'appliquent réellement à tout circuit logique pour le traitement parallèle où la sortie du traitement d'un bit est utilisée comme entrée pour le traitement du bit suivant.
Les composants (par exemple, les FPGA) qui peuvent être utilisés pour le traitement parallèle peuvent avoir une structure de ligne de retard qui accumule le retard de report entre les bits successifs. Ces valeurs peuvent atteindre des dizaines de picosecondes par bit. Lorsque vous travaillez avec de grands nombres à haute vitesse, les bits dans les chiffres supérieurs peuvent devenir désynchronisés par rapport au LSB. Si vous concevez selon des normes spécifiques qui exigent un faible taux d'erreur de bit, compenser le retard sur les lignes de signal d'entrée est une solution simple pour prévenir les erreurs de bit.
Alors, comment pouvez-vous assurer l'intégrité des données dans votre prochain système numérique à haute vitesse ? Vous avez besoin d'outils de routage qui facilitent la compensation des retards entre les éléments de votre PCB. Les outils de routage et de simulation avancés dans Altium Designer® peuvent vous aider à éviter les problèmes d'intégrité des signaux et à maintenir les taux d'erreur de bit bas.
Maintenant, vous pouvez télécharger un essai gratuit et découvrir si Altium est adapté pour vous. Parlez à un expert Altium dès aujourd'hui pour en savoir plus.