Td02

12
Question 1 Vous avez 2 signaux d’entrée A et B qui sont tous deux d’une largeur de 4 bits et un signal de sortie S qui est également de largeur de 4 bits. Ils représentent des chiffres en binaire naturel. En n’utilisant que des comparateurs 1 bit et multiplexeur à deux entrées, réalisez la fonction suivante : Si A > B : S = A Si B > A : S = B Si A = B : S = A + B (OU binaire, donc ce n’est PAS une addition) Voici les composants que vous avez exclusivement le droit d’utiliser. Vous pouvez utiliser les valeurs constantes 0 et 1. b i a i Indice : Bien que vous n’aillez pas droit à des portes logiques, il est possible de faire l’équivalent d’une porte logique à deux entrées avec un multiplexeur à deux entrées. Vous pouvez donc faire une première solution qui utilise des portes logiques à deux entrées et ensuite définir comment ces portes sont réalisées avec des multiplexeurs à deux entrées. Multiplexeur S I S 1 S 0 P i G i E i COMPARATEUR (UN BIT) P i+1 G i+1 E i+1 1

Transcript of Td02

Page 1: Td02

Question 1 Vous avez 2 signaux d’entrée A et B qui sont tous deux d’une largeur de 4 bits et un signal de sortie S qui est également de largeur de 4 bits. Ils représentent des chiffres en binaire naturel. En n’utilisant que des comparateurs 1 bit et multiplexeur à deux entrées, réalisez la fonction suivante :

Si A > B : S = A Si B > A : S = B Si A = B : S = A + B (OU binaire, donc ce n’est PAS une addition)

Voici les composants que vous avez exclusivement le droit d’utiliser. Vous pouvez utiliser les valeurs constantes 0 et 1.

bi ai Indice : Bien que vous n’aillez pas droit à des portes logiques, il est possible de faire l’équivalent d’une porte logique à deux entrées avec un multiplexeur à deux entrées. Vous pouvez donc faire une première solution qui utilise des portes logiques à deux entrées et ensuite définir comment ces portes sont réalisées avec des multiplexeurs à deux entrées.

Multiplexeur

S

I

S1 S0

Pi

Gi

Ei

COMPARATEUR (UN BIT) Pi+1

Gi+1

Ei+1

1

Page 2: Td02

Question 2 Voici le circuit d’un additionneur 1 bit :

s

r

ri-1

b a

Réalisez un circuit équivalent, mais en n’utilisant que des multiplexeurs à deux entrées (vous pouvez utilisez des constantes 0 et 1 également) :

Multiplexeur

S

I

S1 S0

2

Page 3: Td02

Question 3 Vous avez 2 signaux d’entrée A et B qui sont tous deux d’une largeur de 4 bits et un signal de sortie S qui est également de largeur de 4 bits. Ils représentent des chiffres en binaire naturel. En n’utilisant que des comparateurs 1 bit, additionneur 1 bit et ou exclusif, réalisez la fonction suivante :

Si A >= B : S = A + B Si B > A : S = A - B

Voici les composants que vous avez exclusivement le droit d’utiliser. Vous pouvez utiliser les valeurs constantes 0 et 1.

bi ai

Σ

ai bi

ri

Pi

Gi

Ei

COMPARATEUR (UN BIT) Pi+1

Gi+1

Ei+1

ri+1 si

3

Page 4: Td02

Question 4 Vous devez réaliser un contrôleur qui achemine des messages de 2 bits ayant différentes priorités. Il existe trois entrées de messages : S1[1..0], S2[1..0] et S3[1..0], du plus prioritaire au moins prioritaire. Un signal est également associé à chaque message d’entrée pour afficher si un message est disponible : SD1, SD2 et SD3. a) Acheminez le message le plus important à la sortie O[1..0] en utilisant exclusivement un encodeur de priorité et un multiplexeur. Lorsque aucun message est disponible, la sortie prend la valeur 0. b) Trois signaux à la sortie du circuit (A1, A2 et A3) permettent d’afficher quel message a été transmis.

• Lorsque le message S1 est transmis, A1A2A3 prend la valeur 100 • Lorsque le message S2 est transmis, A1A2A3 prend la valeur 010 • Lorsque le message S3 est transmis, A1A2A3 prend la valeur 001 • Lorsque aucun message est transmis, A1A2A3 prend la valeur 000

Ajoutez un démultiplexeur au circuit de a) pour effectuer cette fonction

4

Page 5: Td02

Question 5 Effectuez cette équation logique avec un ROM : S = A (B xor C) (xor = ou exclusif) Voici la structure d’un ROM : a0

a1

ADRES

an-1

dk-1

d1

d0

m2 m1 m0

DONNÉE

2 1nm−

5

Page 6: Td02

Question 6 En utilisant un convertisseur 3 bits à 8 lignes (décodeur) et un portes logiques à entrées illimitées par fonction (il y a deux fonctions à réaliser, donc vous avez droit à deux portes logiques), réalisez les fonctions suivantes :

i) S1 = AB’C + A’B’C + ABC ii) S2 = (A’+B’+C’)(A+B+C)(A’+B’+C)(A+B’+C’)

Question 7 Démultiplexeurs et aléas Vous êtes chargé de concevoir le circuit de contrôle pour une système de missiles intercontinentales (ICBMs). Il-y-a 16 missiles à contrôler. Quand une missile reçoit logique-1, elle est envoyée vers son cible. L'interface usager consiste de deux entrées. Il-y-a un sélectionneur de missile/cible qui sort un code binaire de 4-bits, et il-y-a un gros bouton rouge qui sort logique-1 quand c'est dépressé. Évidemment, quand un général de quatres étoiles dépresse le bouton, le missile sélectionnée devrait être lancé. a) Implémentez ce système en n'utilisant que cinq démultiplexeurs 1x4 (c'est a dire des DEMUX à quatres sorties). b) Implémentez ce système en utilisant des portes logiques, mais assurez vous que le système n'a pas d'aléas ! Question 8 Encodeurs et décodeurs Concevez un décodeur qui transforme le code Gray en ASCII. C'est a dire que ça transforme (0000)2 à (1000000)2, (0001)2 à (1000001)2, etc... Pour les codes de Gray qui représentent de 10 à 15 en binaire, ça doit sortir les lettres majuscules de A à F en ASCII. Vous pouvez trouver une table de codes ASCII dans votre texte (p. 47) ou sur www.asciitable.com. Le code de Gray se retrouve sur p. 45.

6

Page 7: Td02

Question 9 Multiplexeurs Implémentez la fonction suivante en ne se servant que d'un MUX 2x1 (vous avez droit aux entrées et leurs inverses) :

a b c s

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Question 10 Additionneurs et soustracteurs Transformez l'additionneur suivant en additionneur/soustracteur en n'utilisant que 4 portes OU-exclusif (OUX) à deux entrées. Créez une entrée supplémentaire qui s'appelle Add/Sub : quand cette entrée est logique-0, le circuit devrait faire l'addition, et quand c'est logique-1, le circuit devrait faire le soustraction. N'oubliez pas que soustraire c'est la même chose que additionner – mais avec le complément à deux d'une terme. N'oubliez pas que faire le complément à deux ne prend que deux étapes faciles à implémenter en circuits logiques !

7

Page 8: Td02

Question 11 Un additionneur "itératif" BCD Soient A et B deux mots de 4 bits. Supposons que A et B représentent les chiffres de 0 à 9 selon la convention du code BCD 8421, telle que présentée à la table ci-dessous : Chiffre Représentation 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

Tableau 11.a, code BCD 8421 Nous allons concevoir un circuit permettant l’addition des mots A et B de quatre bits (a3a2a1a0 et b3b2b1b0 respectivement) et de produire un résultat sur 5 bit, où les quatre bits les moins significatifs représenteront le mot K (k3k2k1k0) résultant de l’addition, et le dernier représentera la retenue, notée y. Les nombres A, B et K sont en format BCD. Tel que présenté au tableau suivant. Notons que les mots A, B et K sont représentés en BCD: A+B=K 0 1 2 3 4 5 6 7 8 9

0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8

Tableau 11.b, Addition A+B=C en chiffres (C est représenté en format BCD) A+B=>r 0 1 2 3 4 5 6 7 8 9

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1

Tableau 11.c, Obtention de la retenue pour l’addition de A et B

8

Page 9: Td02

Il serait illusoire d’essayer de dessiner une table de vérité pour l’ensemble de ces cas (il y en a 100, et si nous considérions la symétrie de A et B, il en resterait quand même 55). Nous allons plutôt procéder en utilisant des circuits usuels. Supposons que nous additionnions les nombres A et B avec un additionneur 4 bits dont voici le schéma général1 :

Fig 11.a additionneur générique

Où C est le résultat de l’addition sur 4 bits (c3c2c1c0), et r la retenue. Cette addition ne représente pas le nombre C en format BCD, mais elle permet de simplifier le traitement. Il suffit en effet d’ajouter un circuit qui convertit les cinq signaux r, c3, c2, c1 et c0 en y, k3, k2, k1 et k0. Ce circuit à concevoir peut être schématisé par le bloc représentatif suivant :

Convertisseur BCD avec retenue

4

Ky

4

Cr

Fig 11.b circuit de conversion BCD avec retenue

1 Lorsqu’une entrée ou sortie présente une barre, celle-ci signifie qu’il s’agit d’un ensemble de fils (souvent appelé bus) dont le nombre est écrit à côté.

9

Page 10: Td02

11.1) Dessinez la table de vérité associant les entrées C et r aux entrées K et y (cinq bits de chaque côté de la table) Réponse :

r c3 c2 c1 c0 y k3 k2 k1 k0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 - - - - - - - 1 1 - - - - - - - -

Tableau 11.s.a, Obtention de la retenue pour l’addition de A et B 11.2) Que pouvez vous dire des cas où le résultat y vaut 0? Réponse : r = y, C = K 11.3) Que pouvez-vous dire lorsque y vaut 1 (indice : il suffit d’ajouter une constante à C) Réponse : Il suffit d’ajouter la constante 6 (0110) à C pour obtenir y et K

10

Page 11: Td02

11.4) Trouvez l’équation (en produit de sommes) donnant y en fonction des bits de C et r (note : y est indépendant de c0): Réponse : Puisque y est indépendant de c0, il suffit d’écrire une table de Karnaugh à 4 variables (r, c3, c2, c1).

y c2c1 00 01 10 11 00 0 0 0 0

01 0 1 1 1 rc3 11 - - - - 10 1 1 - -

y = (r+c3)(r+c2+c1) 11.5) A l’aide de tout ce qui précède, réalisez le circuit de la figure 11.b Question 12 Comparateur itératif à rebours Nous avons présenté dans le cours la conception d’un comparateur de deux mots de 4 bits représentant des entiers binaires. En suivant la même démarche que celle du cours, réalisez un comparateur avec des cellules qui comparent à rebours, de sorte que votre circuit respecte le schéma suivant :

Sachant que ce circuits est constitué des 4 cellules itératives suivant ce schéma :

11

Page 12: Td02

Où les Ce i , Cg i et Cp i sont des signaux pour encoder la réponse de l’étage i respectant les trois cas présentés à la table suivante :

Signification Cei Cgi Cpi

Égalité 1 0 0 A plus grand que B 0 1 0 A plus petit que B 0 0 1

La combinaison des trois signaux ne peut prendre d’autre valeur. Notons finalement que Ce4, Cg4 et Cp4 valent respectivement 1, 0 et 0. Essayez de répondre sans utiliser aucune table de Karnaugh (note : il est possible d’utiliser plusieurs mux à 2 entrées et 1 signal de contrôle) ? Question 13 Additionneur 4 bits Expliquer pourquoi le XOR (dont la sortie est notée d) se trouvant à la fin du circuit d'addition suivant sert à la détection du débordement :

Σ Σ Σ Σ

a0

b0

a1

b1

a2

b2bn-1

an-1

rn-1 r3

s0s1s2sn-1rn

r0

r2 r1

0 , addition1 , soustraction

c⎧

= ⎨⎩

d

détection de débordement

12