Sauter au contenu

Section 2.4 Circuits logiques

Pour la première fois, on évoque spécifiquement le fonctionnement d’un ordinateur. Les composantes d’un ordinateur sont presque toutes composées de petits circuits électroniques qui sont fait pour accepter deux intensité de courant électrique. Un circuit qui reçoit le niveau élevé de courant sera représenté par un \(1\) alors qu’un circuit qui reçoit un faible niveau sera représenté par un \(0\text{.}\) Cette dualité n’est pas sans rappeler les sections précédentes où les propositions étaient vraie ou fausse.
Un ordinateur combine l’information de tous ses circuits pour effectuer ses tâches. Pour cela, il combine ces informations à l’aide de ce qu’on appelle des portes, qui sont analogues aux connecteurs logiques. Les éléments de la présente section sont d’une certaine façon une manière graphique de visualiser les notions de la section 2.1.
Dans cette section, on définit les portes logiques élémentaires, les circuits logiques et leur construction,

Sous-section 2.4.1 Portes logiques

Une porte logique est un dispositif agissant sur un certain nombre d’entrée et produisant à partir de ceux-ci une sortie. Typiquement dans un ordinateur, le niveau de tension de composantes est fourni en entrée afin de produire un résultat ou une information. On peut aussi voir les entrées comme des Vrai ou Faux, des Ouvert ou Fermé ou des \(1\) ou \(0\text{.}\) Une partie d’un circuit peut être illustré comme sur la figure 2.4.1. À gauche, on retrouve les entrées (il peut y en avoir une ou plusieurs) et à droite la sortie (encore une fois, une ou plusieurs). Au centre, on retrouve une porte, une espèce de boite noire qui accomplit des opérations logiques pour produire la sortie.
Un rectangle, représentant une porte de nature inconnue, est représenté avec à sa gauche, deux petits traits pour les entrées et à sa droite, un trait pour la sortie.
Figure 2.4.1. Une partie de circuit avec une porte inconnue
On définit maintenant les trois portes principales d’un circuit logique. Elles les équivalents des opérateurs logiques \(\neg,\wedge,\vee\text{.}\) Les portes NON, ET et OU sont illustrées ci-dessous.
Un triangle avec un côté vertical à gauche et une extrémité à droite est représenté avec à sa gauche, un petit trait pour l’entrée et à sa droite, un trait pour la sortie. On retrouve aussi à l’extrémité droite du triangle un petit cercle ouvert.
(a) Porte logique NON
Une moitié d’ellipse avec un côté vertical à gauche et une extrémité arrondie à droite est représenté avec à sa gauche, deux petits traits pour les entrées et à sa droite, un trait pour la sortie.
(b) Porte logique ET
Une figure ressemblant à une fusée couchée sur le côté est représentée avec un côté concave arrondie à gauche et une extrémité à arrondie à droite. À sa gauche, deux petits traits pour l’entrée et à sa droite, un trait pour la sortie.
(c) Porte logiqueOU
Figure 2.4.2. Trois portes logiques élémentaires
En plus des portes élémentaires, on peut aussi définir des portes pour des opérations comme le ou exclusif. On peut même définir ses propres opérations logiques et leur créer une porte. Concrètement, la porte NON va changer le signal de l’entrée pour l’inverser. Ainsi si une composante avait une tension élevée, envoyer son signal dans une porte NON convertira la tension en basse. Une porte ET regarde les deux entrées et retourne un signal à tension élevée si les deux signaux d’entrée étaient aussi à tension élevée. Finalement la porte OU envoie un signal à tension élevée dès que l’une de ses entrée l’était. Pour se coller à la tradition informatique, on parlera désormais en termes de \(1\) et de \(0\) pour parler de l’entrée et de la sortie d’un circuit.
Évidemment, ces portes à elles seules ne sont pas très intéressante, mais c’est en les combinant qu’on peut faire des choses complexes et utiles. Il y a toutefois quelques règles à respecter. Sous ces conditions, la sortie d’un circuit sera entièrement déterminée par la valeur de ces entrées au moment de la lecture de celles-ci. On regarde un exemple de circuit plus complexe avant d’établir les règles pour combiner les portes.

Exemple 2.4.3. Un premier circuit combiné: dynamique.

On considère le circuit de la figure 2.4.4. Si \(X=1,Y=0,Z=1\text{,}\) quelle est la sortie du circuit?
Un circuit complexe ayant trois entrées est illustrée. Les entrées X et Y passent dans une porte ET, l’entrée Y est transformée par une porte NON et par la suite combinée dans une porte ET avec l’entrée Z. Finalement, le résultat des deux portes ET est combiné dans une porte OU.
Figure 2.4.4. Un premier circuit combiné
Solution.
La figure ci-dessous permet de faire la résolution de ce circuit de manière interactive.
Instructions.
Utiliser le curseur afin d’obtenir les étapes de la solutions. Il sera par la suite possible de changer les entrées des valeurs \(X,Y\) et \(Z\text{.}\)
Figure 2.4.5. La solution du circuit
Quelles sont donc les règles pour avoir un circuit logique valide? Il y en a quatre. La dernière, si elle n’est pas respectée, peut donner lieu à des circuits appelés séquentiels. On ne considère pas ce type de circuits.
  1. On ne combine pas deux fils d’entrée.
  2. Une entrée peut se séparer comme l’entrée \(Y\) dans le circuit de la figure 2.4.4 afin d’être utilisée par plus d’une porte.
  3. Une sortie peut être utilisée comme entrée.
  4. Par contre, aucune sortie ne retourne dans la porte d’où elle provient, que ce soit immédiatement ou éventuellement.

Sous-section 2.4.2 Parallèle avec la logique propositionnelle

On sait que pour chaque possibilité des entrées d’un circuit, on obtiendra une valeur de sortie. Lorsque le nombre de possibilités est raisonnable, on peut faire une table des possibilités. C’est l’équivalent de la table de vérité de la logique propositionnelle. Ci-dessous, la table du circuit de l’exemple 2.4.3. On peut vérifier avec la figure interactive 2.4.5 que les valeurs sont exactes.
Table 2.4.6. Table de vérité du circuit de l’exemple 2.4.3
\(X\) \(Y\) \(Z\) Sortie
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 0
0 1 0 0
0 0 1 1
0 0 0 0
S’il est possible d’associer à un circuit logique une table de vérité, il est également possible de lui associer une expression logique. La sortie du circuit de l’exemple 2.4.3 se lisait d’ailleurs \((X\wedge Y)\vee(\neg Y\wedge Z)\text{.}\)

Digression: En passant.

Exemple 2.4.7. D’autres exemples de circuits logiques.

On considère les circuits de la figure ci-dessous. On cherche à déterminer la table de vérité et une expression de logique propositionnelle pour chacun.
Un circuit à deux entrées et trois portes logiques est illustré. Le X et le Y sont combinés dans une porte OU. Le Y passe également à travers une porte NON avant d’être combiné avec le résultat de la première porte dans une porte ET.
(a) Un circuit à deux entrées
Un circuit à trois entrées et quatre portes logiques est illustrés. Le X et le Y sont combinés dans une porte OU. Le Y et le Z sont combinés dans une porte ET et le résultat de cette porte est inversé par une porte NON. Finalement, cette inversion est combiné avec la porte OU du début dans une porte ET.
(b) Un circuit à trois entrées
Figure 2.4.8. Deux circuits logiques
Solution 1.
On débute par la table de vérité de ce circuit.
On commence avec la paire d’entrées \(1\)-\(1\text{.}\) La porte OU les combinant retournent \(1\text{.}\) La valeur de \(Y\) est inversée par la porte non et se combine ensuite avec le résultat précédent dans la porte ET. Comme la valeur du Y a été inversée et est maintenant \(0\text{,}\) la porte ET retourne \(0\) comme sortie du circuit.
Pour la paire d’entrée \(1\)-\(0\text{,}\) la porte OU les combinant retournent \(1\text{.}\) La valeur de \(Y\) est inversée par la porte non et se combine ensuite avec le résultat précédent dans la porte ET. Comme la valeur du Y a été inversée et est maintenant \(1\text{,}\) la porte ET retourne \(1\) comme sortie du circuit.
Pour la paire d’entrée \(0\)-\(1\text{,}\) la porte OU les combinant retournent \(1\text{.}\) La valeur de \(Y\) est inversée par la porte non et se combine ensuite avec le résultat précédent dans la porte ET. Comme la valeur du Y a été inversée et est maintenant \(0\text{,}\) la porte ET retourne \(0\) comme sortie du circuit.
Pour la paire d’entrée \(0\)-\(0\text{,}\) la porte OU les combinant retournent \(1\text{.}\) La valeur de \(Y\) est inversée par la porte non et se combine ensuite avec le résultat précédent dans la porte ET. La valeur du Y a été inversée et est maintenant \(1\text{,}\) mais la porte OU a retourné \(0\text{.}\) La porte ET finale retourne \(0\) comme sortie du circuit.
Le résumé de ces calculs se trouve dans la table ci-dessous.
Table 2.4.9. Table de vérité du circuit
\(X\) \(Y\) \(X\vee Y\) \((X\vee Y)\wedge \neg Y\)
1 1 1 0
1 0 1 1
0 1 1 0
0 0 0 0
Pour ce qui est de l’expression logique, en suivant le raisonnement des calculs précédents, on arrive à \((X\vee Y)\wedge (\neg Y)\text{.}\)
Solution 2.
Souvent, il est plus simple de déterminer d’abord l’expression logique et à partir de celle-ci, écrire la table de vérité. C’est l’approche préconisée ici.
On peut procéder comme dans le circuit à deux entrées. On peut aussi procéder de la sortie vers les entrées. La porte finale est une porte ET. On sait donc qu’on aura une conjonction de deux propositions. La première partie de la conjonction correspond à la sortie de la porte OU, qui combine le \(X\) et le \(Y\text{.}\) La seconde partie de la porte finale est la sortie d’une inversion. On aura donc une négation. Ce qui est inversé, c’est le résultat de la porte ET, qui combine le \(Y\) et le \(Z\text{.}\) En combinant ces informations, on obtient \((X\vee Y)\wedge \neg(Y\wedge Z)\text{.}\)
On peut ensuite trouver la table de vérité ci-dessous.
Table 2.4.10. Table de vérité du circuit
\(X\) \(Y\) \(Z\) \(X\vee Y\) \(\neg(Y\wedge Z)\) \((X\vee Y)\wedge \neg(Y\wedge Z)\)
1 1 1 1 0 0
1 1 0 1 1 1
1 0 1 1 1 1
1 0 0 1 1 1
0 1 1 1 0 0
0 1 0 1 1 1
0 0 1 0 1 0
0 0 0 0 1 0
Si on peut trouver une expression logique et une table de vérité à partir d’un circuit logique, on peut probablement trouver une circuit logique à partir d’une expression ou d’une table de vérité. Pour cette dernière option, la forme normale disjonctive sera particulièrement utile.

Exemple 2.4.11. Des circuits à partir d’une expression logique ou d’une table de vérité.

On considère l’expression logique \((X\vee \neg Z)\wedge (\neg Y\vee Z) \) et la table de vérité suivante.
Table 2.4.12. Table de vérité du circuit
\(X\) \(Y\) \(Z\) \(f(X,Y,Z)\)
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 1
0 1 1 1
0 1 0 0
0 0 1 0
0 0 0 0
On veut dessiner des circuits logiques équivalents à ceux-ci.
Solution 1.
On débute avec l’expression logique. On voit que la sortie sera obtenue après une porte ET qui combine les deux paires de parenthèses. Dans la première paire, le \(X\) est combiné à la négation de \(Z\) par une porte OU et dans la seconde, c’est la négation de \(Y\) qui est combinée à \(Z\text{,}\) aussi par une porte OU.
Comme \(Z\) apparait dans les deux paires de parenthèses, il faudra séparer l’entrée en deux. Une solution possible est donner ci-dessous.
Un circuit à trois entrées est illustré. L’entrée X est combinée avec l’inverse de l’entrée Z dans une porte OU. L’entrée Y est inversée et combinée avec l’entrée Z, aussi dans une porte OU. Le résultat de ces deux portes OU est finalement combiné dans une porte ET.
Figure 2.4.13. Le circuit associé à l’expression logique
Solution 2.
Le plus simple pour construire le circuit associé à une table de vérité est de construire la forme normale disjonctive de l’expression. Comme toutes les sorties tels que \(X\) est \(1\) donnent \(1\text{,}\)en combinant \(X\) à la cinquième ligne, on obtient \(X\vee (\neg X\wedge Y\wedge Z)\text{.}\) Il faudra donc combiner l’inverse de \(X\) avec \(Y\) et ensuite combiner ce résultat avec \(Z\) dans des portes ET. Ensuite, on combine cette sortie avec \(X\) dans une porte OU. À noter qu’à l’exercice 2.4.4.1, on verra qu’on peut combiner plus de deux entrées dans une porte ET grâce à l’associativité.
Le circuit associé à cette table de vérité est illustré ci-dessous.
Un circuit à trois entrées est illustré. L’entrée X est inversée et combinée avec l’entrée Y dans une porte ET. Ensuite, la sortie de cette porte est combinée avec Z dans une autre porte ET. Finalement le résultat de cette seconde porte ET est combinée avec X dans une porte OU.
Figure 2.4.14. Le circuit associé à la table de vérité
En plus de déterminer des circuits équivalents à des expressions ou des tables de vérité, on peut aussi déterminer l’équivalence de circuits entre eux. Grâce aux règles de la logique, on peut simplifier les circuits. Si on réussit à réduire le nombre de portes utilisées, on aura potentiellement sauvé des coûts de construction du circuit et peut-être aussi en maintenance ou alimentation.
Les éléments importants de cette section sont:

Questions de compréhension de la lecture 2.4.3 Questions de compréhension de la lecture

Ces questions sont à faire avant de venir en classe et à remettre au début du cours.

1.

On considère le circuit illustré à la figure 2.4.15.
Un circuit à trois entrées est illustrée dans lequel l’entrée X est combinée avec l’inverse de l’entrée Y dans une porte ET. Ce résultat est finalement combinée avec Z dans une porte OU.
Figure 2.4.15. Un circuit à trois entrées
Déterminer la valeur de la sortie si:

2.

Déterminer la table de vérité du circuit illustré à la figure 2.4.16. Par quelle porte plus simple aurait-on pu le remplacer?
Un circuit à deux entrées est illustrée dans lequel l’entrée X est inversée pour être combinée avec l’entrée Y dans une porte ET. Le résultat de cette porte est ensuite combinée dans une porte OU avec l’entrée X.
Figure 2.4.16. Un circuit à trois portes à simplifier

3.

En plus des portes NON,ET et OU, on peut aussi créer d’autres portes à l’aide d’expressions fréquemment utilisées. Dans cet exercice, on s’intéresse au circuit du ou exclusif. Une porte associée à cette opération s’appelle une porte XOR. Elle est illustrée à la figure 2.4.17.
Une porte à deux entrée est illustrée, semblable à la porte du OU, mais avec un demi-cercle supplémentaire à gauche.
Figure 2.4.17. Une porte XOR
Déterminer une circuit équivalent à une simple porte XOR en termes de porte NON, ET et OU.

4.

Quel serait un circuit associé à l’expression \(p\rightarrow q\text{?}\)

5.

Un circuit peut avoir plus d’une sortie. C’est particulièrement utile quand un circuit est en fait une partie d’un système plus complexe. Le circuit illustré à la figure 2.4.18 est une partie d’un circuit utilisé pour qu’un ordinateur effectue des additions. On reviendra sur ce type de circuit dans le chapitre 3.
Un circuit à deux entrée est illustrée dans lequel les entrées X et Y sont combinées dans une porte XOR et dans une porte ET. Le circuit retourne deux sorties, le résultat de chacune de ces combinaisons.
Figure 2.4.18. Le circuit demi-additionneur
Déterminer la table de vérité de ce circuit.

6.

Noter toute question qui demeure suite à la lecture de la section et la résolution des exercices ci-dessus ou toute précision/clarification à apporter. Note: cette question est facultative.

7.

Noter toute question qui demeure suite à la lecture de la section et la résolution des exercices ci-dessus ou toute précision/clarification à apporter. Note: cette question est facultative.

Exercices 2.4.4 Exercices

À faire en classe

Ces exercices sont faits pour travailler en classe. Ils servent à approfondir les notions de la section et à atteindre les objectifs d’apprentissage plus avancés.
1.
Dans cet exercice, on constate qu’il est parfois possible de combiner deux portes en une seule de même nature.
(a)
Vérifier que les deux circuits suivants sont équivalents.
Une circuit à trois entrée dans lequel les entrées X et Y sont combinées dans une porte ET pour ensuite être combinées avec Z dans une autre porte ET.
Figure 2.4.19. Le premier circuit
Une circuit à trois entrée dans lequel l’entrée X est combinée dans une porte ET avec la combinaison par une porte ET des entrées Y et Z
Figure 2.4.20. Le second circuit
Comment justifier cela avec les notions de la section 2.2?
Réponse.
Une première méthode est de construire la table de vérité des deux circuits, et comparer la valeur des sorties. Ceci revient à faire la démonstration de l’associativité du \(\wedge \text{.}\)
Une autre méthode est d’utiliser les propositions logiques associées aux circuits. On utilise cette méthode.
La proposition logique associée au premier circuit est \((X\wedge Y)\wedge Z \text{,}\) alors que la proposition associée au deuxième circuit est \(X\wedge (Y\wedge Z) \text{.}\) En utilisant l’associativité du \(\wedge\text{,}\) on sait que \((X\wedge Y)\wedge Z \equiv X\wedge (Y\wedge Z) \text{.}\)
Puisque les deux propositions associées sont équivalentes, les circuits le sont également
(b)
Vérifier que le résultat est le même si on remplace les portes ET par des portes OU.
Réponse.
Comme à la partie précédente, une première méthode est de construire la table de vérité des deux circuits, et comparer la valeur des sorties. Ceci revient à faire la démonstration de l’associativité du \(\vee \text{.}\)
Une autre méthode est d’utiliser les propositions logiques associées aux circuits. On utilise encore une fois cette méthode.
La proposition logique associée au premier circuit est \((X\vee Y)\vee Z \text{,}\) alors que la proposition associée au deuxième circuit est \(X\vee (Y\vee Z) \text{.}\) En utilisant l’associativité du \(\vee\text{,}\) on sait que \((X\vee Y)\vee Z \equiv X\vee (Y\vee Z) \text{.}\)
Puisque les deux propositions associées sont équivalentes, les circuits le sont également
Puisque les circuits sont équivalents, on utilisera parfois une porte ET ou une porte OU à plus de deux entrées pour alléger les diagrammes. Un exemple d’une porte ET à trois entrées est illustré ci-dessous.
Une circuit à trois entrée dans les entrées X,Y et Z sont combinées dans une unique porte ET.
Figure 2.4.21. Une porte ET à trois entrées
2.
Si la porte XOR, associé au ou exclusif, retourne \(1\) lorsque les entrées sont différentes et \(0\) lorsqu’elle sont égales, on peut aussi définir une porte qui fait le contraire, c’est-à-dire une porte qui retournera \(1\) en cas d’égalité et \(0\) sinon. En termes de propositions logiques, on veut alors le complément du ou exclusif. On parlera d’une porte ÉGAL, qui est illustrée à la figure 2.4.22. On note que c’est la même porte que le XOR, mais avec le point de l’inversion à la sortie. Lorsqu’une porte quelconque possède ce point à sa sortie, on comprendra que c’est l’inversion de la porte sans le point qui est donnée.
Une porte à deux entrées identique à une porte XOR, mais possédant un point ouvert à l’extrémité droite de la porte, signifiant l’inversion.
Figure 2.4.22. Une porte ÉGAL
Déterminer un circuit équivalent à une porte ÉGAL qui n’utilise que des portes NON,ET et OU.
Indice.
Une possibilité est d’ajouter tout simplement une porte NON à la fin du circuit pour la porte XOR. Ceci devrait normalement donner les cinq portes du XOR et la porte NON. Il est toutefois possible de le faire à l’aide de cinq portes au total si on utilise les lois de la logique pour simplifier le complément du ou exclusif.
Réponse.
Figure 2.4.23. Le circuit de ÉGAL
3.
À l’exercice 2.4.4.2, il a été mentionné qu’une porte avec un point ouvert à la sortie représente l’inversion de cette porte. On peut ainsi définir les portes NET et NOU, illustrées ci-dessous.
Une porte identique à la porte ET, mais avec un petit point ouvert à l’extrémité droite, signifiant l’inversion.
(a) La porte NET
Une porte identique à la porte OU, mais avec un petit point ouvert à l’extrémité droite, signifiant l’inversion.
(b) La porte NOU
Figure 2.4.24. La négation des portes ET et OU
En particulier, dans l’exercice sur la barre de Sheffer, il a été question de l’opérateur logique NAND (anglais pour NET). Pour chaque question ci-dessous, l’exercice équivalent sur la barre de Sheffer pourrait être utile.
(a)
Trouver un circuit logique ne possédant que des portes NET équivalent à l’inversion.
Réponse.
Figure 2.4.25. Le circuit de l’inversion
(b)
Trouver un circuit logique ne possédant que des portes NET équivalent à une porte ET.
Réponse.
Figure 2.4.26. Le circuit du ET
(c)
Trouver un circuit logique ne possédant que des portes NET équivalent à une porte OU.
Réponse.
Figure 2.4.27. Le circuit du OU
4.
Déterminer quel est le résultat du circuit ci-dessous pour les entrées demandées. Attention aux portes avec des inversions \(\circ\text{.}\)
Un circuit à trois entrées est illustré. Dans un premier temps, une porte NOU combine les entrées X et Y. L’inversion de Y est ensuite combinée avec Z dans une porte ET. Le résultat de cette porte ET est combiné dans une porte XOR avec l’inversion de Y. Finalement, la sortie de la porte XOR est combinée avec la sortie de la première porte NOU dans une porte NET.
Figure 2.4.28. Un circuit complexe avec des portes inversées
5.
Construire un circuit à trois entrées qui retourne \(1\) si et seulement si \(X=Y\) et \(Y\neq Z\) en n’utilisant que les trois portes de base
Réponse.
Figure 2.4.29. Un circuit
6.
Construire un circuit à trois entrées qui retourne \(1\) si au moins deux entrées valent 1, et \(0\) sinon. Utiliser n’importe quelle(s) porte(s) vues jusqu’ici.
Réponse.
Figure 2.4.30. Un Circuit
7.
Construire un circuit à trois entrées qui retourne \(1\) si au moins deux entrées valent 0, et \(0\) sinon. Utiliser n’importe quelle(s) porte(s) vues jusqu’ici.
Réponse.
Figure 2.4.31. Un Circuit

Exercices supplémentaires

8.
Un pont de la région de Vancouver possède trois voies qui s’utilisent dans les deux sens, selon la direction du trafic (vers l’île ou vers l’extérieur). Afin d’orienter les usagers, des symboles lumineux vert ou rouge indique si une voie est accessible. L’affichage de ces symboles est contrôlé par deux interrupteurs \(X,Y\text{.}\)
Lorsque les deux interrupteurs sont fermés (\(0\)), les trois voies affichent rouge. Lorsque \(X\) seulement est ouvert, la voie la plus à droite des trois est au vert et les deux autres sont au rouge. Lorsque \(Y\) seulement est ouvert, ce sont les deux voies de droites qui sont au vert, la troisième est au rouge. Finalement, si les deux interrupteurs sont ouverts, les trois voies sont au vert.
Donner un circuit à deux entrées et trois sorties illustrant cette situation.
Une photo du Lion’s Gate Bridge de Vancouver sur laquelle on peut apercevoir des voyants lumineux, indiquant aux automobilistes quelle voies ils peuvent emprunter.
Figure 2.4.32. Le Lion’s Gate Bridge, de la région de Vancouver
 1 
Image tirée de Wikipedia, libre de droits
9.
(a)
Trouver un circuit logique ne possédant que des portes NOU équivalent à l’inversion.
(b)
Trouver un circuit logique ne possédant que des portes NOU équivalent à une porte ET.
(c)
Trouver un circuit logique ne possédant que des portes NOU équivalent à une porte OU.
L’opérateur logique équivalent à la porte NOU est appelé la flèche de Peirce. On note l’opération \(p\downarrow q\text{.}\)