Question:
Un moyen rapide de se souvenir de la logique NAND & NOR?
n0pe
2011-11-01 05:57:03 UTC
view on stackexchange narkive permalink

On me demande souvent en classe de créer un circuit logique basé sur certaines spécifications. Construire le circuit et dériver les équations est la partie la plus facile. On nous dit généralement de mettre en œuvre notre circuit en utilisant uniquement des portes NAND ou uniquement des portes NOR (comme dans un scénario réel).

Je me retrouve à consulter des pages comme ceci une fois que j'ai équations et suis sur le point de dessiner le circuit. Si la mémorisation de ces combinaisons est le seul moyen de créer un circuit exclusif NAND ou NOR, alors je le ferai. Mais il devrait y avoir une meilleure façon de tout convertir rapidement et proprement.

Quelqu'un?

Cinq réponses:
Bob Kressin
2011-11-01 12:09:47 UTC
view on stackexchange narkive permalink

Si vous avez un schéma existant composé d'inverseurs, de portes ET et OU, il existe un processus simple en trois étapes que vous pouvez suivre pour convertir le circuit en tout NAND (vous pouvez modifier légèrement le processus pour NOR). Vous pouvez utiliser "Bubble Logic".

Supposons que vous ayez trois niveaux de logique. Le premier niveau, le plus proche de vos entrées, est constitué d'onduleurs. Le deuxième niveau se compose de portes ET. Et le niveau final se compose d'une seule porte OU. Certains manuels peuvent faire référence à cela comme étant une expression d'algèbre booléenne "somme de produits".

  1. Convertissez toutes vos portes ET en portes NAND.
  2. Partout où vous avez ajouté une bulle , vous avez en fait inversé la fonction d'algèbre booléenne sur ce fil. Alors, ajoutez une autre bulle à ce fil et dessinez la bulle près de la porte OU sur la sortie.
  3. Une porte NAND équivaut à une porte OU dont les entrées sont inversées. Donc, si votre porte OU à la sortie a toutes ses entrées inversées, redessinez-la simplement comme une porte NAND. Si ce n'est pas le cas, faites-le ainsi en ajoutant une bulle près de l'entrée du OU et une autre bulle (inverseur) ailleurs sur ce fil particulier.

Vous pourriez faire un processus similaire pour une implémentation tout NOR. J'espère que cela aide!

J'ai pensé que je n'étais peut-être pas assez clair avec ma question. Merci d'avoir compris ce que je voulais dire, et c'est une excellente réponse. J'en ai un autre rapide - existe-t-il un moyen rapide de transformer facilement une équation en NAND ou NOR? Disons que je n'avais pas encore dessiné mon circuit et que j'avais juste mes équations.
est-il possible d'utiliser ceci pour dériver l'expression pour XOR ie A'B + B'A
mixed_signal_old
2011-11-01 18:30:04 UTC
view on stackexchange narkive permalink

Sur la base de la réponse de Bob et de votre question sur les équations: Le concept de base à retenir est le théorème de DeMorgen. En utilisant + pour OR, * pour AND et ~ pour NOT,

~ (a + b) = (~ a * ~ b)

~ (a * b) = ( ~ a + ~ b)

En d'autres termes, la sortie d'une porte NOR est équivalente à la sortie d'une porte ET avec les entrées inversées. Et, vice versa: la sortie d'une porte NAND équivaut à la sortie d'une porte OU avec les entrées inversées.

Si vous déplacez les inversions d'un seul côté, vous obtenez:

(a + b) = ~ (~ a * ~ b)

(a * b) = ~ (~ a + ~ b)

En d'autres termes, une porte OU équivaut à une porte NAND avec des entrées inversées, et une porte ET équivaut à une porte OU avec des entrées inversées.

L'astuce à réaliser est que vous pouvez déplacer les "bulles" et implémenter le théorème de DeMorgen avec le schéma. J'ai entendu cela appelé «le jeu des bulles». L'idée est de déterminer la fonction dont vous avez besoin avec juste une «logique positive» en utilisant des ET et des OU. Ensuite, jouez au jeu des bulles et faites-en tous les NAND et NOR avec des bulles sur les entrées, puis déplacez les bulles le long des lignes (deux sur une ligne annulent) pour créer de simples NAND et NOR. Parfois, vous avez également besoin d'un onduleur supplémentaire ici ou là.

Le jeu de bulles a quatre règles:
1) Vous pouvez changer les ET ou les OU en (N) ET et (N) OU avec des bulles sur tous les terminaux.2) Vous pouvez "pousser" une bulle de la sortie vers les entrées, ce qui les rend toutes inversées.3) Vous pouvez "pousser" les bulles de toutes les entrées vers la sortie, inversant la sortie.4) Deux bulles sur une ligne annulent.

Voici un exemple.

DeMorgan example

Il s'avère que si nous ne changeons que la porte de sortie, nous pouvons enregistrer une ou deux étapes ...

enter image description here

Acclamations.

comment pouvez-vous utiliser ceci pour dériver l'expression pour xor ie A'B + B'A.J'ai du mal à en tirer.
Russell McMahon
2011-11-01 18:20:15 UTC
view on stackexchange narkive permalink
  • POUR DEUX PORTES D'ENTREE:

    Inputs = A, B

    "+" = OU

    "." = AND


AND

  • OUTPUT est vrai si A AND B est vrai,
    Sinon pas vrai

    Sortie vrai si A ET B sont tous les deux vrais.

    • X = AB

OU

  • La sortie est vraie si A OU B est vrai,
    Sinon, pas vrai

    Sortie vrai si A est vrai OU si B est vrai OU si les deux sont vrais.

    • X = A + B

XOR

  • La sortie est vraie si A est exclusivement vrai OU si B est exclusivement vrai.
    Sinon, faux.

    • X = A./B + / AB
      (Sortie = A et non B ou B et non A.

NAND - la sortie est inversée depuis AND
La sortie NOR est inversée depuis OU
XOR laissez-vous assez bien tranquille.


POUR LES PORTES N-INPUT

ET

  • OUTPUT est vrai si A ET B ET C ET ... est vrai,
    sinon pas vrai.ALL doit être vrai pour que la sortie soit vraie

OU

  • La sortie est vraie si soit A OU B OU C OU ... est vrai,
    autrement pas vrai

    N'IMPORTE QUELLE ou plus peut être vrai & au moins un doit être vrai pour que la sortie soit vraie

XOR

  • La sortie est vraie si l'un des ABCDR ... est exclusivement vrai OU si B est exclusivement vrai. Sinon, faux.

THEN:

NAND = NOT AND la sortie est inversée de AND
NOR - NOT OR la ​​sortie est inversée de OU
XOR laisser assez bien tranquille :-)

Olin Lathrop
2011-11-01 06:22:34 UTC
view on stackexchange narkive permalink

Cette page semble afficher les tables de vérité pour les fonctions logiques de base. Ce sont des choses que vous devez juste savoir.

Heureusement, ce n'est pas si mystérieux ou difficile. ET et OU font exactement ce qu'ils disent. Pour une porte ET, l'entrée A AND entrée B doit être vraie (logique haute) pour que la sortie soit vraie (logique haute). Pour une porte OU, l'entrée A OU l'entrée B doit être vraie pour que la sortie soit vraie. Oui, c'est vraiment aussi simple que cela. NAND est encore ce qu'il dit, qui n'est PAS-ET. La sortie d'un NAND est l'opposé (NON) d'un ET. NOR n'est PAS-OU. La sortie est opposée à une sortie de porte OU.

Tout cela est vraiment simple. C'est comme devoir apprendre que 3 plus 2 font 5 avant de pouvoir faire de l'arithmétique plus compliquée.

Je pense qu'ils se demandent comment connaître les transformations de l'utilisation de AND / OR / NOT à l'utilisation de portes NAND seules ou de portes NOR seules. C'est quelque chose que je me souviens avoir été obligé de faire pour la classe.
Gouse Shaik
2011-11-01 11:12:50 UTC
view on stackexchange narkive permalink

N'oubliez pas seulement l'addition pour OR
et la multiplication pour AND Gates, alors
Si vous multipliez n'importe quel nombre par 0, vous obtiendrez 0 quelle que soit l'autre entrée
puis inversez simplement le résultat. comme
"Si vous obtenez 0, faites-le 1 ou si obtenez 1, faites-le 0 pour obtenir les sorties de la porte NAND"
Identique à ça
quand vous ajoutez un nombre à 1, la sortie est 1 (haut ) quelle que soit l'autre entrée
puis inversez à nouveau le résultat obtenu et ce sera la sortie pour la porte NOR.

Pour éviter toute confusion, souvenez-vous simplement de l'ajout pour OU et de la multiplication pour AND
c'est que vous pouvez aller plus loin facilement.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...