Réutilisez l'additionneur pour faire un soustracteur



Principe

Le circuit soustracteur "A-B", où A[0..3] et B[0..3] sont deux entiers non signés de 4 bits, peut être construit facilement sur la base de la structure d'additionneur décrite au paragraphe précédent. La principale différence réside dans la nécessité d'utiliser un circuit appelé "complément à 2" qui inverse la valeur de la donnée B.

Quelques exemples de valeurs de A[0..3] et B[0..3] ; le résultat attendu codé en entier et en hexadécimal sont reportés ci-dessous. 

Exemples de valeurs de A, B et résultat de soustraction S=A-B

Exemples de valeurs de A, B et résultat de soustraction A-B en hexa et en décimal

Le principe de la soustraction élémentaire au niveau binaire, avec l'enchaînement des propagations de retenues, est donné dans la figure ci-dessous.


Principe de la soustraction de deux nombres binaires

Principe de la soustraction de deux nombres binaires

Schéma à base d'additionneurs

Un circuit logique correspondant au soustracteur à 4 bits construit à base d'additionneurs est présenté ci-dessous. On réalise une addition entre A[0..3] et le complément à 2 de B[0..3].



La retenue se propage de droite à gauche. La dernière retenue est s[4].

Mise en cascade d'additonneurs et d'inverseurs pour fabriquer un soustracteur à n-bits

Mise en cascade d’additionneurs et d'inverseurs pour fabriquer un soustracteur à n-bits

Nous avons choisi une implémentation logique verticale, en plaçant la cascade d'additionneurs les uns au-dessus des autres. Dans le schéma, les retenues se propagent de bas en haut. La batterie d'inverseurs est destinée à inverser la valeur de B, avec une retenue initiale égale à 1, tout en bas du schéma. B est donc "complémenté à 1". Dans l'exemple illustré ci-dessous, A=4, B=5, le résultat attendu est -1, qui est une interprétation en entier signé de la valeur hexadécimale 0x0F.

Soustracteur de 4 bits, avec affichage des résultats au format hexadécimal et entier

Soustracteur de 4 bits, avec affichage des résultats aux formats hexadécimal et entier


Dans ce chapitre vous avez découvert comment soustraire des nombres entiers signés et comment réutiliser un circuit additionneur pour faire un circuit de soustraction.

Dans le chapitre suivant, vous allez découvrir comment réaliser un circuit de multiplication élémentaire permettant de multiplier des nombres entiers quelconques.


Last modified: Saturday, 28 December 2019, 12:48 PM