Pourquoi les bascules sont-elles généralement déclenchées sur le front montant de l'horloge?

14

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?

travisbartley
la source
2
La façon dont la plupart de ces choses se produisent est que quelqu'un le fait dans un sens, quelqu'un d'autre doit rendre le matériel compatible et fait de même, et quelques années plus tard, vous avez une norme accidentelle.
Connor Wolf
1
Je travaille avec des tongs qui sont principalement déclenchées par Falling Edge. J'avais exactement la question opposée!
Swanand

Réponses:

10

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.

schématique

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.

schématique

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.

schématique

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.

Greg
la source
C'est un bon point. J'approchais le problème de la distribution d'horloge, mais je peux voir comment l'architecture DFF pourrait être différente. Cependant, je pense que les flops déclenchés par front négatif peuvent également avoir une architecture basée sur NAND. Pouvez-vous ajouter un schéma des architectures dont vous parlez?
travisbartley
1
@ trav1s, j'ai mis à jour ma réponse avec des exemples et des recherches sur les brevets.
Greg
Je me demande dans quelle mesure les puces utilisent d'autres techniques pour les verrous qui doivent fonctionner sur la base des bords d'une horloge appliquée en externe? Par exemple, en utilisant une synchronisation à deux phases et une logique semi-dynamique, on pourrait réduire à sept le nombre requis de transistors par flop [une approche entièrement dynamique serait de six, mais l'ajout d'un septième transistor permet d'ajouter un état de "maintien" entièrement statique ].
supercat
@Greg, excellent travail. Votre conclusion correspond à peu près à ce que j'attendais. Ce transistor 10T à la fin est une belle chose.
travisbartley
Réponse intéressante et très perspicace. Vous dites que la tendance posedge est arrivée avant les années 70, mais cela ne correspond pas à mes conclusions (voir ma réponse). Qu'est-ce qui vous a amené à cette date? Juste une supposition, ou avez-vous des informations supplémentaires? Si c'est ce dernier, je serai heureux d'obtenir une référence (afin d'améliorer ma propre réponse :))
Vasiliy
3

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).

espace réservé
la source
J'ai lu ceci trois fois, mais je ne vois toujours pas comment cela est lié à la question de OP ...
Vasiliy
1
En outre, dire que les processeurs sont construits uniquement à partir des verrous est un peu exagéré (peut-être même pas un "peu de"). Les verrous sont utilisés dans la logique critique à hautes performances (principalement les chemins de données), mais il existe encore de nombreuses bascules. Le principal inconvénient des verrous est la difficulté d'analyse de synchronisation - en raison de la capacité d'emprunt de temps de la conception basée sur le verrouillage (la même capacité qui rend cette conception "plus rapide"), il est très difficile de tester la conception basée sur le verrouillage pour la fermeture de synchronisation. Dans les parties non critiques des CPU, des FF sont principalement utilisés.
Vasiliy
Le mot clé dans le titre est "habituellement" - 1) dans le nombre total de différents types de puces conçues - alors le flux ASIC et le déclenchement de bord seront habituels. 2) si le nombre total d'éléments de logique / transistors expédiés, les conceptions de processeur gagnent, puis que la double horloge basée sur le verrouillage gagne et que la déclaration n'est pas valide.
espace réservé
1
Vous ne pouvez pas regarder l'interface de ces puces pour déterminer quel est le fonctionnement interne. Comme je l'ai dit, un Flip Flop maître esclave n'est qu'une version simplifiée d'une conception basée sur un verrouillage cloud cloud à horloge biphasée. L'analyse temporelle n'est pas difficile, en fait elle est simplifiée. Il vaut mieux être certain de vos domaines d'horloge.
espace réservé
1
Non, les mots clés sont "bascule" et "bord de l'horloge". Les verrous sont des dispositifs sensibles au niveau et non sensibles aux bords. Homme aux pommes et aux oranges - si je veux savoir pourquoi les oranges sont orange, le fait qu'il y ait beaucoup de gens qui préfèrent les pommes est complètement hors de propos.
Vasiliy
2

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:

  • Le déclenchement sur front positif est devenu une norme car il présentait des avantages évidents à un moment donné dans le passé. Après que la technologie qui exploitait cet avantage soit devenue obsolète, le déclenchement sur front positif est resté la norme de facto.
  • Le déclenchement sur front positif est devenu une norme sans aucune légitimité technique, c'est-à-dire qu'il n'a pas fourni d'avantages dans aucune famille logique et aucun nœud technologique dans le passé.

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 :

  1. ϕ2
  2. 8086 : le verrouillage des données a été effectué sur le bord négatif de CLK.
  3. 80386 : Front positif utilisé de CLK2.
  4. 80486 : Front positif utilisé de CLK.
  5. Pentium : bord positif utilisé de CLK ...

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:

  • Nous avons supposé que les technologies CMOS actuelles ne procuraient aucun avantage.
  • L'hypothèse ci-dessus n'a été prouvée ni débattue sous aucune forme.
  • À partir des fiches techniques, il est clair sur quel bord Data Out est verrouillé, mais cela peut ne pas représenter l'implémentation interne.

De toute évidence, il y a place pour des recherches supplémentaires. À suivre...

Vasiliy
la source