7 faits sur les faits sur l'additionneur binaire : additionneur complet et demi-additionneur

  1. Définitions et vue d'ensemble de l'additionneur
  2. Types d'additionneur
  3. Demi-additionneur
  4. Additionneur complet
  5. Additionneur BCD

Définitions:

Un additionneur est un appareil qui additionne deux nombres et produit le résultat. Un additionneur binaire est quelque chose qui traite de l'addition de nombres binaires.

Un additionneur binaire est un appareil numérique et nécessaire pour les calculs numériques. L'opération effectuée dans un additionneur binaire, obéit aux règles d'addition binaire. Ici deux bits correspondant à 2n sont ajoutés et le résultat est ensuite ajouté au report du 2n-1 chiffre.

Les règles d'addition binaire sont énoncées comme suit. Ici, 0 est logique bas et 1 est logique haut. A et B sont deux entrées.

ABY = A + B
000
011
101
110 (porter 1)
Addition binaire

Exemple d'opérations d'addition:

  • 11111 + 1011 + 101 + 10 + 1
  • 11111+ 1011 = 101010
  • 101010 + 101 = 101111
  • 110001 + 1 = 110010

Donc la réponse est 110010

Types d'additionneur

Cette opération d'addition est mise en œuvre par divers circuits numériques. Elles sont -

  • Demi-additionneur
  • Additionneur complet
  • Additionneur BCD

Un additionneur binaire effectue non seulement des opérations d'addition, mais également utilisé dans d'autres applications numériques. Décodage d'adresse, calcul d'index sont quelques-unes de ses applications.

Demi-additionneur

Un demi-additionneur est un type d'additionneur binaire qui ajoute un bit de données et produit le résultat. Il a deux côtés d'entrée par lesquels nous fournissons les valeurs logiques numériques et il a deux sorties par lesquelles nous recevons le résultat de l'opération. Le résultat peut être affiché sur un seul chiffre. La sortie affiche le chiffre de la somme qui a la même signification que les chiffres individuels ajoutés. L'autre sortie affiche le bit de retenue.

Table de vérité du demi-additionneur

Le fonctionnement du demi-additionneur est illustré dans la table de vérité suivante.

ABSommePorterSomme de A et B
000000
011001
101001
110110
Table de vérité du demi-additionneur

Maintenant, à partir de la table de vérité, nous pouvons observer que les trois premières lignes peuvent représenter la somme en utilisant un seul chiffre. À la dernière ligne, la somme est représentée à l'aide de deux chiffres car elle a 1 comme retenue. Ici, la somme est nulle et le report 1 doit être amené à la position de signification immédiatement supérieure.

Somme = A ′ B + AB ′

Porter = AB

Alors,

Somme = A XOR B

Porter = A ET B

Pour implémenter la logique, nous avons besoin d'une porte XOR et d'une porte ET. La porte XOR et la porte ET peuvent également être fabriquées à l'aide de portes universelles telles que NAND et NOR. Ainsi, un demi-additionneur peut être conçu en utilisant uniquement des portes universelles.

L'image suivante montre A et B comme entrée et S comme somme et C comme retenue.

Additionneur binaire complet
Demi-additionneur binaire, source de l'image - charge inductifDemi-additionneur, marqué comme domaine public, plus de détails sur Wikimedia Commonsgalerie de

Additionneur complet

Un autre type d'additionneur binaire est l'additionneur complet. Il ajoute également des données binaires et produit la sortie. Maintenant, lorsque deux nombres binaires sont ajoutés, à l'exception du chiffre le moins significatif, il y a un report comme Ci-1 et effectuer comme Ci. L'additionneur complet est conçu pour gérer un report pour chaque étape. C'est ainsi qu'une commande complète surmonte le défaut de demi-additionneur de manutention de report.

Table de vérité de l'additionneur complet

AiBiCi-1SiCi
00000
00110
01010
01101
10010
10101
11001
11111
Table de vérité de l'additionneur complet

Circuit additionneur complet

Si = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + (Uni Bi + Ai Bi)Ci-1   + (Uni Bi + Ai Bi)Ci-1

Et le portage se présente comme:

Ci = Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 + Ai Bi Ci-1 

Ou, Ci = (Uni Bi + Ai Bi)Ci-1   + (Uni Bi + Ai Bi)Ci-1

Ou, Ci = Ai Bi + (Uni Bi + Ai Bi)Ci-1

Maintenant, considérons qu'un demi-additionneur a des entrées A et B. La somme de sortie est S et la retenue est C. Maintenant, l'expression de Si et Ci peut être obtenue à partir des expressions de Somme et report du circuit de demi-additionneur.

Si = SCi-1 + SCi-1

Ci = C + SCi-1

Maintenant, pour implémenter un additionneur complet utilisant des demi-additionneurs, nous avons besoin de deux demi-additionneurs et d'une porte OU. Les implémentations complètes d'additionneurs utilisant des demi-additionneurs sont représentées dans la figure ci-dessous.

Schéma logique de l'additionneur complet
Additionneur binaire complet, source de l'image - Charge inductiveDiagramme logique de l'additionneur complet, marqué comme domaine public, plus de détails sur Wikimedia Commons

Comme nous pouvons le voir sur la figure, le premier demi-additionneur (marqué comme-) a l'entrée Ai et Bi. L'additionneur de seconde moitié (marqué comme-) a des entrées de C i-1 et la sortie du premier demi-additionneur qui est S. La sortie du deuxième demi-additionneur est Si et SCi-1.

Maintenant, SCi-1 représente la réalisation. La retenue du premier demi-additionneur qui est C et la retenue du deuxième demi-additionneur qui est SCi-1 sont alimentés en entrée d'une porte OU. La sortie de la porte OU est la dernière exécution du circuit additionneur complet.

Additionneurs binaires parallèles

Un additionneur complet est nécessaire pour l'ajout de bits à chaque étape d'addition, sauf pour l'addition des chiffres les moins significatifs, d'autre part, deux demi-additionneurs sont nécessaires pour compléter un additionneur complet. Il suit la règle selon laquelle l'addition de deux nombres à n bits nécessitera 2 * m -1 nombre de demi-additionneur et m-1 nombres de portes OU. Ce type d'additionneur binaire est appelé additionneur binaire parallèle. La vitesse de fonctionnement de ces types d'additionneurs est très rapide. C'est pourquoi ils sont préférés dans les appareils de calcul modernes.  

Ajoutons 101 et 111 comme exemple d'additionneur binaire parallèle. La figure ci-dessous représente l'addition.

additionneur d'anticipation de report 4 bits
Additionneur binaire parallèle, source de l'image - fr: Utilisateur: CburnettAdditionneur d'anticipation de report 4 bitsCC BY-SA 3.0

Le premier demi-additionneur (marqué comme-1) ajoute les bits d'extrême droite 1 et 1 pour produire la somme binaire 0 et le report 1 selon les règles de l'addition binaire. La sortie du demi-additionneur est introduite dans l'entrée du premier additionneur complet (marqué comme - 2). Les deux autres entrées du premier additionneur complet sont les deux bits suivants qui sont 0 et 1. Les sorties du premier additionneur complet sont 0 comme somme et 1 comme retenue. Ils sont en outre introduits dans l'entrée du deuxième additionneur complet. Les deux autres entrées sont 1 et 1. Les sorties du second additionneur complet sont 1 comme somme et 1 comme retenue. Ainsi, le résultat de la sommation est de 1100.

Maintenant, il faut noter qu'à la place d'un demi-additionneur à la position de chiffre la moins significative, un additionneur complet peut être utilisé avec son entrée de retenue à 0.

Additionneur BCD

Le terme BCD dans l'additionneur BCD signifie Binary Coded Decimal. BCD est un type spécial de codage binaire où chaque chiffre a un certain nombre de bits pour la représentation. Le BCD des 10 premières valeurs décimales est indiqué dans le tableau.

Chiffre décimal BCD  
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
ADDER BCD

L'additionneur BCD a deux entrées qui varient de 0 à 9. La sortie varie de 0 à 18 et si le report précédent est pris en compte, la plage sera jusqu'à 19.

Le tableau de l'additionneur BCD est donné ci-dessous.

additionneur décimal ou bcd
Table de vérité de l'additionneur BCD

À partir du tableau ci-dessus, nous pouvons observer que de 1 à 9 le binaire et le BCD sont identiques. De 10 à 19 nombres décimaux, le binaire et les codes sont différents.

Le schéma de circuit d'un additionneur BCD est illustré ci-dessous.

  • Dans le diagramme ci-dessus, il y a un additionneur binaire à quatre bits qui a une entrée comme addended et augend. Il a également une entrée de portage.
  • L'additionneur binaire donne la sortie de l'addition et une sortie de retenue.
  • Maintenant, en utilisant la sortie et la retenue, le circuit est en outre conçu pour découvrir la retenue finale.
  • La sortie est en outre introduite dans un additionneur 4 bits.
  • Maintenant, le circuit est conçu pour rendre le 1st 4th bit du nombre ajouté comme 0 et aussi le 2nd 3rd peu à faire comme Carry. Lorsque le report est 1, le circuit est conçu de telle manière que l'addition soit 0110. 6 est ajouté avec augend pour obtenir le BCD.

Exemple de BCD

0110 + 0101 = 1011

Maintenant, ce n'est pas valide en tant que BCD. Le nombre est supérieur à 9. Il faut donc ajouter 6 au résultat.

Le résultat final sera = 1011 + 0110 =

1011 + 0110 = 10001

La réponse finale sera donc 10001

Connaissez les soustracteurs! Cliquez ici!

Implémentation VHDL de Half additionneur et Full Adder

MODÉLISATION DE DATAFLOW ADDER DEMI-BINAIRE

bibliothèque IEEE;

utilisez IEEE.std_logic_1164.all;

entité half_adder_dataflow est

    Port (a: dans STD_LOGIC;

           b: dans STD_LOGIC;

           s: sortie STD_LOGIC;

           c: sortie STD_LOGIC);

fin half_adder_dataflow;

architecture Le comportement de half_adder_dataflow est

commencer

s <= a XOR b;             

c <= a ET b;            

fin comportementale;

MODÉLISATION COMPORTEMENTALE DE L'ADDER DEMI-BINAIRE:

l'entité SUDIPTA_ROY_HALFADD est

    Port (A: dans STD_LOGIC;

           B: dans STD_LOGIC;

           C: sortie STD_LOGIC;

           S: sortie STD_LOGIC;

           Z: sortie STD_LOGIC);

fin SUDIPTA_ROY_HALFADD;

architecture Le comportement de SUDIPTA_ROY_HALFADD est

commencer

processus (A, B)

commencer

si (A = '0' et B = '0') alors

S <= '0';

C <= '0';

elsif (A = '0' et B = '1') alors

S <= '1';

C <= '0';

elsif (A = '1' et B = '0') alors

S <= '0';

C <= '1';

d'autre

S <= '1';

C <= '1';

fin si;

processus final;

fin comportementale;

MODÉLISATION DE DATAFLOW COMPLÈTE

bibliothèque IEEE;

utilisez IEEE.STD_LOGIC_1164.ALL;

l'entité SUDIPTA_ROY_FULLADD est

    Port (A: dans STD_LOGIC;

           B: dans STD_LOGIC;

           Cin: dans STD_LOGIC;

           S: sortie STD_LOGIC;

           Voiture: sortie STD_LOGIC);

fin SUDIPTA_ROY_FULLADD ;

architecture Dataflow de SUDIPTA_ROY_FULLADD est

commencer

S <= (A xor B) xor Cin;

Voiture <= (A et B) ou (B et Cin) ou (Cin et A);

fin Dataflow;

MODÉLISATION COMPORTEMENTALE COMPLÈTE

l'entité SAERI_DATT_FULLADD est

    Port (A: dans STD_LOGIC;

           B: dans STD_LOGIC;

           Cin: dans STD_LOGIC;

           S: sortie STD_LOGIC;

           Voiture: sortie STD_LOGIC);

fin SAERI_DATT_FULLADD ;

architecture Le comportement de SAERI_DATT_FULLADD est

commencer

processus (A, B, Cin)

commencer

si (A = '0' et B = '0' et Cin = '0') alors

S <= '0';

Voiture <= '0';

elsif (A = '0' et B = '0' et Cin = '1') alors

S <= '1';

Voiture <= '0';

elsif (A = '0' et B = '1' et Cin = '0') alors

S <= '1';

Voiture <= '0';

elsif (A = '0' et B = '1' et Cin = '1') alors

S <= '0';

Voiture <= '1';

elsif (A = '1' et B = '0' et Cin = '0') alors

S <= '1';

Voiture <= '0';

elsif (A = '1' et B = '0' et Cin = '1') alors

S <= '0';

Voiture <= '1';

elsif (A = '1' et B = '1' et Cin = '0') alors

S <= '0';

Voiture <= '1';

d'autre

S <= '1';

Voiture <= '1';

 fin si;

 processus final;

 fin comportementale;