Dans le domaine des communications réseau, dans les commutateurs ATM, les routeurs de coeur, Gigabit Ethernet et divers dispositifs de passerelle, le débit de données et le taux d'horloge du système sont constamment augmentés et la fréquence de fonctionnement du processeur correspondent est également de plus en plus élevée; Les vitesses de transfert de données, de voix et d'images sont bien supérieures à 500 Mbps, et les backpacks de centaines, voire de gigaoctets sont de plus en plus courants. L'augmentation de la vitesse des systèmes numériques signifie que les temps de montée et de descente des signaux sont aussi courts que possible, et une série de problèmes de conception à haute vitesse causés par l'augmentation de la fréquence et de la marge des signaux numériques sont de plus en plus importants. Lorsque le retard d'interconnexion des signaux est supérieur à 20% du temps de retournement du signal de bord, la ligne de signal sur la carte présentera un effet de ligne de transmission, cette conception devenant une conception à grande vitesse. L'apparition de problèmes de vitesse élevée pose de plus grands défis à la conception du matériel. D'un point de vue logique, il y a beaucoup de conceptions qui sont correctes. Si elles ne sont pas traitées correctement dans la conception réelle du PCB, toute la conception échouera. Cette situation est de plus en plus recherchée pour les réseaux à haut débit. Le domaine de la communication est plus visible. Les experts prévoient que le coût de la conception des fonctions logiques sera considérablement réduit en termes de coûts futurs de conception de circuits matériels, et que les coûts associés à la conception à grande vitesse représenteront 80% ou plus du coût total. La question de la vitesse élevée est devenue l'un des facteurs importants du succès de la conception du système.
Overshot signal, downshot, réflexion, sonnerie, diaphonie, etc., causés par des problèmes de vitesse élevée peuvent tous affecter sérieusement le calendrier normal du système. La diminution de la marge de séquence du système a forcé l'attention sur divers phénomènes affectant la séquence et la qualité des formes d'onde numériques. Lorsque le temps devient exigeant en raison de l'augmentation de la vitesse, toute ignorance et simplification peut avoir de graves conséquences pour le système, quelle que soit la compréhension préalable des principes du système. Dans la conception à grande vitesse, l'impact des problèmes de synchronisation est encore plus critique. Cet article traitera spécifiquement de l'analyse temporelle et des stratégies de simulation dans la conception à grande vitesse.
1 Analyse et simulation de synchronisation d'horloge universelle
Dans les circuits numériques à haut débit, la transmission des données est généralement commandée par une horloge, émettant et recevant des signaux de données de manière ordonnée. La puce ne peut envoyer et recevoir des données que dans l'ordre indiqué. Un retard de signal trop important ou une adaptation inappropriée du retard du signal peut entraîner des violations de la séquence du signal et une confusion fonctionnelle. Dans un système à basse vitesse, les phénomènes tels que les retards d'interconnexion et les sonneries sont négligeables, car dans un tel système à basse vitesse, le signal a suffisamment de temps pour atteindre un état stable. Cependant, dans les systèmes à grande vitesse, le taux de bord augmente, le taux d'horloge du système augmente, le temps de transmission du signal et le temps de préparation de la synchronisation entre les appareils sont raccourcis, et la capacité et l'inductance équivalentes sur la ligne de transmission entraînent également des retards et des distorsions dans la conversion numérique du signal. Combiné avec des facteurs tels que la désadaptation retardée du signal, il peut affecter le réglage et le temps de maintien de la puce, ce qui rend la puce incapable d'envoyer et de recevoir des données correctement et le système ne fonctionne pas correctement.
Par synchronisation d'horloge commune, on entend qu'au cours d'une transmission de données, l'extrémité pilote et l'extrémité réceptrice du bus partagent la même source d'horloge, émettant une horloge en phase par le même buffer d'horloge, complétant la transmission et la réception des données. La figure 1 montre une représentation schématique d'un fonctionnement typique d'émission et de réception de données de synchronisation d'horloge universelle. Sur la figure 1, l'oscillateur à cristal Crystal produit un signal de sortie Clk in qui arrive au distributeur d'horloge clock buffer. Après que clock buffer ait alloué le tampon, deux horloges en phase sont émises, une clkb, pour la sortie de données de Driver; L'autre est clka, qui échantillonne les données de verrouillage envoyées de Driver à receiver. L'horloge clkb arrive à Driver après le temps de vol tflt - clkb (Flight Time). Les données internes de Driver sont verrouillées par clkb et apparaissent sur le port de sortie de Driver après l'heure TCO - data. Les données de sortie arrivent ensuite sur le port d'entrée du Receiver après le temps de vol tflt - data; Sur le port d'entrée du receiver, ce lot de données du Driver est échantillonné et verrouillé à l'aide d'une autre horloge clka générée par clock buffer, retardée par le temps de vol de l'horloge clka, soit tflt - clka, complétant ainsi le transfert de données d'un cycle d'horloge par le processus de Clock comon.
Le processus ci - dessus montre que les données arrivant à Receiver sont échantillonnées par le front montant du cycle suivant de l'horloge. En conséquence, deux conditions nécessaires à la transmission des données peuvent être obtenues: 1. Les données en entrée de Receiver ont généralement le temps d'établissement tsetup requis. Cela signifie que les données doivent être valides jusqu'à la valeur minimale de l'horloge. Le signal de données doit arriver à l'entrée avant le signal d'horloge, ce qui permet d'obtenir l'inégalité satisfaite par le temps d'établissement; 2. Pour verrouiller avec succès les données dans l'appareil, le signal de données doit rester actif à l'entrée de la puce de réception suffisamment longtemps pour s'assurer que le signal est correctement verrouillé par l'échantillonnage de l'horloge. Cette période est appelée temps de rétention. Le délai du clka doit être inférieur au délai d'invalidation des données (invalid). On peut obtenir l'inégalité satisfaite par le temps de rétention.
1.1 Analyse temporelle du temps d'établissement des données
Selon une première condition, le signal de données doit arriver en réception avant l'horloge clka pour verrouiller correctement les données. Dans le bus d'horloge commun, le premier cycle d'horloge a pour fonction de verrouiller les données à la sortie du Driver et le second cycle d'horloge Verrouille les données à l'intérieur du receiver, ce qui signifie que l'heure à laquelle le signal de données arrive à l'entrée du Receiver doit être telle qu'il soit suffisamment antérieur au signal d'horloge clka. Pour remplir cette condition, il est nécessaire de déterminer le retard d'arrivée des signaux d'horloge et de données au récepteur et de s'assurer que les exigences de temps de réglage du récepteur sont respectées. Toute quantité de temps plus longue que le temps de réglage requis est la marge de temporisation de réglage tmargin. Dans le chronogramme de la figure 1, toutes les lignes fléchées représentent les retards engendrés par les signaux de données et les signaux d'horloge à l'intérieur de la puce ou sur la ligne de transmission. La ligne fléchée ci - dessous indique le retard total depuis le premier front d'horloge actif jusqu'à l'arrivée des données en entrée de receiver, La ligne de flèche en haut représente le retard total de l'horloge clka reçue. Le délai total entre le premier front d'horloge valide et l'arrivée des données à l'entrée Receiver est:
Tdata - Delay = TCO - clkb + tflt - clkb + TCO - Data + tflt - Data
Le retard total du cycle suivant de l'horloge de réception clka est:
Tclka - Delay = tcycle + TCO - clka + tflt - clka
Pour respecter le délai d'établissement des données, il doit y avoir:
Tclka - Delay - min - tdata - Delay - Max - tsetup - tmargin > 0
Après avoir développé et pris en compte des facteurs tels que le Jitter d'horloge, tjitter, etc., nous obtenons:
Tcycle + (TCO - clka - min - TCO - clkb - max) + (tflt - clka - min - tflt - clkb - max) - TCO - data - Max - tflt - data - settle - Delay - Max - tjitter - tsetup - tmargin > 0 (1)
Dans la formule (1), tcycle est la période d'horloge de l'horloge; La première parenthèse est la différence de phase maximale entre les horloges de sortie clka et clkb de la puce d'horloge clock buffer, appelée dans le Manuel output output Bias; Dans la seconde parenthèse, il s'agit de la différence de retard maximale entre les deux horloges clka et clkb de la sortie de la puce tampon d'horloge qui arrivent respectivement au récepteur et au pilote.
Dans la formule (1), TCO - data désigne l'intervalle de temps entre le déclenchement de l'horloge et l'apparition des données sur le port de sortie et l'atteinte d'un seuil de tension de test vmeas (ou vref), sous certaines charges de test et conditions de test. La taille de TCO - data est liée au retard logique interne de la puce. Le temps, les caractéristiques du buffer Output Buffer, les conditions de charge de sortie sont directement liés et le TCO peut être trouvé dans la fiche technique de la puce.
Selon la formule (1), il n'y a en fait que deux parties réglables: tflt - clkb - min - tflt - clkb - Max et tflt - data - settle - Delay - Max. En ce qui concerne le respect du temps de réglage seul, tflt - clka - min doit être aussi grand que possible, tandis que tflt - clkb - Max et tflt - data - settle - Delay - Max doivent être aussi petits que possible. Essentiellement, il est demandé que l'horloge de réception arrive plus tard et que les données arrivent plus tôt.
1.2 Analyse temporelle du temps de conservation des données
Pour réussir à verrouiller les données à l'intérieur du dispositif, le signal de données doit rester actif à l'entrée de la puce de réception pendant une durée suffisante pour s'assurer que le signal est correctement verrouillé par l'échantillonnage d'horloge. Cette période est appelée temps de rétention. Dans le bus d'horloge commun, le tampon de réception utilise un second front d'horloge pour verrouiller les données, tandis que le côté lecteur Verrouille les données suivantes vers l'extrémité d'émission de données. Ainsi, pour satisfaire le temps de rétention de l'extrémité de réception, il est nécessaire de s'assurer que les données valides sont verrouillées dans la bascule d'extrémité de réception avant l'arrivée du signal de données suivant. Ceci nécessite un retard de l'horloge de réception clka inférieur à celui du signal de données reçu.
Et la latence des données:
Tdata - Delay = TCO - clkb + tflt - clkb + TCO - Data + tflt - data - switch - delay
Si vous souhaitez respecter les délais de conservation des données, vous devez disposer:
Tdata - Delay - min - tclka - Delay - Max - thold - tmargin > 0
L'extension, l'Organisation et la prise en compte de facteurs tels que le tjitter de gigue d'horloge peuvent conduire aux relations suivantes:
(TCO - clkb - min - TCO - clka - max) + (tflt - clkb - min - tflt - clka - max) + TCO - data - min + ttflt - data - switch - Delay - min - thold - tmargin - tjitter > 0 2
Dans la formule (2), la première parenthèse est toujours la différence de phase maximale entre les horloges de sortie de la puce d'horloge clock buffer; La seconde parenthèse continue d'être comprise comme l'arrivée des deux horloges clka et clkb en sortie de la puce d'horloge, respectivement Receiver et Driver; pour respecter le temps de rétention des données, il n'y a en fait que deux parties réglables, à savoir tflt - clkb - min - tflt - clka - Max et tflt - data - switch - Delay - min. Du seul point de vue de la satisfaction du temps de rétention, tflt - clkb - min et tflt - data - switch - Delay - min doivent être aussi grands que possible, tandis que tflt - clka - Max doit être aussi petit que possible. En d'autres termes, si vous voulez respecter le temps de rétention, vous devez faire venir l'horloge de réception plus tôt, et les données doivent être invalides plus tard.
Pour recevoir correctement les données, il est nécessaire de tenir compte de manière synthétique du temps d'établissement et du temps de conservation des données, c'est - à - dire de satisfaire simultanément (1) et (2). L'analyse de ces deux inégalités permet de constater qu'il n'y a que trois réglages: le retard de l'horloge d'émission, le retard de l'horloge de réception et le retard des données. Le schéma de réglage peut être réalisé de la manière suivante: on suppose tout d'abord que le retard d'horloge d'émission est strictement égal au retard d'horloge de réception, c'est - à - dire tflt - clka - min - tflt - clkb - max = 0 et tflt - clkb - min - tflt - clkb - max = 0 (les écarts temporels induits par l'hypothèse de ces deux équations seront pris en compte ultérieurement), puis on obtient une plage de retard de données par simulation. S'il n'y a pas de solution au retard des données, les deux équations ci - dessus sont retournées pour ajuster le retard d'horloge d'émission ou le retard d'horloge de réception. Voici un example de transmission et de réception de données de synchronisation d'horloge commune de bus glink dans un commutateur de réseau large bande: on suppose tout d'abord que le retard de l'horloge d'émission est strictement égal au retard de l'horloge de réception, puis on détermine la plage de retard des données et on remplace les paramètres (1) et (2) qui deviennent respectivement:
1.5 - tflt - data - settle - Delay - Max - tmargin > 0
0,5 + tflt - data - switch - Delay - min - tmargin > 0
À l'invite d'inégalité, en combinaison avec la mise en page réelle du PCB, déterminer tflt @ data.settle.delay.max < 1.1; Tflt - data - switch - Delay - min > - 0,1 et la marge restante de 0,4 ns est affectée à la différence de temps des deux horloges et à tmargin. La topologie est extraite dans spectraquest et une simulation d'intégrité du signal est effectuée pour déterminer la longueur de ligne et la topologie de chaque segment. Une simulation de balayage complet de cette structure (pour un total de 12 combinaisons) a été effectuée, ce qui a permis d'obtenir tflt = 1.0825 tflt = Data = Switch = Delay min = -0.0835004, satisfaisant aux critères 1.1 et
- 0,1 indice de gamme. On en déduit une règle de contrainte pour la ligne de données du bus glink: 1. Le retard de la résistance d'adaptation à l'émission ne doit pas être supérieur à 0,1 ns;
2. Les lignes de données doivent correspondre à 0,1 ns, c'est - à - dire que chaque ligne de données doit être comprise entre 0,65 ns et 0,75 ns. Avec les règles de contrainte ci - dessus, vous pouvez démarrer le câblage.
Ensuite, considérez l'impact des dispositions strictes "tflt - clka - min - tflt - clkb - max = 0 et tflt - clkb - min - tflt - clka - max = 0". Les horloges d'émission et de réception sont précontraintes avec la même longueur (0,02 NS en fonctionnement réel). Dans l'environnement cadence, une simulation d'horloge a été effectuée avec les résultats suivants: | tflt - clka - min - tflt - clkb - ma Interconnecting x | < 0,2 et | tflt - clkb - min - tflt - clka - Max | < 0,2. On voit que la marge laissée à tmargin est de 0,2 ns. < p = "" >
Le résultat final de la simulation est: 1. Le retard entre la résistance d'adaptation et l'extrémité émettrice ne doit pas être supérieur à 0,1 ns; 2. Les lignes de données correspondent à 0,1 ns, c'est - à - dire que chaque ligne de données doit être comprise entre 0,65 ns et 0,75 ns; 3. L'horloge d'émission et l'horloge de réception correspondent, la longueur égale est 0.02ns; 4. Tmargin = 0.2ns. Avec le modèle topologique et les règles de contrainte ci - dessus, vous pouvez importer spectraquest ou Allegro dans Constrains manager. Une fois ces règles de contrainte de conception définies, vous pouvez utiliser un routeur automatique pour effectuer un câblage automatique régi par des règles ou un réglage manuel de la ligne.
2 relations de synchronisation de source et instances d'émulation
Par synchronisation de source, on entend que le signal de contrôle d'horloge Clk est émis par la puce de pilotage avec les données transmises, et qu'il n'utilise pas de source d'horloge indépendante comme pour la synchronisation d'horloge commune. En émission et en réception de données synchrones source, les données sont d'abord transmises à la réception, puis à la réception après une courte horloge de stroboscopie pour l'échantillonnage et le verrouillage de ce lot de données. Le schéma est représenté sur la figure 2. L'analyse temporelle de la synchronisation de la source est plus simple que la synchronisation de l'horloge commune et les méthodes d'analyse sont très similaires. La formule analytique est donnée directement comme suit:
Temps de réglage: TVB - min + (tflt - Clk - min - tflt - data - settle - Lay - max) - tsetup - tmarin > 0
Temps de rétention: TVA - min + (tflt - data - switch - Delay - min - tflt - Clk - max) - thold tmargin > 0
Où TVB est l'heure de réglage du lecteur, représentant l'heure à laquelle les données du lecteur sont valides avant que l'horloge ne soit valide; TVA est le temps de rétention de l'émetteur qui indique le temps pendant lequel les données de pilotage restent valides après que l'horloge soit valide; Les autres paramètres ont la même signification que précédemment. Maintenant, prenez l'exemple d'une interface TBI très courante dans les circuits de communication et introduisez le processus d'analyse et de simulation de synchronisation de source. L'interface TBI comprend principalement une horloge d'émission et 10 bits de données d'émission, deux horloges de réception et 10 bits de données de réception. Rbc0 et rbc1 sont deux horloges de réception. En Gigabit Ethernet, la fréquence de ces deux horloges est de 62,5 MHz, soit une différence de 180°. Les fronts montants de ces deux horloges servent à verrouiller successivement les données. En fonction des paramètres temporels de la table de données, la substitution de la formule ci - dessus peut donner:
2.5 + tflt - Clk - min - tflt - data - settle - Delay - Max - 1 - t Edge > 0
1.5 + tflt - data - switch - Delay - min - tflt - Clk - Max - 0.5 tmargin > 0
Imitez la méthode d'analyse mentionnée précédemment: supposez que les temps de vol des lignes de signal d'horloge et de données sont strictement égaux, que l'horloge instantanée et les données correspondent exactement, puis Analysez les effets de leur non - correspondance. La formule ci - dessus devient
1,5 - t Arginine > 0
1 - t Arginine > 0
On voit qu'il existe une grande marge tant pour le temps de réglage que pour le temps de maintien. Après simulation, on a constaté que les données et l'horloge avaient exactement la même longueur (en prenant l'exemple d'une correspondance de 0,02 NS), mais qu'il y avait encore une différence de 0,3 NS, c'est - à - dire,
Tflt.clk.min - tflt.data.settle.lay.max < 0.3 < p = "" >
Tflt - data - switch - delay minimum - tflt - Clk - max < 0.3 < p = "" >
En prenant tmargin = 0,5 NS, on obtient que la correspondance de l'horloge avec les données est de 0,2 NS, c'est - à - dire que la correspondance de la longueur des données avec l'horloge ne doit pas dépasser 0,2 ns.
Dans la simulation réelle, l'intégrité du signal de l'horloge et des données est d'abord analysée et simulée, ce qui permet d'obtenir une meilleure forme d'onde de réception grâce à une correspondance de terminaison appropriée. La figure 3 est un ensemble de différentes comparaisons de formes d'onde analogiques de lignes d'horloge d'adaptation d'extrémité passive et d'adaptation d'extrémité active, d'où il ressort qu'il faut d'abord effectuer une simulation d'intégrité du signal.
Dans la synchronisation d'horloge universelle, la transmission et la réception des données doivent être effectuées dans un cycle d'horloge. Dans le même temps, le retard du dispositif et le retard de la trace PCB limitent également la fréquence théorique maximale de fonctionnement du bus d'horloge commun. La synchronisation d'horloge commune est donc couramment utilisée pour des débits de transmission inférieurs à 200 MHz à 300 MHz. Pour les transmissions au - dessus de ce débit, la technologie de synchronisation de source devrait normalement être introduite. La technologie de synchronisation de source fonctionne dans un système d'horloge relative, en utilisant des données et une horloge transmises en parallèle, le taux de transmission étant principalement déterminé par la différence de temps entre les données et le signal d'horloge, ce qui permet au système d'atteindre des taux de transmission plus élevés. Grâce à l'analyse de l'intégrité du signal, l'analyse de la synchronisation et la simulation des hôtes et des sous - cartes de commutateurs Ethernet à large bande, les auteurs ont considérablement raccourci le cycle de conception du produit et résolu efficacement les problèmes liés à l'intégrité du signal, à la synchronisation et à d'autres aspects de La conception à grande vitesse grâce à l'analyse et à la simulation. Ce problème garantit pleinement la qualité de la conception et la vitesse de conception, ce qui permet vraiment un seul passage de la carte PCB. Les cartes mères et filles ont été mises en service et mises en production avec succès.