Circuits combinatoires

Un circuit combinatoire est un circuit ayant plusieurs variables d'entrées et plusieurs fonctions de sortie.

1. Additionneur Complet à 1 bit :

On veut additionner deux nombres binaires X et Y sur n bits :

X = (xnxn-1 --- x2x1)2

Y = (ynyn-1 --- y2y1)2

Etape 1 :

Pour cela, on va réaliser un circuit combinatoire capable d'additionner xi et yi en prenant en considération la retenue ri-1 obtenue de l'addition de la colonne précédente i-1. On obtient alors l'addition zi et une nouvelle retenue Ri.

Table de vérité :

On posera A= xi, B=yi et C= ri-1. En sortie, on posera S=zi et R= Ri.

Simplification des fonctions par des tableaux de Karnaught :

Circuit logique :

Etape 2:

Nous avons réalisé le circuit combinatoire qui permet d'additionner xi et yi de la colonne i.

Pour additionner X et Y sur n bits, nous allons lier n circuits comme celui réalisé ci-dessus, de la façon suivante :

2. Décodeur n x 2n :

Un décodeur est un circuit combinatoire ayant n variables d'entrée et 2n fonctions de sortie. Pour chaque combinaison d'entrée, une seule fonction de sortie est égale à 1. Les autres sont alors égales à 0.

Table de vérité pour un Dec 1x2

a S0 S1
0 1 0
1 0 1

Table de vérité pour un Dec 2x4

a b S0 S1 S2 S3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

Circuit logique du Dec 2x4:

Une entrée Activation (Act) est toujours ajoutée au décodeur de telle sorte que si Act=1 le décodeur fonctionne normalement (Décodeur Activé), et si Act=0, toutes les sorties du décodeur sont à 0 (Décodeur Désactivé).

Grâce à l'entrée Activation, on peut combiner des décodeurs de degré n pour former des décodeurs de degrés supérieurs.

Exemple :

Réaliser un décodeur 3 x 8 avec 2 Dec 2x4 :

a b c d1 d2 d3 d4 d5 d6 d7 d8
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1

Cette table de vérité peut être écrite comme suit :

a b c d11 d12 d13 d14 d21 d22 d23 d24
0 0 0 1 0 0 0  
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
1 0 0   1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

D'où le circuit :


3. Multiplexeur n x 1 :

Un multiplexeur est un circuit combinatoire ayant 2n variables d'entrée, n variables de controle et une seule fonction de sortie. Pour chaque combinaison des variables de contrôle, une des entrées est acheminée à la seule fonction de sortie.

Table de vérité pour un Mux 2x1

a e0 e1 S
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

ou bien

a S
0 e0
1 e1

C'est à dire que :

       _
S = a . e0 + a . e1

Table de vérité pour un Mux 4x1

a b S
0 0 e0
0 1 e1
1 0 e2
1 1 e3

C'est à dire que :

       _  _           _                   _
S = a . b . e0 + a . b . e1 + a . b . e2 + a . b . e3

Circuit logique du Mux 4x1:

Une entrée Activation (Act) est également ajoutée au multiplexeur de telle sorte que si Act=1 le multiplexeur fonctionne normalement (multiplexeur activé), et si Act=0, la sortie du multiplexeur est à 0 (multiplexeur désactivé).

Grâce à l'entrée Activation, on peut combiner des multiplexeurs de degré n pour former des multiplexeurs de degrés supérieurs.

Exemple :

Réaliser un Mux 8x1 avec 2 Mux 4x1 :

Réaliser une fonction de n variables avec un Mux n x 1:

Le circuit est obtenu en respectant les étapes suivantes :

- Appliquer les n variables d'entrée comme des variables de contrôle du Mux n x 1

- Appliquer les valeurs de vérité de la fonction à l'entrée du Mux n x 1

- Mettre l'entrée Activation à 1.

Exemple : n = 3

a b c F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0

Circuit logique :

4. Démultiplexeur nx1 :

Un démultiplexeur nx1 est un circuit combinatoire ayant 1 seule variable d'entrée, n variables de controle et 2n fonctions de sortie. Pour chaque combinaison des variables de contrôle, l'entrée est acheminée à une des fonctions de sortie. Remarquer qu'un Démux 1xn fonctionne en opposé à un Mux nx1.

Table de vérité pour un Démux 2x1

a S0 S1
0 e 0
1 0 e

        _
S0 = a . e

S1 = a . e

Table de vérité pour un Démux 4x1 :

a b S0 S1 S2 S3
0 0 e 0 0 0
0 1 0 e 0 0
1 0 0 0 e 0
1 1 0 0 0 e

         _  _
S0 = a . b . e
        _
S1 = a . b . e
             _
S2 = a . b . e
S3 = a . b . e

Circuit logique du Démux 1x4 :