Aller au contenu

La porte NAND est universelle⚓︎

Logic

Logic est un simulateur de circuits logiques développé par Jean-Philippe Pellet. Il est très simple d'usage et plutôt joli.

Voici le circuit d'un muxer. Vous pouvez le tester en cliquant sur les entrées A, B et S pour voir les différents résultats. Le sélecteur S permet de déterminer si la sortie est égale à A ou à B.

La porte NAND est universelle

Une porte est universelle si elle permet de construire toutes les autres portes logiques. Il suffit de pouvoir construire les portes NON, ET et OU pour être universel. En effet, comme nous l'avons vu dans l'algèbre de Boole, ces trois opérateurs booléens permettent de créer tous les autres opérateurs booléens. Il en est de même pour leur équivalent en portes logiques.

La porte NAND (non-et) est universelle. Dans les exercices suivants, nous allons construire les autres portes NON, ET et OU en utilisant uniquement des portes NAND.

La table de la porte NAND est :

A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
Exercice 1 : Faire une porte NON avec NAND

En rajoutant les fils manquants, utilisez la porte NAND (non-et) pour que la valeur de Sortie soit la même que celle de Témoin, quelle que soit la valeur de Entrée.

Pour rajouter un fil il suffit de cliquer sur la sortie d'une porte et de faire glisser le fil jusqu'à l'entrée d'une autre porte.

Pour changer la valeur de Entrée, il suffit de cliquer dessus.

Exercice 2 : ET et OU

En rajoutant des portes NAND, disponibles à gauche, faites des circuits équivalents aux portes ET et OU déjà installées.

En cas d'erreur de manipulation, vous pouvez réinitialiser en utilisant le bouton à droite.

Indices pour le ET
Indice 1

On rappelle que A NAND B = NON (A ET B).

De plus, NON (NON A) = A.

Indice 2

On a donc NON (A NAND B) = A ET B.

Indices pour le OU
Indice 1

On rappelle que A OU B = NON ((NON A) ET (NON B)).

Indice 2

On a donc A OU B = (NON A) NAND (NON B).

Solution

Exercice 3 : XOR

Faire un circuit équivalent à une porte XOR à l'aide de portes ET, OU et NON.

La porte XOR (ou-x) disponible ne doit servir qu'à rajouter un témoin avec une sortie supplémentaire.

Table de vérité de XOR
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Il y a deux façons de contruire une porte XOR à l'aide des portes ET, OU et NON.

Indices pour la version 1
Indice 1

Soit on a A et NON B, soit on a NON A et B.

Indice 2

A XOR B = (A ET (NON B)) OU ((NON A) ET B)

Indices pour la version 2
Indice 1

Le XOR correspond au ou exclusif, c'est-à-dire A OU B mais pas A ET B.

Indice 2

A XOR B = (A OU B) ET NON (A ET B)

Solutions
Version 1

Version 2

Exercice 4 : XOR avec des NAND (optionnel)

Faire un circuit équivalent à une porte XOR en utilisant uniquement des portes NAND.

La porte XOR (ou-x) disponible ne doit servir qu'à rajouter un témoin avec une sortie supplémentaire.

Table de vérité de XOR
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Indice

Puisque les portes NON, ET et OU peuvent être fabriquées à l'aide de portes NAND, il faut reprendre une des solutions de l'exercice précédent et remplacer les portes par leurs équivalents avec des portes NAND.

Objectif optionnel (très dur)

Il est possible de n'utiliser que 4 portes NAND.

Solutions
Solution A ou B mais pas les deux

Solution L'un mais pas l'autre

On remarque qu'il y a 2 négations qui s'enchaînent à la fin des ET et à l'entrée du OU. On peut donc les supprimer et on obtient une solution plus simple :

Solution avec 4 portes NAND

Dans la solution avec 5 portes NAND, le circuit correspondait à l'expression ((NON A) NAND B) NAND (A NAND (NON B)).

On a les tables de vérité suivantes :

A B NON A NON B (NON A) NAND B A NAND (NON B)
0 0 1 1 1 1
0 1 1 0 0 1
1 0 0 1 1 0
1 1 0 0 1 1

On peut également faire les tables suivantes :

A B A NAND B B NAND (A NAND B) A NAND (A NAND B)
0 0 1 1 1
0 1 1 0 1
1 0 1 1 0
1 1 0 1 1

On a donc (NON A) NAND B = B NAND (A NAND B) et A NAND (NON B) = A NAND (A NAND B).

L'avantage c'est qu'on peut faire une seule fois A NAND B pour les deux branches, ce qui permet d'enlever une porte NAND.