Habituellement, dans la conception numérique, nous traitons des bascules qui sont déclenchées sur une transition de signal d'horloge de 0 à 1 (déclenchement sur front positif) par opposition à sur une transition de 1 à 0 (déclenchement sur front négatif). Je connais cette convention depuis mes premières études sur les circuits séquentiels, mais je ne l'ai pas remise en cause jusqu'à présent.
Le choix entre déclenchement sur front positif et déclenchement sur front négatif est-il arbitraire? Ou existe-t-il une raison pratique pour laquelle les bascules déclenchées par le bord positif sont devenues dominantes?
digital-logic
mosfet
signal
travisbartley
la source
la source
Réponses:
Meilleure supposition: la tendance au bord positif est un sous-produit de conceptions essayant d'utiliser un peu de zone / pièces autant que possible avant les années 1970 . Une mesure de réduction des coûts de production en augmentant le nombre de puces par tranche. Les DFF modernes pos / bord négatif ont souvent une surface totale égale, donc la tendance du bord positif est désormais une pratique héritée.
L'économie de zone est venue des conceptions "classiques" de bascule en D. Les composants maître / esclave modernes d'une bascule D peuvent utiliser deux verrous à 5 transistors; Les brevets WO1984003806 A1 et US4484087 A ont tous deux été déposés le 23 mars 1984. Un verrou D à 8 transistors a été déposé le 6 février 1970; US3641511 A . Par souci de simplicité, les conceptions basées sur les verrous SR / SnRn seront qualifiées de "classiques" et "modernes" pour les conceptions utilisant les brevets D-latch / S-cell mentionnés.
Dans une conception de circuit intégré, une porte NAND utilise moins de surface que la porte NOR en raison des propriétés caractéristiques d'un NMOS et d'un PMOS. Formez-vous là, la tendance à la taille des économies de cascades. Les verrous D des verrous SnRn sont plus petits que les verrous SR. Les conceptions classiques des bascules D sont basées sur ces portes logiques. Après avoir recherché plusieurs modèles, les modèles classiques à bord positif sont toujours plus petits que les modèles classiques à bord négatif. La migration vers le moderne s'est produite au fur et à mesure que le coût des puces devenait favorable: économie de zone vs redevance.
Creuser un peu plus pour montrer les différences de zone:
Bascule D classique à bord positif: description et diagramme de la bascule D classique de Wikipédia basés sur un schéma et utilisant cinq NAND2 et un NAND3. Cela utilise un total de treize NMOS et treize PMOS.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
La meilleure bascule D classique à bord négatif que j'ai pu trouver est d'utiliser deux verrous D et deux onduleurs. Formulaire référencé schématique http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Cela utilise un total de dix-huit NMOS et dix-huit PMOS. Placer un onduleur sur la position classique ci-dessus réduira le nombre de transistors de cette conception. Dans les deux cas, le bord négatif classique est plus grand que la conception à bord positif.
simuler ce circuit
Une conception moderne de bascule en D peut ressembler à ce qui suit sur la base des brevets WO1984003806 A1 et US4484087 Une description du verrou en D à cinq transistors. Cela utilise un total de cinq NMOS et des PMOS de fice; grandes économies de surface par rapport au classique. Inverser l'ordre maître / esclave créerait une bascule de bord négatif de taille égale.
simuler ce circuit
Je ne fais que démontrer les plus petits designs possibles. Les conceptions peuvent être très basées sur les exigences de conception, les bibliothèques de cellules standard autorisées, les fonctions de réinitialisation / préréglage ou d'autres raisons.
la source
Il y a quelques hypothèses de base ici qui ont été couvertes dans un autre post (que je ne peux pas trouver maintenant).
Si vous comptez le nombre total d'éléments logiques placés et de logique cadencée (nombre total de FF expédiés), ils seront probablement dans le processeur et les microprocesseurs, Intel, DEC, etc. La manifestation de ceci est que vous vous retrouvez avec un petit groupe de les personnes / équipes qui sont responsables des conceptions couvrant plusieurs décennies, avec peu de détails sur le fonctionnement interne.
À l'inverse, vous avez de nombreuses équipes différentes travaillant sur les flux ASIC, avec beaucoup plus de projets mais correspondant moins de volume.
La plupart des conceptions de processeur ne sont en fait pas synchronisées sur front positif ou négatif, mais sont conçues à l'aide d'un système de synchronisation complémentaire à double verrouillage, NOC (Non Overlapped Clock).
Vous vous retrouvez donc avec un schéma d'entrées -> (nuage logique) -> verrou d'horloge -> nuage logique -> verrou d'horloge! Quelle est la forme canonique d'un maître esclave FF avec une logique bourrée à l'intérieur.
Ce type de méthodologie de conception présente plusieurs avantages mais présente également une complexité supplémentaire.
Une autre chose regrettable est que cette méthodologie de conception n'est pas enseignée dans la plupart des universités. Toutes les conceptions Intel x86 sont de ce type (il ne faut pas confondre le fonctionnement externe des interfaces avec le fonctionnement interne) avec les noyaux SOC synthétisables notables qu'ils ont conçus pour les combinés mobiles.
Un excellent discours à ce sujet peut être trouvé dans "Dally, William J. et John W. Poulton". Ingénierie des systèmes numériques. Cambridge University Press, 1998. la section 9.5 traite du "timing synchrone en boucle ouverte" <-titre du chapitre. Mais pour citer "la temporisation déclenchée par les bords, cependant, est rarement utilisée dans les microprocesseurs haut de gamme et les conceptions de systèmes, en grande partie parce qu'elle entraîne un temps de cycle minimum dépendant du décalage d'horloge".
Oui, une réponse totalement pédante. mais une méthodologie importante qui est peu connue, compte tenu du nombre total de transistors dans ces conceptions (lots et lots).
la source
Les performances actuelles de la technologie CMOS (en termes de puissance / surface / vitesse / coût) semblent être insensibles au schéma de déclenchement utilisé.
Je ne peux pas prouver rigoureusement la déclaration ci-dessus car elle nécessite beaucoup de connaissances et de recherches préliminaires, et même le résumé de la preuve sera probablement trop long pour une réponse. À ma connaissance, il n'y a pas de différences, alors laissez-moi supposer que c'est le cas.
Je ne sais pas non plus si votre affirmation selon laquelle les bascules sont généralement déclenchées sur le bord positif de l'horloge est correcte (je pense que oui). Permettez-moi de supposer que cela est également correct aux fins de la discussion suivante.
Sous toutes les hypothèses ci-dessus, je ne vois que deux possibilités:
Afin de voir quand le déclenchement sur front positif est devenu une norme, j'ai décidé de suivre l'évolution des schémas d'horloge des processeurs Intel :
Il semble qu'Intel ait commencé avec un déclenchement sur front négatif (si ce terme peut être appliqué aux tout premiers processeurs), mais est passé au déclenchement sur front positif à partir de 386.
8086 utilisait la technologie HMOS (une sorte de logique NMOS à charge de déplétion ) tandis que 80386 était CHMOS (c'est une sorte de CMOS). Il semble que l'adoption du déclenchement sur front positif se soit produite en parallèle avec l'adoption de la technologie CMOS. Nous avons supposé que CMOS n'apportait aucun avantage au déclenchement sur front positif, il semble donc que cette convention soit arbitraire.
Cependant, nous devons garder à l'esprit trois points:
De toute évidence, il y a place pour des recherches supplémentaires. À suivre...
la source