Qu'est-ce qu'une bascule?

25

Il semble y avoir un certain nombre de définitions différentes des bascules et des verrous, dont certaines sont contradictoires.

Le manuel d'informatique pour le cours que j'enseigne est probablement le plus déroutant (en fait, j'ai peu de foi dans le livre parce qu'il est tout simplement faux à plusieurs endroits).

Je suis à l'aise avec le fonctionnement des verrous (SR, SR gated, gated D) et la différence entre les dispositifs déclenchés par niveau et déclenchés par front, au moins en termes de portes logiques et de chronogrammes. Cependant, je suis toujours à la recherche d'une définition concise d'une bascule et d'un verrou.

Voici ce que je crois jusqu'à présent:

"Une bascule est un dispositif bi-stable à déclenchement par front qui peut stocker 1 bit".

"Un verrou est un dispositif bi-stable déclenché par niveau qui peut stocker 1 bit."

J'ai jeté un œil aux articles précédents sur ce site à ce sujet et, aussi instructifs soient-ils, je cherche toujours quelque chose de définitif.

Ma compréhension actuelle, que je veux vérifier, est dans les schémas ci-dessous…

Je crois comprendre que ce sont deux implémentations d'un verrou D déclenché par niveau.

Au-dessous de ceux-ci se trouve un détecteur de front positif, à ce bref moment où la porte NON n'a pas encore répondu à l'entrée de changement de bas à haut, à savoir le front montant (rouge est 1 bleu est 0).

Dans le dernier diagramme, le détecteur de bord a été monté sur un verrou D daté et c'est ce qui en fait une bascule.

entrez la description de l'image ici

Le dernier diagramme est-il vraiment une bascule, ou s'agit-il toujours d'un verrou?

Et pourquoi avons-nous besoin de la version maître esclave donnée, que cet appareil est tellement plus simple?

Drummy
la source
1
@DanielTork pourquoi ne pas en faire une réponse?
Icy
10
En Australie et en Nouvelle-Zélande, elles sont une forme de chaussures à dessus ouvert souvent portées à la plage ou par beau temps. ;)
KyranF
3
Aux États-Unis aussi. Mais nous les appelions des tongs, mais cela fait référence à quelque chose de différent maintenant ;-)
pause jusqu'à nouvel ordre.
1
Maintenant, je veux voir un schéma de circuit dessiné avec les sandales connues sous le nom de tongs ...
keshlam
1
@immibis sortez d'ici ya kiwi pourri!
KyranF

Réponses:

11

J'ai beaucoup réfléchi à cette définition aujourd'hui.

Comme d'autres l'ont souligné, les significations exactes varieront. En plus de cela, vous verrez probablement plus de gens se tromper, même sur ce site, que juste. Je me fiche de ce que wikipedia dit!

Mais en général:

  • Une bascule changera son état de sortie au plus une fois par cycle d'horloge.
  • Un verrou changera son état autant de fois que les transitions de données pendant sa fenêtre de transparence.

Aditionellement,

  • Une bascule est très sûre. Presque infaillible. Pour cette raison, les outils de synthèse utilisent généralement des tongs. Mais, ils sont plus lents qu'un verrou (et utilisent plus de puissance).
  • Les verrous sont plus difficiles à utiliser correctement. Mais, ils sont plus rapides que les tongs (et plus petits). Ainsi, les concepteurs de circuits personnalisés "répartissent souvent la bascule" sur leur bloc numérique (un verrou à chaque extrémité avec une phase opposée) pour extraire quelques picosecondes supplémentaires d'un mauvais arc de synchronisation. Ceci est indiqué au bas du message.

Une bascule est généralement caractérisée par une topologie maître-esclave. Il s'agit de deux verrous de phase opposés couplés (il peut y avoir une logique entre eux) dos à dos (parfois dans l'industrie appelée L1 / L2).

Cela signifie qu'une bascule se compose intrinsèquement de deux éléments de mémoire: un à tenir pendant le cycle bas et un à tenir pendant le cycle haut.

Un verrou n'est qu'un élément de mémoire unique (verrou SR, verrou D, verrou JK). Le simple fait que vous introduisiez une horloge pour transférer le flux de données dans l'élément mémoire n'en fait pas une bascule, à mon avis (même si cela peut le faire agir comme tel: c'est-à-dire déclencher plus de front montant). Il le rend juste transparent pour une durée spécifique.

Ci-dessous est une véritable bascule créée à partir de deux verrous SR (notez les horloges de phase opposées).

vrai d ff

Et une autre vraie bascule (c'est le style le plus courant en VLSI) à partir de deux verrous D (style de porte de transmission). Remarquez à nouveau les horloges de phase opposées :

vrai style flip flop tg

Si vous impulsez l'horloge à un verrou assez rapidement, cela commence à ressembler à un comportement de bascule (verrouillage d'impulsion). Ceci est courant dans la conception de chemins de données à grande vitesse en raison du délai moindre de D-> Out et Clk-> Out, en plus du meilleur temps de configuration accordé (le temps de maintien doit également augmenter, petit prix à payer) par transparence pendant toute la durée de le pouls. Est-ce que cela en fait une bascule? Pas vraiment, mais ça ressemble à un!

Cependant, cela est beaucoup plus difficile à garantir au travail. Vous devez vérifier dans tous les coins du processus (nmos rapides, pmos lents, capuchon de fil haut, fil bas r; comme exemple) et toutes les tensions (la basse tension provoque des problèmes) que l'impulsion de votre détecteur de bord reste suffisamment large pour s'ouvrir réellement le verrou et autoriser les données.

Pour votre question spécifique, pour savoir pourquoi il est considéré comme un verrou d'impulsion au lieu d'une bascule, c'est parce que vous n'avez vraiment qu'un élément de stockage de bits sensible à un seul niveau. Même si l'impulsion est étroite, elle ne forme pas un système de verrouillage et de barrage qui crée une bascule.

Voici un article décrivant un verrou d'impulsion très similaire à votre demande. Une citation pertinente: "Si la forme d'onde de l'horloge à impulsions déclenche un verrou, le verrou est synchronisé avec l'horloge de manière similaire à la bascule déclenchée par front car les fronts montant et descendant de l'horloge à impulsions sont presque identiques en termes de synchronisation."

EDIT Pour plus de clarté, j'ai inclus un graphique de conception basée sur le verrouillage. Il y a un verrou L1 et un verrou L2 avec une logique entre les deux. Il s'agit d'une technique qui peut réduire les retards, car un verrou a un retard moindre que celui d'une bascule. La bascule est "écartée" et la logique mise au milieu. Maintenant, vous enregistrez quelques retards de porte (par rapport à une bascule à chaque extrémité)!

conception basée sur le verrou

jbord39
la source
"Caractérisé par une topologie maître-esclave" - ​​cela ressemble plus à un détail d'implémentation qu'à une caractéristique comportementale déterminante. Sur le plan du comportement, une bascule (selon votre définition) est une mémoire à bit unique qui se trouve être déclenchée par un front. En pratique, la magie d'implémentation requise pour approximer le déclenchement sur front nécessite un deuxième élément de stockage!
Oliver Charlesworth
1
@OliverCharlesworth: Eh bien, c'est un détail d'implémentation. Ainsi qu'un détail physique, comportemental, structurel et topologique. Vous ne pouvez pas simplement appeler un verrou une bascule, car il semble en être un. Vous pourrez peut-être vous en tirer, mais pour les utiliser au maximum, vous devez connaître la différence. Si vous écartez une bascule, vous avez deux verrous séparés de phase opposée. Vous pouvez bourrer la logique au milieu. C'est plus rapide que d'avoir une bascule à chaque extrémité. Il permet également un "emprunt de temps" à travers une limite de cycle qui est un concept très important pour les conceptions à grande vitesse.
jbord39
Voici quelques photos plus utiles des DFF qui pourraient vous aider, voir la dernière. Le DFF affiché ci-dessus est déroutant en raison du verrouillage sur des phases opposées de l'horloge (c.-à-d. Verrous principaux sur front montant, verrous esclaves sur chute). electronics.stackexchange.com/a/84247/42957
mrbean
Ce serait bien de voir un exemple d'une véritable bascule déclenchée par front monophasé ("TSPC" DFF) ici.
mrbean
1

De nombreuses personnes qualifieront les appareils synchronisés de "bascules" et les appareils non synchronisés de verrous. À l'époque où je l'ai appris, c'était des «tongs cadencées» et des «tongs». L'un ou l'autre peut être déclenché par front.

Il y a suffisamment d'ambiguïté pour que, lorsque c'est important, se fier aux fiches techniques des numéros de référence et aux chronogrammes, et non aux descriptions de mots.

Scott Seidman
la source
Alors un GTO-SCR est aussi une bascule?
Bradman175
1

Merci à tous ceux qui ont répondu à ma question. Comme prévu, il y a un certain désaccord. Malheureusement, la sémantique est souvent plus importante que la compréhension en matière d'examens. Si je dois me disputer avec un jury d'examen pour avoir incorrectement corrigé la note d'examen d'un étudiant en informatique de niveau A (et je l'ai fait par le passé), je veux être en position de force. J'ai pensé partager avec vous quelques pages du manuel officiel du cours A Level.

Le premier diagramme est un verrou actif à faible SR. Le livre l'appelle une bascule.

Dans le texte, le livre dit: "En utilisant deux bascules, nous pouvons créer un circuit appelé bascule de type D qui utilise un circuit commandé par horloge pour contrôler la sortie, la retardant d'une impulsion d'horloge. Le D signifie retard . " Ce texte semble faire référence à la configuration maître / esclave. Le deuxième diagramme (figure 14.2) est étiqueté comme une bascule de type D. Il s'agit en fait d'un verrou D à ouverture élevée et actif.

Pas très utile!

Je vais m'installer sur "Une bascule est le plus généralement caractérisée par une topologie maître-esclave." comme l'a suggéré jbord39, avec la mise en garde que le terme flip-flop est souvent utilisé pour désigner un verrou déclenché par le bord, et parfois n'importe quelle sorte de verrou. Je pense que c'est de là que vient le livre, mais sans y arriver de manière convaincante.

Merci encore à tous.

entrez la description de l'image ici entrez la description de l'image ici

Drummy
la source
2
Oui, ce livre est tout simplement trompeur. De plus, D signifie Data, not delay ... lol L'important est de comprendre comment ils fonctionnent et de ne pas trop se laisser entraîner dans la sémantique. J'ai expliqué la sémantique telle qu'elle m'a été expliquée dans les entreprises où j'ai travaillé. Cela peut varier selon le domaine et le niveau d'expérience (en particulier par rapport aux internes des portes logiques, sur lesquelles je travaille).
jbord39
Je dois être d'accord avec jbord39. Comme je l'ai montré dans ma réponse, cette entrée E permet uniquement aux données d'affecter la sortie. Pourtant, vous avez des manuels qui contiennent des informations incorrectes. Assez ennuyeux en fait.
Bradman175
1

Une bascule est différente d'un verrou. Ce sont deux circuits bi-stables, mais ce sont deux choses différentes en fait.

Le verrou a une broche d'activation et écoute l'entrée / les entrées de données uniquement lorsque cette broche est haute. Lorsqu'il est bas, le verrou se fige et mémorise son état. Maintenant, même si vous manipulez les entrées, il ne réagira pas.

La bascule contient à la place une broche d'horloge, qui ne réagit qu'à des impulsions changeantes (changements de niveau). Pensez à une onde carrée. Le temps transitoire entre off et on; off et on est le temps pendant lequel le circuit réagit aux signaux d'entrée. Ce n'est qu'alors qu'il est disponible pour changer, pas lorsque la broche est stable et complètement enfoncée.

Temps de réaction de la bascule

Notez que les lignes vertes représentent la période qu'il écoute et les lignes rouges la période où il ne le fait pas. Le verrou permet l'entrée uniquement pendant les périodes indiquées par les lignes rouges les plus hautes.

Le SR autonome n'est pas un circuit réalisable dans la pratique.

Crédits à jbord39 pour avoir signalé l'erreur. Image prise sur radio-elctronics.com et éditée.

Daniel Tork
la source
Une bascule n'est pas un verrou, mais peut être construite à partir de deux verrous de phase opposés dos à dos.
jbord39
J'ai édité la réponse @ jbord39
Daniel Tork
Merci, @ Peter Mortensen, je ne les ai pas vus.
Daniel Tork
0

Les termes tels que vous les utilisez dans votre question correspondent à 100% à ce que j'ai entendu dire dans le contexte de la conception de circuits intégrés analogiques. Les verrous ont un signal d'activation sensible au niveau, tandis que les bascules ont des signaux d'activation sensibles au bord appelés «horloge». J'ai remarqué quelques endroits en ligne ou dans certains livres qui semblent utiliser le terme flip flop pour les deux types, ce qui peut avoir du sens si vous pensez simplement à l'état du circuit "flip flopping" entre deux points stables, mais chaque fois que les concepteurs parlent de dans les circuits où je travaille, les verrous sont sensibles au niveau et les bascules (ou aussi communément les "flops") sont sensibles aux bords.

À propos de votre autre question de savoir s'il faut concevoir une bascule comme un verrou avec un détecteur de bord par rapport à une paire de verrous maître-esclave. Dans les deux cas, cela peut fonctionner, en supposant qu'il y ait suffisamment de retard dans votre détecteur de bord. Les verrous auront une durée d'activation minimale. Je soupçonne qu'il est juste plus difficile de faire une bascule à grande vitesse en utilisant la technique du détecteur de bord, et le temps de configuration / maintien peut varier davantage en fonction du processus / de la tension / de la température.

Réintégrer Monica
la source
Je me demande pourquoi je vois rarement des flops implémentés avec une paire maître / esclave avec des seuils logiques qui ne se chevauchent pas (donc une tension d'entrée inférieure à VDD / 4 activerait le maître, et une tension supérieure à VDD / 2 activerait l'esclave. Si plusieurs flops en cascade sont alimenté par un signal d'entrée à montée lente ou bruyant, le comportement serait fiable à condition que, sur un front montant, aucun d'entre eux ne voit une tension inférieure à VDD / 4 après que quelqu'un ait vu une tension supérieure à VDD / 2.
supercat
@supercat Vous parlez d'hystérésis?
Cort Ammon - Réintègre Monica
@CortAmmon: Non - quelque chose de mieux. Si deux bascules avec des déclencheurs Schmidt indépendants sont en cascade, un fonctionnement incorrect peut se produire si le premier bascule reconnaît le front d'horloge et propage l'entrée jusqu'à la sortie avant que le second bascule ne reconnaisse son front d'horloge. Si les bascules utilisent des seuils d'entrée divisés, le deuxième flop capturerait son entrée lorsque l'horloge dépasse le seuil inférieur, mais la sortie du premier flop ne changerait pas jusqu'à ce que l'horloge atteigne le seuil supérieur.
supercat
0

(Passez à la fin si vous voulez savoir si le dernier circuit de l'OP est une bascule ou un verrou.)

En termes de base, une bascule est un agencement de portes logiques (ou composants) qui permet le verrouillage de 2 états avec une broche d'horloge qui permet ces changements d'états.

Voici maintenant la différence entre une bascule et un loquet. Les verrous sont asynchrones tandis que les tongs sont synchrones.

  • Les verrous asynchrones ne nécessitent pas de broche de mise à jour, qui serait communément appelée CLKbroche (abréviation d'horloge) dans une bascule. Tout ce qu'ils se soucient, c'est si les entrées sont dans un état spécifique, soit HIGHou LOW. Lorsqu'une certaine combinaison de HIGHs et LOWs est déclenchée dans l'entrée, c'est à ce moment que le circuit décide d'exécuter une action et que le résultat souhaité est renvoyé "immédiatement". Il y a 4 actions possibles dans un verrou.

    1. Ne fais rien
    2. Réglez QsurHIGH
    3. Réglez QsurLOW
    4. L'état non valide (supposé inverser la valeur de Q)

    Notez que cela Q'dépend Q.

Un exemple est le verrou SR qui montre les 4 actions possibles qu'un verrou peut faire: RS Latch

  1. Quand Sest LOWet Rest LOW, rien ne change.
  2. Quand Sest HIGHet Rest LOW, Qest réglé sur HIGH.
  3. Quand Sest LOWet Rest HIGH, Qest réglé sur LOW.
  4. Quand Sest HIGHet Rest HIGH, Qest inversé, à un rythme rapide "imprévisible". Cet état n'est pas valide.
  • Les bascules synchrones vous permettent de définir une valeur pour les broches de données. Cela signifie qu'il ne se soucie que de l'état de ces broches. Cependant, le circuit ne décide pas encore de faire d'action sur la sortie. Vous avez la CLKbroche comme mentionné ci-dessus. Lorsque la CLKbroche change d'état (de LOWà HIGH, vice-versa ou même les deux), les broches de données sont "capturées" et la bascule exécute une action basée sur la combinaison de HIGHs et LOWs des données capturées à partir des broches de données. Il y a deux actions pour la CLKbroche.
  1. Ne fais rien
  2. «Capturez» les données des broches de données et effectuez une action sur la sortie en fonction des valeurs des broches de données à ce moment précis.

Encore une fois, le circuit peut effectuer 4 actions sur la sortie.

  1. Ne fais rien
  2. Réglez QsurHIGH
  3. Réglez QsurLOW
  4. Inversez la valeur de Q(maintenant c'est valide car il ne le fait qu'une seule fois)

CE N'EST PAS UN FLIP-FLOP:

entrez la description de l'image ici

Mais pourquoi pouvez-vous demander? Cette Ebroche n'est pas une broche d'horloge. Les broches d'horloge permettent au circuit d'analyser les informations des broches de données UNE FOIS où ces informations sont envoyées sous forme d'instructions pour effectuer des actions spécifiques sur la sortie. Cependant, activer des broches comme celle-ci permet au circuit d'analyser les informations des broches de données tant qu'elles sont maintenues élevées et définit constamment les valeurs de la sortie. C'est donc un verrou. (Merci à jbord39 pour avoir signalé mon erreur).

La bascule est donc comme un loquet, sauf que vous avez besoin d'une étape supplémentaire de «confirmation», qui est la CLKbroche.

Alors, ce dernier circuit de la question du PO est-il une bascule? Essayez de maintenir le C élevé et voyez si la sortie change lorsque vous modifiez la valeur de D. Si la sortie change, elle doit être appelée activer à la place et est un verrou. Mais si la sortie ne change pas (dans ce cas), alors c'est une bascule.

Les images proviennent de Wikipedia.

Bradman175
la source
Non, beaucoup de loquets ont des broches d'horloge. nxp.com/documents/data_sheet/74HC_HCT373.pdf en fait le circuit que vous avez montré n'est pas un flip flop ...
jbord39
@ jbord39? Quelle broche d'horloge? Et activer la broche est différent d'une broche d'horloge.
Bradman175
@ jbord39 et whoops vous avez raison. Les deux circuits inférieurs sont des verrous. Veuillez reconsidérer ma réponse.
Bradman175
Laissez-moi voir si je comprends.Les bascules vérifient chaque entrée et activent une sortie et un verrou vérifie l'horloge et agit si elle est 1, produisant la valeur de D.Par conséquent, le verrou SR EST une bascule car il n'est pas cadencé, mais le verrou D est un vrai verrou.
Daniel Tork
@DanielTork Le problème est que vous avez plusieurs "horloges" et qu'une horloge ne peut pas alterner entre les broches et sert également de broche de données.
Bradman175