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.
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> B, A <B sont des opérateurs à base d'inverseurs et de portes ET.
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 |
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.
Nous donnons ci-après le détail du calcul pour A=6 (0b0110) et B=6 (0b0110).
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.