Pourquoi les portes NAND sont-elles utilisées pour créer des portes ET dans les ordinateurs?


41

Pourquoi est-ce une norme pour les portes ET

entrez la description de l'image ici

quand il pourrait être fait avec deux FET et une résistance à la place?

entrez la description de l'image ici


21
NAND (et NOR) sont fonctionnellement complets , ce qui signifie que toute fonction logique peut être implémentée en utilisant uniquement NAND (ou NOR). Ce qui en fait un bloc de construction uniforme très pratique pour tout. Pas sûr que ce soit la seule (et la principale) raison cependant.
Eugene Sh.

1
VOH

26
Dans le contexte de la conception de circuits intégrés, les résistances sont physiquement plus grandes que les transistors. Et la dissipation engendrée par les résistances, lors de la conception de circuits intégrés haute densité, rend les résistances très indésirables en tant que composants de portes logiques.
Mkeith


4
Il semble y avoir deux questions ici. "Pourquoi n'utilisons-nous pas des résistances à la baisse au lieu des deux transistors supplémentaires dans, par exemple, une porte nand?" Et "Pourquoi utilisons-nous deux transistors supplémentaires pour inverser, au lieu de créer une porte non inverseuse dans le premier place? ”
ctrl-alt-delor

Réponses:


67

Pour obtenir un fonctionnement non inverseur en logique (c'est-à-dire ET ou OU contre NAND ou NOR), vous devez utiliser les transistors en mode de drain commun, également appelé mode "source suiveuse".

Parmi les problèmes avec ce mode pour la logique:

  • Il n'y a pas de gain de tension. Après plus de quelques étapes, le signal est réduit à néant.
  • Il existe un décalage significatif (appelé tension de seuil) entre les entrées et les sorties. Une sortie de haut niveau sera inférieure à l'entrée de haut niveau correspondante.

Ensemble, ces problèmes signifient que vous ne pouvez pas connecter la sortie de cette porte aux entrées d'une autre copie d'elle-même. Cela le rend plutôt inutile pour construire des circuits plus complexes.

C'est pourquoi toutes les familles logiques 1 réussies sont construites à l'aide de transistors en mode source commune (ou émetteur commun), qui présente un gain de tension significatif et aucun décalage cumulé entre les entrées et les sorties - mais la sortie est inversée par rapport à l'entrée. Par conséquent, les fonctions de base incluent une inversion: NAND ou NOR.

En prime, les portes NAND et NOR sont "fonctionnellement complètes", ce qui signifie que vous pouvez créer n'importe quelle fonction logique (y compris des éléments de stockage tels que des verrous et des bascules) à partir de toutes les portes NAND ou de toutes les portes NOR.


1 Pour être spécifique, les familles logiques qui utilisent des tensions comme états logiques. Cela inclut RTL, DTL, TTL, PMOS, NMOS et CMOS. Les familles logiques en mode courant telles que ECL utilisent en effet une combinaison de suiveurs d'émetteur et de transistors à base commune pour atteindre les mêmes objectifs tout en évitant la saturation (pour la vitesse).


2
Une question secondaire intéressante serait de savoir pourquoi nous ne l'utilisons pas pour toutes les autres portes.
Josué

2
@Joshua: Je ne suis pas sûr de ce à quoi "ceci" fait référence, mais s'il s'agit d'une logique en mode courant, cela a beaucoup à voir avec la consommation d'énergie relativement importante par état stationnaire par porte.
Dave Tweed

@DaveTweed Je pense que Joshua voulait dire ceci: faire ce que l'OP propose, avoir 2 NMOS comme suiveur de tension (pas de gain de tension), et à l'étape suivante de la logique implémentée, utilisez un gain de tension élevé. Vous alternez donc entre "suiveur de tension" / "quelque inverseur quelque part". - La question de Joshua est de savoir pourquoi cette conception (alternateur suiveur / onduleur) n’est spécifiquement pas utilisée. - Peut-être que votre commentaire est ciblé sur cela, j'ai du mal à comprendre / raisonner avec votre réponse.
Harry Svensson

@HarrySvensson: Vous avez peut-être raison. Je ne savais pas non plus ce que Joshua voulait dire par "toutes les portes", mais j’ai décidé de me lancer dans l’obscurité. Comme il n'est jamais revenu pour clarifier, nous ne le saurons jamais avec certitude.
Dave Tweed

2
@HarrySvensson Vous l'avez fait et DaveTweed a déjà dit ce qui ne va pas.
Josué

24

Vous décrivez la logique PMOS . Il présente des inconvénients importants par rapport à la SCMO:

  • Si la valeur de la résistance est basse, la porte consommera une quantité importante d'électricité statique lorsque la porte est active. Les portes CMOS ne consomment pratiquement pas d'énergie lorsqu'elles ne commutent pas activement.

  • Si la valeur de la résistance est élevée, la porte est lente à s’éteindre, car la capacité de toutes les portes pilotées par la sortie doit être déchargée à travers la résistance. De plus, une résistance de grande valeur occupera probablement plus de surface qu'un ensemble de transistors complémentaires.

  • Pour des raisons liées au processus, le PMOS est moins efficace que la logique inverse - NMOS .


4
Non, l'OP affiche des transistors à canal N. Echoue pour une raison complètement différente.
Dave Tweed

3
@DaveTweed Je partais du principe que cette partie était une erreur de rédaction. Si vous souhaitez expliquer leur erreur dans une réponse distincte, cela pourrait également être utile.
Crépuscule

5
Cela aurait dû rester évident - s'il s'agissait de transistors à canal P, il implémenterait une fonction NOR, pas AND.
Dave Tweed

4
Le nombre de votes positifs que cette réponse m'a confond grandement.
Harry Svensson

3
Syndrome @HarrySvensson Hot-Network-Question peut-être. Un flot d'utilisateurs à l'échelle du site avec 101 représentants qui possède peu de connaissances du domaine et ne peut que voter à la hausse , pas à la baisse. Incline beaucoup les statistiques sur un petit site comme celui-ci.
pipe

22

Une raison pour laquelle je pense que personne n'a encore mentionné: les contraintes technologiques:

  1. Les résistances sur puce sont énormes par rapport aux transistors. Pour obtenir une valeur décente, nous parlons d’ordres de grandeur supérieurs aux plus petits transistors. En d’autres termes, à côté de tous les autres avantages que vous obtenez avec un CMOS approprié (courant statique, niveaux d’entraînement, balancement de sortie), il est également beaucoup moins cher.

  2. Modélisation: Les transistors sur la logique peuvent être si petits car ils sont configurés de manière répétitive. Cela leur permet également d’obtenir des rendements plus élevés et des performances plus constantes. Jeter des résistances gâcherait cela.

  3. Capacité: La limitation de vitesse dans un système logique est la capacité du prochain étage. Plus de capacité signifie moins de puissance ou plus de force (plus de transistors, plus de surface, plus de courant statique, plus de consommation d'énergie, plus de capacité présentée à l'étage précédent). Une grande résistance vous donnera probablement beaucoup de capacité de charge car elle occupe une grande surface physique. Cela pourrait nuire aux performances.

Ceci est parfois fait sur des technologies plus spécialisées où vous pourriez ne pas avoir de bons transistors logiques (pour les applications analogiques / RF).


8

La logique de résistance de transistor est un domaine de connaissance. Les propriétés des portes logiques reposant sur des résistances sont très différentes de celles de celles utilisant des transistors. D'une part, les résistances déroulantes maintenues à l'état haut dissipent continuellement le courant. Cela peut poser un problème pour les conceptions alimentées par batterie ou haute densité. La même chose s'applique dans l'autre sens (pour les pulldowns tenus bas).

Une autre grande différence est la vitesse et la force de conduite. La structure de sortie push-pull utilisée dans le CMOS peut basculer rapidement sans dissipation de puissance en statique.

Veuillez noter que le circuit que vous avez dessiné ne fonctionnera pas du tout. Vous ne pouvez pas placer NMOS dans la branche supérieure à moins que la tension d'entrée soit supérieure à VCC. Si la sortie a une charge importante, votre circuit ne pourra pas conduire près de VCC. Il peut même ne pas être assez élevé pour être reconnu comme "élevé" par certaines portes logiques.

Ce n'est pas juste un nitpick. En fin de compte, il est très difficile de construire quelque chose qui permute en une étape d'un rail à l'autre à moins que ce soit de nature inversée (comme le sont les normes NAND et NOR). Et c’est la vraie raison pour laquelle les portes AND utilisent NAND, suivies de NOT (onduleur). Personne au monde ne sait comment fabriquer une porte CMOS ET à usage général avec moins de 6 transistors. La même chose s'applique à OU.


Il n'est pas rare que des dispositifs NMOS 5 volts commutent des signaux de haut niveau à l'aide de transistors NMOS sans source de polarisation de grille supérieure à VDD. Le seuil de commutation étant inférieur à 2,4 volts, on peut donc se permettre d’avoir un faible pull-up qui élève un nœud à 4 volts, puis de l’utiliser pour faire fonctionner la grille d’un transistor de transfert. Les registres à décalage dynamiques contenus dans la puce TIA de l'Atari 2600 sont implémentés de cette manière.
Supercat

Merci @ supercat. Je ne savais pas ça. Évidemment, il y a beaucoup de limitations, cependant. Et cela ne change rien au fait que le circuit de l'OP n'est pas une porte ET polyvalente viable. Cela pourrait fonctionner pour des charges qui n'ont pas besoin d'entrée près de VCC, cependant.
Mkeith

6

Une raison majeure dans la logique TTL, et je suggérerais dans la plupart des familles logiques, est que l'élément de gain est inversé. Pour obtenir une sortie non inverseuse avec de bonnes caractéristiques de variateur, un inverseur supplémentaire est nécessaire.

Cet onduleur est une mauvaise chose.

  • Il utilise le pouvoir
  • Il ralentit la fonction logique
  • Habituellement, l'inversion ne vous intéresse pas, et parfois vous en avez besoin.

Puisque nous combattons habituellement la vitesse avec des portes discrètes (ou nous étions quand ils étaient le seul choix), les portes inversées ont régné le jour. Des portes non inverseuses étaient disponibles (comparez le 7400 au 7408).

Le principal exemple de ceci est la porte et-ou-inversée . Pour les numéros TTL typiques, le délai de propagation est le même que NAND et NOR, mais il comprend deux niveaux de logique.


6

Les avantages de l’utilisation d’une conception CMOS sont nombreux:

  1. Dans la logique NMOS que vous avez décrite, si la sortie est haute (les deux entrées sont hautes), il existe un chemin direct (résistif) pour le flux de courant. Donc, dans ce cas, la porte consommera une grande quantité d’énergie (V ^ 2 / R), même à l’état stable. En mode CMOS, toutefois, le courant ne peut circuler que lorsque les 4 transistors sont activés (c'est-à-dire: lorsque la porte commute).
  2. Les résistances sont généralement très difficiles à obtenir sur du silicium et occupent beaucoup de place dans la puce. De plus, des valeurs précises de résistance ne sont pratiquement pas réalisables.
  3. Dans la logique NMOS, la tension de sortie ne peut éventuellement pas atteindre sa valeur maximale (+ 5V) car après qu'une certaine valeur minimale est atteinte, les transistors commencent à s’éteindre (ce qui désactive la branche de charge). Cela se traduit directement par une réduction des marges de bruit.
  4. La logique CMOS peut très facilement être utilisée pour réaliser n’importe quel circuit avec très peu de transistors, consommant une faible puissance, et pour fonctionner à des vitesses élevées. En tant que tel, faire partie du circuit en tant que NMOS (avec une charge résistive) est très fastidieux et inefficace.

Ainsi, une porte NAND suivie d'un onduleur est utilisée pour concevoir une porte ET.


Le point 1 montre bien pourquoi NMOS a besoin de plus de puissance que le CMOS.
Camille Goudeseune

4

Construire un AND en dehors d’une NAND permet d’utiliser des tailles de grille minimales pour la logique et de dimensionner les deux (et seulement deux) transistors de l’onduleur pour piloter la ligne. Cela maximise la vitesse et minimise la perte de puissance au détriment d'une petite surface supplémentaire utilisée pour les transistors supplémentaires (en tenant compte de la taille de la résistance nécessaire pour entraîner la ligne dans l'application envisagée).

Aussi, pour partager une certaine sagesse que j'ai apprise à l'université (il y a longtemps dans une galaxie très éloignée, très éloignée ...): nous avons apprécié une présentation sur la logique des réseaux de portes. À la fin, un étudiant a demandé pourquoi un ingénieur devrait se soucier de réduire le nombre de portes NAND utilisées lorsque toutes ces portes étaient déjà sur la puce. La réponse du présentateur est restée fidèle à moi pendant 30 ans: parce que si nous ne le faisons pas, nos concurrents le feront.

Si votre concurrent peut réaliser un circuit plus rapide et plus efficace en énergie sans différence de coût appréciable, alors l’utilisation de la résistance est une erreur commerciale, et pas seulement une erreur d’ingénierie.


2

Un signal logique qui passe à travers une porte non amplificatrice finira par devenir beaucoup plus faible qu'au début. Tandis que l’on pourrait inclure une porte AND non inverseuse dans une puce, les portes alimentées par la sortie faible basculeraient probablement beaucoup plus lentement que les portes alimentées par des portes alimentées par une sortie puissante que le temps requis pour faire passer un signal à travers un inverseur NAND , et une autre porte, seraient probablement moins que si le NAND et l’onduleur étaient remplacés par un ET à sortie faible.

Notez que même si on a à la fois des transistors NMOS et PMOS disponibles et que l'on souhaite construire une porte ET à sortie faible, on doit construire la porte de la même manière qu'une porte CMOS NOR, mais en inversant les transistors NMOS et PMOS afin d'éviter dissipation de puissance statique. Les résistances étant très chères, évitez de les utiliser sauf en cas de nécessité absolue.

Un point qui n’a pas été mentionné dans d’autres réponses, cependant, est qu’une porte inverseuse peut contenir un mélange de sorties en série et en parallèle. Par exemple, on peut avoir une porte complexe pratique qui calcule "pas ((X et Y) ou (X et Z) ou (Y et Z))" en utilisant un seul niveau d'inversion. Bien qu’il ne soit pas pratique d’avoir un "AND" qui envoie sa sortie à plusieurs endroits d’un circuit, on peut inclure une porte "AND" sur une ou plusieurs entrées d’une porte "NOR", ou une porte "OU" sur un ou plus d'entrées d'une porte "NAND".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.