Je suggère d'utiliser les grilles de Rott . La grille de Rott est une application graphique des lois de Morgan et elle est particulièrement utile pour résoudre des problèmes comme le vôtre. Certaines portes logiques nécessitent plus de transistors que d'autres. La nécessité de réduire les retards potentiels au niveau des portes logiques peut motiver l'optimisation de la conception en utilisant des portes NOR ou NAND. La recherche d'une fonction correspondante - avec les portes logiques dont vous avez besoin - peut se faire très rapidement à l'aide des grilles de Rott :
Chaque grille de Rott est créée selon ces trois principes :
- les lois de Morgan sont respectées en passant du ⋅ (la conjonction) au + (la disjonction) et en les séparant par des traits horizontaux (les négations),
- les lignes verticales séparent les différentes entrées, ce qui modifie le nombre d'entrées des portes logiques,
- sur la dernière ligne sont placées les variables d'entrée, soit sous leur forme première, soit sous leur forme annulée - ce qui est déterminé individuellement par le nombre de lignes horizontales au-dessus d'elles.
Les cinq grilles suivantes sont toutes des représentations différentes de la fonction donnée :
a ⋅ b ⋅ c a ⋅ b ⋅ c a ⋅ b ⋅ c a ⋅ b ⋅ c a ⋅ b ⋅ c
| | ----------- ----------- ----------- -----------
a | b | c + + + + + + + +
----------- ----------- | ------ | ------
⋅ ⋅ ⋅ ⋅ | ⋅ | ⋅
| ------ ------ | | ------ | |
| + + | | + ¬a | b | c
| ------ ------ | | |
| ⋅ ⋅ | ¬a | ¬b|¬c
| | | |
a | b | c a | b | c
La première grille n'est pas vraiment utile, il s'agit simplement de la fonction originale implémentée par un ET à 3 entrées :
f = a ⋅ b ⋅ c
La deuxième grille de Rott est mise en œuvre en utilisant uniquement des NAND à 2 entrées. Vous pouvez utiliser soit deux NAND à 2 entrées et deux inverseurs, soit quatre NAND à 2 entrées - dont deux à la place des inverseurs, car un NAND à 2 entrées ayant la même entrée sur les deux broches inverse le signal.
f = ¬(nand(a,¬(nand(b,c))))
La troisième grille de Rott n'est qu'une variante de la première.
f = ¬(nand(¬(nand(a,b)),c))
La quatrième grille de Rott peut être réalisée en utilisant deux NOR à 2 entrées et quatre onduleurs. Les inverseurs peuvent être remplacés par des NOR à 2 entrées ou des NAND à 2 entrées.
f = nor(¬a,¬(nor(¬b,¬c))))
La cinquième grille de Rott peut être réalisée en combinant un NOR à 2 entrées, un NAND à 2 entrées et un inverseur.
f = nor(not(a),nand(b,c))
(L'image a été générée à l'aide de outil latex en ligne .)