Réalisez un comparateur



Vous connaissez maintenant les bases des circuits arithmétiques. Dans cette deuxième partie, nous allons poursuivre avec l'implémentation des fonctions comparateur, multiplexeur et démultiplexeur à l'aide de DSCH.

Comparateur à un bit

La table de vérité et le schéma de principe du comparateur élémentaire sont donnés ci-dessous. L'égalité A = B est construite à l'aide d'une porte XNOR et A> BA <B  sont des opérateurs à base d'inverseurs et de portes ET.

Table de vérité des fonctions A=B, aB             

Table de vérité des fonctions A>B, A<B et A=B

Schéma de principe du comparateur élémentaire             

Schéma de principe du comparateur élémentaire


Comparateur à n bits

Le circuit logique pour la comparaison élémentaire de deux valeurs binaires est très simple. Par contre, la généralisation à n bits pose plusieurs problèmes :

  • l'égalité A=B n'est validée que si toutes les valeurs élémentaires A[i] sont équivalentes à B[i], ce qui passe nécessairement par une fonction ET à n entrées ;

  • De même, A<B ou A>B n'ont pas une traduction simple, leur implémentation est assez complexe à généraliser à n bits.

Une technique simple de comparaison à n bits repose sur l'utilisation de circuits additionneurs. Dans le schéma ci-dessous, le système additionneur déjà utilisé pour l'addition n bits ou la soustraction n bits est modifié en un système de comparaison, en calculant la fonction booléenne A–B. L’opérateur «égal» (sortie AequalB) est construit à l’aide de fonctions AND à deux entrées, connectées en cascade sur la droite de la figure. Chaque étage de comparaison se compose donc d'un additionneur complet, d'un inverseur et d'une porte ET. La dernière retenue correspond à A>B (sortie utilisation de circuits additionneurs). 


En résumé :

 

AqualB

AGreaterThanB

A=B

1

0

A>B

0

1

A<B

0 0

Comparateur à 4 bits - Circuit de comparaison basé sur des additionneurs                 

Comparateur à 4 bits - Circuit de comparaison basé sur des additionneurs 

Exemples de comparaisons en utilisant le comparateur 4 bits

Le détail des étapes de calcul de A>B avec par exemple A=5 (0b0101) et B=4 (0b0100) est donné dans le tableau ci-dessous.

La retenue de poids fort correspond à A>B, tandis que la combinaison de toutes les sommes par un opérateur AND correspond à A=B.

Détail du calcul de la comparaison des nombres 5 et 4             

Détail du calcul de la comparaison des nombres 5 et 4

Nous donnons ci-après le détail du calcul pour A=6 (0b0110) et B=6 (0b0110).

Détail de la comparaison de A et B, pour A=6 et B=6             

Détail de la comparaison de A et B, pour A=6 et B=6

Dans ce chapitre, vous avez découvert une des fonctions essentielles du calcul qui est de pouvoir évaluer si deux nombres sont égaux ou si l’un est supérieur ou inférieur à l’autre. Vous avez conçu des comparateurs de valeurs booléennes puis de nombres entiers.

Dans le chapitre qui suit, vous allez découvrir comment réaliser un circuit permettant de sélectionner une information parmi un ensemble d’informations disponibles. Il s'agit d'un multiplexeur.


Modifié le: samedi 28 décembre 2019, 13:42