Portes NAND

On note \( \mathbb{B}\) l'ensemble \( \lbrace 0 ; 1 \rbrace \) (que l'on peut considérer suivant la situation comme l'ensemble { vrai ; faux } ).

Toute fonction définie sur \( \mathbb{B}^n \) et à valeurs dans \( \mathbb{B} \) peut être exprimée à l'aide de la seule fonction de Sheffer, c'est à dire de la fonction définie sur \( \mathbb{B}^2\) par s(a,b) = non (a et b) = nand( a, b).

On note souvent nand(a,b) par \( a \uparrow b \).

L'objectif des exercices de cette page est de mettre en oeuvre ce résultat sur quelques cas particuliers.

NOT.

Monter l'équivalent d'une porte NOT en utilisant uniquement des portes NAND. Tester avec logisim.

AND.

Monter l'équivalent d'une porte AND en utilisant uniquement des portes NAND. Tester avec logisim.

Le schéma logisim à charger utilise l'idée suivante : a et b = non(non( a et b )) = non (nand(a,a))= \( \text{non}(a \uparrow a) \). Et nous venons d'exprimer la porte non à l'aide d'une porte nand : a et b = \( \text{non}(a \uparrow a) \) = \( (a \uparrow a) \uparrow (a \uparrow a) \) (premier schéma) ou encore a et b = \( \text{non}(a \uparrow a) \) = \( (a \uparrow a) \uparrow 1 \) (second schéma).
and avec nand

OR.

Monter l'équivalent d'une porte OR en utilisant uniquement des portes NAND. Tester avec logisim.

Le schéma logisim à charger utilise l'idée suivante : a ou b = non(non( a ou b )) = non ( non(a) et non(b) )= \( \text{non}(a) \uparrow \text{non}(b) \).
En utilisant l'expression d'une porte non obtenue précédemment : a ou b = \( (a \uparrow 1) \uparrow (b \uparrow 1) \) (schéma 1) ou encore a ou b = \( (a \uparrow a) \uparrow (b \uparrow b) \) (schéma 2).
or avec nand