Nota Bene : Cette page utlise le plugin Dokuwiki pour écrire des fomules mathématiques en Latex (syntaxe).
Les fonctions logiques élémentaires qu'il est possible de mettre en oeuvre sur le silicium (en combinant des transistors) sont les portes NAND et NOR. Plus de détails.
Voici la représentation classique de ces portes :
Et leur table de vérité :
a | b | NAND | NOR |
---|---|---|---|
0 | 0 | 1 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
Soit $+$ l'opérateur or et $.$ l'opérateur and. On utilise le symbole $\bar{x}$ pour la négation de $x$. La fonction logique nand (resp. nor) est dite complète, car toute fonction logique (ou circuit) peut être implanté uniquement au moyen de cette porte, en en combinant plusieurs. Le nombre d'étages nécessaire conditionne la durée de propagation du circuit.
Voici quelques exemples d'utilisation de la porte NAND, pour réaliser divers fonctions logiques :
\begin{eqnarray*}
\bar{x} &=& \overline{x.x}
x.y &=& \overline{\overline{x.y}}
x+y &=& \overline{\bar{x}.\bar{y}}
x \oplus y &=& \overline{ \overline{(x.\bar{y})}.\overline{(\bar{x}.y)}}
\end{eqnarray*}
Pour prouver ces résultats, il faut utiliser propriété $\overline{\bar{x}} = x$, ainsi que la loi de De Morgan :
\begin{eqnarray*}
\overline{x+y} &=& \bar{x}.\bar{y}
\overline{x.y} &=& \bar{x}+\bar{y}
\end{eqnarray*}
La fonction logique XOR (ou exclusif, opérateur $\oplus$) a pour table de vérité :
a | b | XOR |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
En particuler, XOR a quelques bonnes propriétés :
Voici un exemple de représentation d'un mux 8:1.
La table de vérité simplifié de ce circuit est :
$S=S_2S_1S_0$ | Z |
---|---|
000 | A |
001 | B |
010 | C |
011 | D |
100 | E |
101 | F |
110 | G |
111 | H |
Attention à bien distinguer dans la bibliothèque de composants, ceux qui manipulent des fils simples et ceux qui manipulent plusieurs fils (bus x4). Il faut donc relier des sorties simples sur des entrées simples, et des sorties bus x4 sur des entrées bus x4. De même, il faut veiller à respecter le sens : on branche les sorties blanches sur les entrées jaunes. Sinon ça ne marche pas du tout ! Les composants BusIn et BusOut permettent de relier des entrée simples avec des sorties bus x4 et réciproquement.
Quelques Exemples