• Aucun résultat trouvé

Logique combinatoire TD2

N/A
N/A
Protected

Academic year: 2022

Partager "Logique combinatoire TD2"

Copied!
48
0
0

Texte intégral

(1)

TD2

Logique combinatoire

(2)

I – Additionneur 2 bits

somme des deux variables A et B

table de vérité du demi-additionneur :

A B C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

(3)

I – Additionneur 2 bits

additionneur complet : somme des 2 bits Aet B et de la retenue R de l'étage précédent

table de vérité

A B R S C

(4)

I – Additionneur 2 bits

additionneur complet : somme des 2 bits Aet B et de la retenue R de l'étage précédent

table de vérité

A B R S C

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

S = A BR + A BR + A BR + A BR

C A BR A BR A BR ABR

(5)

I – Additionneur 2 bits

simplification de C

C = A B + A R + B R

AB

R 00 01 11 10

0 1

1 1 1 1

(6)

I - Additionneur 2 bit

Montrer que l'on a C= A .B+ A .R + B. R

C = A.B + A.R +B.R C = A.B + A.R +B.R

= A.B. A.R .B.R

= ( A + B ) . ( A +R ) . ( B + R )

= ( A + A .R + B. A +B.R ) . (B + R )

= A .B + A .R + A .R .B + A .R +B. A + B. A . R +B.R + B.R

= A .B + A .R +B.R + A . B.R

= A .B + A .R +B.R (1+ A )

= A .B + A .R +B.R

(7)

I - Additionneur 2 bit

Montrer que l'on peut écrire S= A B R

S = A .B .R + A .B.R + A .B. R + A .B .R

= ( A B + AB) R +( A B + A B) R

= ( A ⊕ B ) R +( A ⊕ B) R

= A ⊕ B ⊕ R

(8)

I - Additionneur 2 bit

Vérifier que le circuit suivant correspond bien à un tel additionneur

S

2

S

1

S

2

= A.B. + B.R + A.R C= A.B + B.R + A.R

S

1

=R. C + B .C + A C+ A.B.R

=( A +B + R ) .C + A.B.R S = ( A + B+ R ) .C + A.B.R

= ( A + B+ R ) . ( A B +B R + A R )+ ABR

= A B R + A BR + A B R + ABR

(9)

II - Circuit à logique majoritaire

On veut réaliser un circuit à logique majoritaire sur 3

variables A, B et C : la sortie Y du circuit est à 1 si deux ou trois entrées sont à 1. Dans tous les autres cas, elle est à 0.

Ecrire la table de vérité correspondante

C B A Y

(10)

II - Circuit à logique majoritaire

On veut réaliser un circuit à logique majoritaire sur 3

variables A, B et C : la sortie Y du circuit est à 1 si deux ou trois entrées sont à 1. Dans tous les autres cas, elle est à 0.

Ecrire la table de vérité correspondante

Y = AB C + A B C + A BC + ABC

C B A Y

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

(11)

II - Circuit à logique majoritaire

Simplifier Y et donner en un diagramme logique

On utilise un tableau de Karnaugh pour simplifier l'expression

Y = A.B+ A.C + B.C

A B C

Y

AB

C 00 01 11 10

0 0 0 1 0

1 0 1 1 1

(12)

Circuit à logique majoritaire

On veut réaliser un circuit à logique majoritaire sur 4 variables A

3

, A

2

, A

1

et A

0

: la sortie Y du circuit est à 1 si

trois ou quatre entrées sont à 1. Dans tous les autres cas,

elle est à 0

(13)

Circuit à logique majoritaire

Table de vérité A

3

A

2

A

1

A

0

Y

0 0 0 0 0

0 0 0 1 0

0 0 1 0 0

0 0 1 1 0

0 1 0 0 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

1 0 0 1 0

1 0 1 0 0

1 0 1 1 1

1 1 0 0 0

1 1 0 1 1

1 1 1 0 1

1 1 1 1 1

Y = A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

(14)

Circuit à logique majoritaire

implémentation à l'aide d'un multiplexeur

0 1 2 3 4 5 6 78 9 10 11 12 13 14 15

Y

A

3

A

2

A

1

A

0

X

7

X

11

X

13

X

14

X

15

0 1

Y = A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

(15)

Circuit à logique majoritaire

comment implémenter la fonction avec un multiplexeur 8 voies ?

= A

2

A

1

A

0

+ ( A

2

A

1

A

0

+ A

2

A

1

A

0

+ A

2

A

1

A

0

) A

3

0 1 2 3 4 5 6 7

Y

A

2

A

1

A

0

X

7

X

3

X

5

X

6

A

3

0

1

Y = A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

+ A

3

A

2

A

1

A

0

(16)

Transcodeur pour afficheur

Avec 7 segments on peut afficher les 16 chiffres hexadécimaux.

On souhaite réaliser un transcodeur permettant d'afficher ces chiffres à partir de leur représentation binaire : 4 bits

b0, b1, b2 et b3 correspondants aux symboles 0 à F

Les segments sont repérés de la manière suivante :

Par convention, un segment est allumé s'il est dans l'état 0 et éteint s'il est dans l'état 1

a g d c

b f

e

(17)

Transcodeur pour afficheur

écrire la table de vérité de ce transcodeur

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

(18)

Transcodeur pour afficheur

écrire la table de vérité de ce transcodeur

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

a g d c

b f

e

(19)

P. Pangaud Département d'Informatique TD Logique combinatoire 19

Transcodeur pour afficheur

écrire la table de vérité de ce transcodeur

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1 1 1 1 1 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

a g d c

b f

e a g d c

b f

e

(20)

Transcodeur pour afficheur

écrire la table de vérité de ce transcodeur

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1 1 1 1 1 1

2 0 0 1 0 1 1

3 0 0 1 1 1 1

4 0 1 0 0 1 1 1

5 0 1 0 1 1 1

6 0 1 1 0 1

7 0 1 1 1 1 1 1 1

8 1 0 0 0

9 1 0 0 1 1

A 1 0 1 0 1

B 1 0 1 1 1 1

C 1 1 0 0 1 1 1

D 1 1 0 1 1 1

(21)

Transcodeur pour afficheur

donner les expressions logiques définissant les 7 sorties à partir des 4 entrées

on va écrire les tables de Karnaugh pour chacune des

tables de vérité donnant a, b, c, d, e, f et g

(22)

Transcodeur pour afficheur

segment a

a = b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01 1 1

11 1

10

(23)

Transcodeur pour afficheur

segment b

b = b

3

b

2

b

0

+ b

2

b

1

b

0

+ b

3

b

1

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01 1

11 1 1

10 1 1

(24)

Transcodeur pour afficheur

segment c

c=b

3

b

2

b

1

+ b

3

b

2

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01

11 1

10 1 1

(25)

Transcodeur pour afficheur

segment d

d = b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01 1

11 1 1

10 1

(26)

Transcodeur pour afficheur

segment e

e=b

3

b

0

+ b

2

b

1

b

0

+ b

3

b

2

b

1

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01 1 1 1

11 1 1

10

(27)

Transcodeur pour afficheur

segment f

f =b

3

b

2

b

0

+ b

3

b

2

b

1

+ b

3

b

1

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00

01 1 1

11 1 1

10 1

(28)

Transcodeur pour afficheur

segment g

g=b

3

b

2

b

1

+ b

3

b

2

b

1

b

0

+ b

3

b

3

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1 1

01 1

11 1

10

(29)

b3 b2 b1 b0

a

g f

e d c b

(30)

Transcodeur pour afficheur

Que se passerait-il si, au lieu de vouloir afficher les 16

chiffres hexadécimaux, on voulait n'afficher que les 10

chiffres décimaux ?

(31)

Transcodeur pour afficheur

Que se passerait- il si, au lieu de

vouloir afficher les 16 chiffres

hexadécimaux, on voulait n'afficher que les 10 chiffres décimaux ?

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1 1 1 1 1 1

2 0 0 1 0 1 1

3 0 0 1 1 1 1

4 0 1 0 0 1 1 1

5 0 1 0 1 1 1

6 0 1 1 0 1

7 0 1 1 1 1 1 1 1

8 1 0 0 0

9 1 0 0 1 1

A 1 0 1 0 1

B 1 0 1 1 1 1

C 1 1 0 0 1 1 1

D 1 1 0 1 1 1

E 1 1 1 0 1 1

F 1 1 1 1 1 1 1

(32)

Transcodeur pour afficheur

Que se passerait- il si, au lieu de

vouloir afficher les 16 chiffres

hexadécimaux, on voulait n'afficher que les 10 chiffres décimaux ?

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1 1 1 1 1 1

2 0 0 1 0 1 1

3 0 0 1 1 1 1

4 0 1 0 0 1 1 1

5 0 1 0 1 1 1

6 0 1 1 0 1

7 0 1 1 1 1 1 1 1

8 1 0 0 0

9 1 0 0 1 1

A 1 0 1 0 1

B 1 0 1 1 1 1

C 1 1 0 0 1 1 1

D 1 1 0 1 1 1

E 1 1 1 0 1 1

(33)

Transcodeur pour afficheur

Que se passerait- il si, au lieu de

vouloir afficher les 16 chiffres

hexadécimaux, on voulait n'afficher que les 10 chiffres décimaux ?

b3 b2 b1 b0 g f e d c b a

0 0 0 0 0 1

1 0 0 0 1 1 1 1 1 1

2 0 0 1 0 1 1

3 0 0 1 1 1 1

4 0 1 0 0 1 1 1

5 0 1 0 1 1 1

6 0 1 1 0 1

7 0 1 1 1 1 1 1 1

8 1 0 0 0

9 1 0 0 1 1

A 1 0 1 0 X X X X X X X

B 1 0 1 1 X X X X X X X

C 1 1 0 0 X X X X X X X

D 1 1 0 1 X X X X X X X

E 1 1 1 0 X X X X X X X

F 1 1 1 1 X X X X X X X

(34)

Transcodeur pour afficheur

segment a

a = b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1

01 1 1

11 1

10

(35)

Transcodeur pour afficheur

segment a

au lieu de

a = b

3

b

2

b

1

b

0

+ b

2

b

1

b

0

b

3

b

2

b

1

b

0

00 01 11 10

00 1 x

01 1 x

11 x x

10 x x

a = b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

+b

3

b

2

b

1

b

0

+ b

3

b

2

b

1

b

0

(36)

Transcodeur pour afficheur

segment e

au lieu de e = b

0

+ b

2

b

1

b

3

b

2

b

1

b

0

00 01 11 10

00 1 x

01 1 1 x 1

11 1 1 x x

10 x x

e=b

3

b

0

+ b

2

b

1

b

0

+ b

3

b

2

b

1

(37)

Circuit comparateur

but du circuit : comparer des nombres

codés sur 4 bits

codés sur des multiples de 4 bits

(38)

Circuit comparateur

A B A<B A=B A>B

Table de vérité de la comparaison de 2 bits

(39)

Circuit comparateur

A B A<B A=B A>B

0 0 0 1 0

0 1 1 0 0

1 0 0 0 1

1 1 0 1 0

( A < B) = A . B

( A =B ) = A . B+ A . B = A ⊕ B = ( A > B)+( A < B ) ( A > B) = A. B

Table de vérité de la comparaison de 2 bits

(40)

Circuit comparateur

A

B A>B

A=B

A<B

(41)

Circuit comparateur

Equations logiques pour comparer deux nombres A et B codés sur 4 bits (a

3

, a

2

, a

1

, a

0

) et (b

3

, b

2

, b

1

, b

0

)

(A=B)

(A>B)

(A<B)

≡ ( a

3

= b

3

) . ( a

2

=b

2

) . ( a

1

=b

1

) . ( a

0

=b

0

)

≡ ( a

3

> b

3

) +(a

3

=b

3

) . (a

2

>b

2

)

+(a

3

=b

3

) . ( a

2

=b

2

) . (a

1

> b

1

)

+(a

3

=b

3

) . ( a

2

=b

2

) . (a

1

=b

1

) . ( a

0

> b

0

)

≡ ( a

3

< b

3

) +(a

3

=b

3

) . ( a

2

<b

2

)

+(a

3

=b

3

) . ( a

2

=b

2

) . (a

1

< b

1

)

+(a

3

=b

3

) . ( a

2

=b

2

) . (a

1

=b

1

) . ( a

0

< b

0

)

(42)

Circuit comparateur

13

12

11

10

23

22

21

20

31

32 33 34 35 36 a

3

b

3

a

2

b

2

a

1

b

1

a

0

b

0

A

-1

< B

-1

A

-1

= B

-1

A

-1

> B

-1

A<B

A=B

A>B

(43)

13

12

11

10

23

22

21

20

31

32 33 34 35 36 a

3

b

3

a

2

b

2

a

1

b

1

a

0

b

0

A

-1

< B

-1

A

-1

= B

-1

A

-1

> B

-1

A<B A=B A>B

Circuit comparateur

S

1k

=a

k

+ b

k

S

2k

=( a

k

+b

k

) .b

k

+(a

k

+ b

k

) . a

k

= a

k

⊕ b

k

(44)

13

12

11

10

23

22

21

20

31

32 33 34 35 36 a

3

b

3

a

2

b

2

a

1

b

1

a

0

b

0

A

-1

< B

-1

A

-1

= B

-1

A

-1

> B

-1

A<B A=B A>B

Circuit comparateur

S

1k

=a

k

+ b

k

S

2k

=( a

k

=b

k

)

(45)

Circuit comparateur

S

31

S

32

S

33

S

34

S

35

S

36

= b

3

. ( a

3

+b

3

)

= (a

3

<b

3

)

= a

3

b

3

= b

2

. ( a

2

+ b

2

) . ( a

3

=b

3

)

= (a

2

< b

2

) . ( a

3

=b

3

)

= b

1

. ( a

1

+ b

1

) . ( a

2

=b

2

) . ( a

3

=b

3

)

= (a

1

< b

1

) . ( a

2

=b

2

) . ( a

3

=b

3

)

= b

0

. ( a

0

+ b

0

) . ( a

1

=b

1

) . ( a

2

=b

2

) . ( a

3

=b

3

)

= (a

0

< b

0

) . ( a

1

=b

1

) . ( a

2

=b

2

) . ( a

3

=b

3

)

= ( A

−1

< B

−1

) . ( a

0

=b

0

) . ( a

1

=b

1

) . ( a

2

=b

2

) . (a

3

=b

3

)

= ( A

−1

=B

−1

) . ( a

0

=b

0

) . ( a

1

=b

1

) . (a

2

=b

2

) . ( a

3

=b

3

)

= ( A =B )

(46)

Circuit comparateur

S

5

de même

S

6

= S

36

= (A=B)

S

7

= (A<B)

= S

31

.S

32

. S

33

.S

34

.S

35

.S

36

= S

31

+ S

32

+S

33

+S

34

+ S

35

+ S

36

= ( A ≤B )

= ( A > B )

(47)

Circuit barillet

On souhaite synthétiser un circuit sur 4 bits nommé "Barrel Shifter". Ce circuit possède 4 entrées de données (I[0:3]) et 4 sorties de données (O[0:3]). La fonction de ce circuit est de mettre les 4 entrées en

communication avec les 4 sorties, et ce, en respectant un décalage, lui- même commandé par 2 entrées de commande S[0:1].

S

1

S

0

O

3

O

2

O

1

O

0

00 I

3

I

2

I

1

I

0

01 I

0

I

3

I

2

I

1

10 I

1

I

0

I

3

I

2

11 I

2

I

1

I

0

I

3

(48)

Circuit barillet

S

1

S

0

O

3

O

2

O

1

O

0

00 I

3

I

2

I

1

I

0

01 I

0

I

3

I

2

I

1

10 I

1

I

0

I

3

I

2

11 I

2

I

1

I

0

I

3

S

1

O

3

O

2

O

1

O

0

0 I

3

+I

0

I

2

+I

3

I

1

+I

2

I

0

+I

1

1 I

1

+I

2

I

0

+I

1

I

3

+I

0

I

2

+I

3

M

ij

= I

i

+ I

j

S

1

O

3

O

2

O

1

O

0

0 M

30

M

23

M

12

M

01

1 M

12

M

01

M

30

M

23

S

0

M

30

M

23

M

12

M

01

0 I

3

I

2

I

1

I

0

1 I

0

I

3

I

2

I

1

O0

O1

O2

O3 M01

M12

M23

M30 I0

I1

I2

I3

S0 S1

0 1

0 1

0 1

0 1

0 1

0 1

0 1

0 1

Références

Documents relatifs

Le point virgule permet d’écrire plusieurs instructions sur la même ligne,. Il supprime

Cette société établit des factures numérotées (en incrémentant partant de 1 et en réinitialisant à 1 le 1er janvier de chaque année) et datées, comprenant le

l'affichage d'une facture en saisissant son numéro ainsi que le mode d'affichage voulu (à l'écran ou dans un fichier texte). 2) Dans ce système de facturation, on souhaite ajouter

La fonction de ce circuit est de mettre les 4 entrées en communication avec les 4 sorties, et ce, en respectant un décalage, lui-même commandé par 2 entrées de

Il est commode d’indiquer, sous forme de tables, de valeurs les variables soumises aux opérateurs et ce pour toutes les combinaisons possibles des valeurs de ces variables. Ces

• d’un bouton poussoir b situé sur le tableau de bord du chauffeur lui permettant de demander l’ouverture de la porte avant pour la montée des passagers. • d’un

• il y a des voitures dans l'une des deux voies, ou les deux, de la route secondaire et quand il y a au maximum une seule voie de l'axe principal occupée par des voitures.. La

• il y a des voitures dans l'une des deux voies, ou les deux, de la route secondaire et quand il y a au maximum une seule voie de l'axe principal occupée par des voitures.. La