Le soustracteur à 4 bits (74HC283)
Durant cette deuxième d'activité dirigée, en complément de la première activité intitulé l'additionneur à 4 bits, nous allons réaliser ensemble un soustracteur binaire à 4 bits en utilisant le même circuit intégré 74HC283. Pour réaliser cette activité, nous allons utiliser la solution de électronique en temps réel SimulIDE.
Ainsi, pour commencer, lançons la solution SimulIDE que nous avons déjà installée pour réaliser l'activité précédente et lançons-nous dans la modélisation du schéma électrique ci-dessous. Si vous n'avez toujours pas installé ce logiciel, il est demandé de le faire avant de pouvoir poursuivre cette fiche.

Une fois le schéma ci-dessous finalisé, à l'aide des interrupteurs \( (A_{3}, A_{2}, A_{1}, A_{0}) \) et \( (B_{3}, B_{2}, B_{1}, B_{0}) \), réalisez les soustractions ci-dessous pour chaque équation suivante et déterminez les valeurs (reste, retenue) respectives :
- 101 - 100
- 0110 - 0011
- 1000 - 1001
Que constatez-vous ?
Réalisation et simulation : Le soustracteur binaire à 4 bits
Comment calculer une soustraction binaire avec un 74HC283 ?
Pour déterminer le reste d'une soustraction \( R = A - B \), nous pouvons écrire notre équation \( R = A + (-B) = A - (\overline{B} +1) \) telle que \( -B \) est le complément à 2 de la valeur logique de \( B \) d'où notre écriture \( -B = \overline{B} +1 \).
Ainsi, comme vous pouvez le constatez, nous avons transformé notre soustraction en une addition en mettant en place le complément à 2 du mot binaire \( B \). Pour réaliser cela, nous allons faire le complément du mot binaire \( B \) à travers des portes logiques NON et compléter par le +1 logique en l'injectant dans le port \( C_{i} \) du circuit intégré 74HC283.
Le schéma logique ci-dessous nous explique comment nous pouvons réaliser une soustraction en mettant en place un additionneur et des portes logiques NON :

Modélisation du soustracteur 4 bits sous simulIDE
Comme proposé dans le descriptif de la présente fiche d'activité, nous allons modéliser le schéma sous la solution SimulIDE comme nous le démontre l'image ci-dessous :

Pour pouvoir créer notre montage, comme nous l'avons réalisé, il est demandé de chercher les composants requis dans la bibliothèque de composant de la solution. Pour ce fait, nous aurons besoin de :
- de sources d'alimentation que nous allons configurer chacune à une valeur VCC= 5V. Nous pouvons les retrouver facilement dans la bibliothèque de notre outil de simulation sous le nom "Fixed Voltage". L'image ci-dessous nous présente son icône :

Pour configurer la valeur 5V à notre source d'alimentation, un simple double clic sur le composant après que vous l'avez placé vous permet d'éditer ce paramètre. L'image ci-dessous nous présente la fenêtre de configuration de la source A0 :

- des diodes LED pour la lecture de la valeur binaire affichée à la sortie de la broche de notre circuit intégré 74HC283. Nous pouvons les ajouter depuis la même bibliothèque. Ils sont disponibles sous le nom "LED". L'image ci-dessous nous présente son icône :

- de plusieurs résistances d'une valeur identique de 330Ω. Ce composant est disponible dans la bibliothèque sous le nom "Resistance" dans la sous-catégorie "Resistors" sous la catégorie "Passif". La capture ci-dessous nous explique cela :

- d'un additionneur binaire à 4 bits avec la prise en charge de la retenue E-1. Comme vous l'avez remarqué, nous allons utiliser le circuit intégré 74HC283. L'image ci-dessous nous présente son icône :

- Et un dernier circuit intégré; les portes logiques NON. Pour cela, nous allons chercher le circuit intégré 74HC04 disponible dans la bibliothèque dans la sous-catégorie "IC 74" dans la catégorie "Logique". L'image ci-dessous nous présente son icône :

Il est à noter qu'il est possible de chercher un composant dans l'onglet Composants sous la solution SimulIDE en écrivant le nom ou la référence du composant directement dans la case approrié (comme nous l'avons fait pour retrouver le circuit intégré 74HC283).
Simulation de la soustraction à 4 bits sous simulIDE
Pour réaliser une simulation en temps réel et pouvoir tester toutes les combinaisons binaires possibles que nous souhaitons, une fois que notre modélisation est correctement réalisée, nous devons activer le mode simulation en cliquant sur le bouton "Start Simulation". La capture ci-dessous nous explique les différentes icônes disponibles au niveau la barre de la simulation dans la solution SimulIDE :

Remarque : Si une erreur empêche le bon fonctionnement de notre circuit électrique, un message d'erreur s'affichera dans la fenêtre "Output" présente sous la zone schématique de la solution de simulation.
Simulation, exécution et lecture des différents résultats à la sortie de la soustraction à 4 bits
Comme souhaité dans l'énoncé de cette fiche d'activité, nous allons simuler sous la solution les combinaisons suivantes :
- 101 - 100 = ? Pour cette soustraction, nous allons mettre les deux mots binaires comme suit : \( A_{3}, A_{2}, A_{1}, A_{0} = (0, 1, 0, 1) \), \( B_{3}, B_{2}, B_{1}, B_{0} = (0, 1, 0, 0) \) et \( R_{-1} = 1 \)

A la sortie de notre circuit, nous pouvons lire directement le résultat de notre différence tel que : \( S_{3}, S_{2}, S_{1}, S_{0} = (0, 0, 0, 1) \) avec la retenue \( R_{+1} = 1 \). Ce qui nous a permi d'écrire dans le système binaire l'équation arithmétique suivante : \( (101)_{2} - (100)_{2} = (1)_{2} \) soit l'équivalent dans le système décimal \( (5)_{10} - (4)_{10} = (1)_{10} \).
Pour quoi la valeur de la retenue \( R_{+1} = 1 \) ? Comme nous réalisons une soustraction déguisée en la transformant en une addition, notre équation \(101 - 100 = 101 + 011 + 1 = 101 + 100 = 1001 \). Ce qui nous donne un résultat de notre soustraction égale à 001 avec une retenue d'une valeur logique 1L.
- 0110 - 0011 = ? Pour cette addition, nous allons paramétrer les deux mots binaires tels que : \( A_{3}, A_{2}, A_{1}, A_{0} = (0, 1, 1, 0) \), \( B_{3}, B_{2}, B_{1}, B_{0} = (0, 0, 1, 1) \) et \( R_{-1} = 1 \)

A la sortie de notre montage, nous pouvons lire à partir des différentes diodes LED le résultat de cette somme : \( S_{3}, S_{2}, S_{1}, S_{0} = (0, 0, 1, 1) \) avec la retenue \( R_{+1} = 1 \). Ce qui nous permet d'écrire dans le système binaire l'équation arithmétique suivante : \( (110)_{2} - (0011)_{2} = (0011)_{2} \) soit l'équivalent dans le système décimal \( (6)_{10} - (3)_{10} = (3)_{10} \).
Pour quoi aussi la valeur de la retenue \( R_{+1} = 1 \) dans cette deuxième équation ? Dans le même principe, nous réalisons une soustraction déguisée en transformant une soustraction en une addition binaire. Notre équation \(110 - 011 = 110 + 100 + 1 = 110 + 101 = 1011 \). Ce qui nous donne le résultat binaire \( (011)_{2} \) sur un mot binaire de 3 bits avec une retenue égale à 1.
- 1000 - 1001 = ? Pour cette somme, nous allons configurer les deux mots binaires comme suit : \( A_{3}, A_{2}, A_{1}, A_{0} = (1, 0, 0, 0) \), \( B_{3}, B_{2}, B_{1}, B_{0} = (1, 0, 0, 1) \) et \( R_{-1} = 1 \)

Comme vous le remarquez, cette soustraction est logiquement impossible puisque \( A < B \). A la lecture de la valeur affiché sur les différentes diodes LED : \( S_{3}, S_{2}, S_{1}, S_{0} = (1, 1, 1, 1) \) avec la retenue \( R_{+1} = 0 \). Ce qui nous permet d'écrire ainsi l'équation arithmétique suivante : \( (1000)_{2} - (1001)_{2} = (1111)_{2} \) soit l'équivalent dans le système décimal \( (8)_{10} - (9)_{10} = (-1)_{10} \) puisque la valeur binaire dans ce cas représente le complément à 2 de la valeur \( (-1)_{10} \).
En effet le complément à 2 de \( (1111)_{2} \) est égale à :
\[ \overline(1111)_{2} + (1)_{2} = (0000)_{2} + (1)_{2} = (00001)_{2} \]
Ce qui nous confirme que le \( (1111)_{2} \) est l'équivalent de la valeur -1 dans le système déciamal (en représentation sur 4 bits en complément à deux).
Que constatons-nous ?
Nous confirmons que le même circuit intégré 74HC283 en lui ajoutant des fonctions logiques NON, nous pouvons réaliser un soustracteur binaire sous la solution de simulation SimulID. Cette solution est ainsi capable d’effectuer la soustraction de deux mots binaires avec une prise en compte de la retenue (carry) à l'entrée comme à la sortie; ce qui nous permet de mettre en cascade plusieurs soustracteurs si besoin.
Et si on réalise une deuxième activité ensemble ?
Le demi-soustracteur (Half-subtractor)
Pour vous initier avec les opérateurs arithmétiques binaire, Electro & Robot vous propose de réaliser dans un premier temps une activité d'un demi-soustracteur binaire (Half-subtractor) avec des portes logiques uniquement :
L'additionneur à 4 bits (avec un 74HC283)
Comme nous venons de le réaliser ensemble, Electro & Robot vous propose de réaliser dans une seconde actvitié un additionneur à 4 bits avec le même circuit intégré 74HC283 :