• Aucun résultat trouvé

Chapitre I Circuits logiques num´eriques : une r´evision

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre I Circuits logiques num´eriques : une r´evision"

Copied!
46
0
0

Texte intégral

(1)

Chapitre I

Circuits logiques num´ eriques : une r´ evision

(2)

Ordinateurs Num´ eriques: Notions de base et D´ efinitions

Architecture d’ordinateur: Lorsque l’on parle de l’architecture d’un ordinateur, on se r´ef`ere `a la structure et au comportement de cet ordinateur, du point de vue de l’utilisateur. Ceci inclut les formats de l’information, l’ensemble des instructions, et les techniques d’adressage.

Conception architecturale d’ordinateur: Une conception architecturale d’ordinateur est centr´ee sur les sp´ecifications des diff´erents modules fonctionnels, tels que les processeurs et les m´emoires, ainsi que leur structure commune au sein d’un syst`eme informatique.

programme: Un programme est une s´equence d’instructions destin´ees `a un ordinateur.

(3)

Mat´eriel informatique (Hardware):La partie mat´erielle (hardware) d’un ordinateur typique se divise habituellement en trois composantes majeures:

(i) L’unit´e centrale (CPU), qui comprend une unit´e arithm´etique et logique (ALU) pour la manipulation des donn´ees, des registres pour le rangement temporaire des donn´ees, et des circuits de contrˆole pour aller chercher et ex´ecuter les instructions de la machine (machine instructions).

(ii) La m´emoire vive (Random Access Memory, ou RAM), pour le rangement des instructions de la machine et les donn´ees.

(iii) Le processeur d’entr´ees / sorties (IOP), dont la tache consiste `a communiquer et `a contrˆoler le flot d’informations entre l’ordinateur et le monde ext´erieur.

(4)

Conception d’ordinateur: Lorsque les sp´ecifications de l’ordinateur sont formul´ees, il s’agit de d´evelopper le mat´eriel approprie pour le syst`eme. Pour la conception d’un ordinateur, il faut d´eterminerquelmat´eriel devrait ˆetre utilis´e pour le syst`eme, etcommentses composantes seront interconnect´ees.

(5)

Les Portes Logiques

(6)

Alg` ebre Bool´ eenne

(1) x+ 0 =x (2) x·0 = 0

(3) x+ 1 = 1 (4) x·1 =x

(5) x+x=x (6) x·x=x

(7) x+x0= 1 (8) x·x0= 0

(9) x+y=y+x (10) xy=yx

(11) x+ (y+z) = (x+y) +z (12) x(yz) = (xy)z

(13) x(y+z) =xy+xz (14) x+ (yz) = (x+y)(x+z) (15) (x+y)0=x0y0 (16) (xy)0=x0+y0

(17) (x0)0=x

Table 1:Identit´es de base de l’alg`ebre bool´eenne

(7)

Theorem 1 (Th´eor`eme de DeMorgan).

Les identit´es (15) et (16) de la Table 1 repr´esentent le th´eor`eme de DeMorgan.

Le th´eor`eme affirme que:

Une porte NON-OU (NOR) qui impl´emente l’op´eration (x+y)0est ´equivalente `ax0y0.

⇒Ceci implique qu’une porte NON-OU poss`ede deux symboles diff´erents, mais´equivalents:

Une porte NON-ET (NAND) qui impl´emente (xy)0est ´equivalente `a (x0+y0).

⇒Par cons´equent, une porte NON-ET poss`ede deux symboles diff´erents mais´equivalents:

(8)

Compl´ ement d’une fonction

Dans une table de v´erit´e, le compl´ement de la fonction bool´eenneF s’obtient en interchangeant les 0 et les 1 dans les valeurs deF.

Theorem 2 (Th´eor`eme de DeMorgan—Forme g´en´erale).

(x1+x2+· · ·+xn)0=x10x20· · ·xn0 (x1x2. . .xn)0=x10+x20+· · ·+xn0

A partir de son expression bool´eenne ou de son circuit logique, on peut obtenir le compl´ement d’une fonction bool´eenne en:

changeant les portes/op´erations OU en des portes/op´erations ET, changeant les portes/op´erations ET en des portes/op´erations OU, et en compl´ementant/inversant chaque variable/entr´ee bool´eenne.

Example 3.

Trouvons l’inverse deF=AB+C0D0+B0D. F0= (AB+C0D0+B0D)0

= (AB)0·(C0D0)0·(B0D)0 (en appliquant le th´eor`eme de DeMorgan)

= (A0+B0)·(C+D)·(B+D0) (aussi en appliquant le th´eor`eme de DeMorgan)

(9)

Tables de Simplification

Les expressions bool´eennes sont souvent simplifi´ees grˆace `a des tables de Karnaugh (tables-K, ou K-maps)

Les tables-K ont la forme suivante:

F(A,B) :

0 1

2 3

A

B

F(A,B,C) :

0 1

2 3

4 5

6 7

A

B

C

(a) Une table a deux variable (b) Une table a trois variables

(10)

F(A,B,C,D) :

0 1

2 3

4 5

6 7

8 9

10 11

12 13

14

A 15

B

C

D

(c) Une table a quatre variables

(11)

Lorsque le bord d’une table (colonne et/ou ligne) comporte 4 entr´ees ou plus, il faut noter la s´equence des combinaisons des variables ainsi : 00 01 11 10{au plusun bit qui diff`ere entre deux entr´ees adjacentes}

On peut s’imaginer une table-K comme une “sph`ere”: ses coins et ses bords se “touchent”.

Chaque combinaison de variables dans une table de v´erit´e ou dans une table-K s’appelle un minterm(terme anglo-saxon). Chaque minterm est marqu´e d’un petit num´ero dans chacune des cases des tables-K pr´esent´ees ci-dessus.

Par exemple, la combinaisonABCD= 0100 correspond au minterm 4.

L’information contenue dans une table de v´erit´e ou dans une table-K peut s’´ecrire en une forme compacte en relevant les ´equivalents d´ecimaux des minterms qui produisent un 1 pour la fonction.

(12)

Example 4.

Consid´erons la table `a 4 variablesF(A,B,C,D) = Σ(0,1,2,5,8,9,10)

' $

& %

F(A,B,C,D) :

1

0

1

1

1

2

0

3

0

4

1

5

0

6

0

7

1

8

1

9

1

10

0

11

0

12

0

13

0

14

0 A 15

B

C

D

⇒ F(A,B,C,D) =B0D0+B0C0+A0C0D ←forme en somme de produits

(13)

Pour obtenirF en produits de sommes, on proc`ede en 2 ´etapes:

1 On exprimeF0en somme de produits, en simplifiant les minterms qui correspondent `a des 0 dans la table-K.

2 On utilise le th´eor`eme de DeMorgan pour compl´ementerF0afin d’obtenir une expression de F en produit de sommes.

(14)
(15)

Example 5.

Exprimons la fonctionF de l’exemple pr´ec´edent comme produit de sommes.

F(A,B,C,D) :

1

0

1

1

1

2

0

3

0

4

1

5

0

6

0

7

1

8

1

9

1

10

0

11

0

12

0

13

0

14

0 A 15

B

C

D

hence,F0=AB+CD+BD0

F = (F0)0= (AB+CD+BD0)0

= (AB)0·(CD)0·(BD0)0 par le th´eor`eme de DeMorgan

= (A0+B0)·(C0+D0)·(B0+D) ←forme en produit de sommes

(16)

Si la fonctionF se pr´esente sous la forme d’une somme de produits:

F(A,B,C,D) =B0D0+B0C0+A0C0D, alors on peut l’impl´ementer de deux fa¸cons diff´erentes, mais´equivalentes: l’une avec des portes ET et OU seulement, l’autre avec des portes NON-ET seulement.

Portes ET et portes OU Impl´ementation avec portes NON-ET

(17)

Si la fonctionF se pr´esente sous la forme d’un produit de sommes:

F(A,B,C,D) = (A0+B0)·(C0+D0)·(B0+D), alors on peut l’impl´ementer de deux fa¸cons diff´erentes, mais´equivalentes: l’une avec des portes ET et OU seulement, l’autre avec des portes NON-OU seulement.

Portes ET et portes OU Impl´ementation avec portes NON-OU

(18)

Conditions Indiff´ erentes

Les “conditions indiff´erentes” sont des conditions qui correspondent `a une certaine combinaison `a l’entr´ee pour laquelle la valeur de la sortie n’a pas d’importance.

Les minterms qui correspondent `a ces conditions sont repr´esent´ees par un “x” dans la table-K.

(19)

Example 6.

F(A,B,C) =X

(0,2,6) ←minterms correspondant `a des 1 d(A,B,C) =X

(1,3,5) ←minterms qui correspondent `a des “x” (minterms indiff´erents)

F(A,B,C) :

1

0

x

1

1

2

x

3

0

4

x

5

1

6

0

7

A

B

C

⇒F=A0+BC0

=X

(0,1,2,3,6)

(20)

Circuits Combinatoires

Un circuit combinatoire est un arrangement de portes logiques interconnect´ees qui impl´ementent une relation entre une variable de n entr´ees et une variable de m sorties Un circuit combinatoire est d´ecrit par une table de v´erit´e qui montre la combinaison de sortie correspondant `a chacune des 2ncombinaisons d’entr´ee

Dans un circuit combinatoire, la sortie estind´ependante du temps, et ne d´ependquede l’entr´ee du circuit

Dans un circuit combinatoire, la sortie est “re-calcul´ee” aussitˆot qu’un changement `a l’entr´ee intervient

(21)

Proc´ ed´ e de conception de circuits combinatoires

1 D´efinir le probl`eme

2 Assigner diff´erentes lettres symboliques aux variables d’entr´ee et de sortie

3 Obtenir la table de v´erit´e qui d´efinit la relation entre les entr´ees et les sorties

4 Obtenir l’expression bool´eennesimplifi´eepourchaquevariable de sortie

5 Dessiner le diagramme logique du circuit

(22)

Example 7 (Demi-additionneur).

Entr´ee Sorties

x y C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

=⇒ S=x⊕y C=xy

Table de v´erit´e

Diagramme Logique

(23)

Example 8 (Exercice: Additionneur complet).

Montrez qu’un additionneur complet peut s’impl´ementer en utilisant deux demi-additionneurs et une porte OU.

(24)

Circuits S´ equentiels: Introduction

A la diff´` erence des circuits combinatoires, les circuits s´equentiels sont des circuits logiques dont la sortie n’est pas seulement une fonction des entr´ees du circuit, maisausside signaux logiques d´ependants du temps.

Les circuits s´equentiels les plus courants aujourd’hui sont les circuits s´equentielssynchrones.

La synchronisation des circuits s´equentiels synchrones est assur´ee par desimpulsions d’horloge, g´en´er´ees par une horlogecommune.

Dans les circuits s´equentiels r´egis par une horloge, les sorties sont “calcul´ees”uniquement`a l’arriv´ee d’une impulsion d’horloge de synchronisation.

Entre deux impulsions d’horloge cons´ecutives, la sortie du circuit s´equentiel ne changepas.

(25)

Les Bascules (Flip-Flops)

Unebasculeest une cellule binaire capable de ranger un bit d’information entre deux impulsions d’horloge cons´ecutives.

(26)

La Bascule SR

R

S Q

Q SR

Symbole graphique

S R Q(t+ 1)

0 0 Q(t) Pas de changement `a l’entr´ee

0 1 0 Remise `a 0

1 0 1 Mise `a 1

1 1 ? Ind´etermin´e (ne peut pas ˆetre pr´edit !) Table caract´eristique

La condition ind´etermin´ee rend la bascule SR difficile `a g´erer, par cons´equent elle est peu utilis´ee en pratique.

(27)

La Bascule JK

Une bascule JK est une am´elioration de la bascule SR, en ce sens que la condition ind´etermin´ee y est bien d´efinie.

J1 K1 C

Q

Q JK

Symbole graphique

J K Q(t+ 1)

0 0 Q(t) Pas de changement `a l’entr´ee

0 1 0 Remise `a 0

1 0 1 Mise `a 1

1 1 Q0(t) Compl´ement Table caract´eristique

(28)

La bascule D

Une bascule D place l’entr´ee `a sa sortie au d´ebut de chaque cycle d’horloge.

La relation entre l’entr´ee et la sortie d’une bascule D est d´efinie par l’´equation caract´eristique suivante:

Q(t+ 1) =D, o`uD symbolise le signal d’entr´ee

D C

Q

Q D

Symbole graphique

D Q(t+ 1)

0 0

1 1

Table caract´eristique

(29)

La bascule T

En plus de l’entr´ee d’horloge, que toutes les bascules poss`edent, la bascule T (aussi appel´ee BasculeToggle) a une entr´eeT qui permet d’inverser la sortie ou de la laisser telle quelle.

La relation entre l’entr´ee et la sortie d’une bascule T est d´efinie par l’´equation caract´eristique suivante:

Q(t+ 1) =Q(t)⊕T, o`uTsymbolise le signal d’entr´ee

Symbole graphique

T Q(t+ 1)

0 Q(t)

1 Q’(t)

Table caract´eristique

(30)

Example 9.

Montrez qu’une bascule T est ´equivalente `a une bascule JK pour laquelleJ=K=T.

(31)

Les Bascules D´ eclench´ ees par Transition

Les bascules les plus courantes aujourd’hui sont les bascules d´eclench´ees par transition.

Dans les bascules d´eclench´ees par transition montante, les changements `a la sortie ont lieu lorsque l’impulsion passe d’un niveau bas (0 logique) `a un niveau haut (1 logique).

(32)

Dans les bascules d´eclench´ees par transition descendante, les changements `a la sortie ont lieu lorsque l’impulsion passe d’un niveau haut (1 logique) `a un niveau bas (0 logique).

(33)

Tables d’Excitation

Pour la conception de circuits s´equentiels, la transition requise de l’´etat pr´esent vers l’´etat suivant est g´en´eralement connue.

Le concepteur doit d´eterminer les entr´ees d’excitation qui causent la transition recherch´ee.

(34)
(35)

Circuits S´ equentiels

La figure suivante montre le diagramme bloc d’un circuit s´equentiel typique.

Clock circuit

Flip−flops

Outputs

Inputs Combinational

Un circuit s´equentiel typique est compos´e d’un circuit combinatoire et de plusieurs bascules.

Les entr´ees des bascules sont prises aux sorties du circuit combinatoire.

Les entr´ees du circuit combinatoire sont prises aux sorties des bascules, ainsi qu’`a des entr´ees externes (si il y en a).

(36)

Equations d’Entr´ ee de Bascules

Les´equations d’entr´eede bascules sont des expressions bool´eennes qui d´efinissent les entr´ees de chaque bascule en fonction des variables bool´eennes du circuit.

Figure 1:Diagramme logique du circuit s´equentiel

(37)

Dans le diagramme ci-dessus, les ´equations d’entr´ee des bascules sont:

DA=Ax+Bx, et DB=A0x.

Le circuit s´equentiel a une sortie externey. Elle peut s’exprimer par:

y=Ax0+Bx0.

(38)

Table d’´ etats

Le comportement des circuits s´equentiels est d´etermin´e par les entr´ees, les sorties, les ´etats pr´esents et les prochains ´etats de leurs bascules.

Les sorties et les prochains ´etats d´ependent tous deux des entr´ees du circuit et des ´etats pr´esents des bascules.

Dans ce contexte, latable d’´etatsest une table qui montre les sorties du circuit et les prochains ´etats pour chaque combinaison des entr´ees/´etats pr´esents du circuit.

Pour un circuit s´equentiel avec m bascules, n variables d’entr´ee, et p variables de sortie, la table d’´etats comprend:

m colonnes qui repr´esentent les ´etats pr´esents des bascules n colonnes qui repr´esentent les entr´ees du circuit

m colonnes qui repr´esentent les prochains ´etats des bascules p colonnes qui repr´esentent les sorties du circuit

2m+nlignes de combinaisons binaires allant de 0 `a 2m+n−1.

(39)
(40)

Example 10 (Exemple de table d’´etats).

Pour un circuit s´equentiel avec une entr´ee externe, une sortie externe, et deux bascules, une table d’´etats aurait la forme suivante:

Table 2:Exemple de table d’´etats

Etat Etat

Pr´esent Entr´ee Prochain Sortie

A B x A B y

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 0 1

0 1 1 1 1 0

1 0 0 0 0 1

1 0 1 1 0 0

1 1 0 0 0 1

1 1 1 1 0 0

Le diagramme logique d’un tel circuit s´equentiel est montr´e sur le sch´ema 1.

(41)

Diagramme d’´ etat

Undiagramme d’´etatest un graphe directionnel qui connecte tous les ´etats possibles des circuits s´equentiels, et dans lequel chaque transition a la forme suivante:

Present State Next State

input/output

Le diagramme d’´etat du circuit logique de la Figure 1 est montr´e ci-dessous:

(42)

Exemple de conception : Conception d’un compteur binaire

On d´esire mettre au point un circuit s´equentiel r´egit par une horloge pour cr´eer, `a l’aide de bascules JK, un compteur binaire d´ecrit par le diagramme d’´etat suivant.

” A partir du diagramme d’´etat, on peut voir que le circuit s´equentiel a:

4 ´etats d´ecrit parAetB=⇒2 bascules sont n´ecessaires 1 entr´ee externe, que l’on peut appelerx

Pas de sorties externes

(43)

Ensuite, on ´erige la table d’excitation du circuit s´equentiel.

Table 3:La table d’excitation du compteur binaire

Etat Prochain

pr´esent Entr´ee Etat Entr´ees des bascules

A B x A B JA KA JB KB

0 0 0 0 0 0 x 0 x

0 0 1 0 1 0 x 0 x

0 1 0 0 0 0 x x 0

0 1 1 1 0 1 x x 1

1 0 0 1 0 x 0 0 x

1 0 1 1 1 x 0 1 x

1 1 0 1 1 x 0 x 0

1 1 1 0 0 x 1 x 1

Notez que les 5 premi`eres colonnes de la table d’excitation correspondent `a la table d’´etat du circuit.

(44)

On trouve les ´equations d’entr´ee de la bascule et les ´equations de sortie externe (il n’y en a pas dans ce cas)

JA(A,B,x) :

0

0

0

1

0

2

1

3

x

4

x

5

x

6

x

7

A

B

x KA(A,B,x) :

x

0

x

1

x

2

x

3

0

4

0

5

0

6

1

7

A

B

x

JA=Bx KA=Bx

(45)

JB(A,B,x) :

0

0

1

1

x

2

x

3

0

4

1

5

x

6

x

7

A

B

x

KB(A,B,x) :

x

0

x

1

0

2

1

3

x

4

x

5

0

6

1

7

A

B

x

JB=x KB =x

(46)

Par cons´equent, les ´equations d’entr´ee des bascules sont:

JA=Bx KA=Bx

JB=x KB=x

On dessine le diagramme logique du circuit

Références

Documents relatifs

Faire vérifier impérativement le montage avant de le mettre sous tension (au risque de détériorer le circuit intégré). Ensuite, il suffira de changer

Ensuite, on pourra montrer que l’ensemble P des points fixes d’une solution quelconque f est n´ecessairement non vide, puis (par l’absurde) qu’il ne contient pas d’´el´ement

Enfin, g admet un maximum global strict en 0. On en d´eduit les extrema locaux.. Cela peut nous inciter `a penser que x 7→ 1 est la seule solution.. Une fonction est par

 Le nombre de transistors utilisés pour réaliser une porte varie selon les portes.  Porte NON : 2 transistors, portes NAND et NOR : 4 transistors, portes OU, AND et XOR :

Exercice 6 Ecrire un programme qui permet de saisir l’ˆ age de 5 personnes puis qui affiche true si au moins 4 personnes sont adultes (ˆ age>18) et false sinon (ne pas utiliser

Que valent les sorties S et T en fonction des entr´ees A, B,

(k) Si tu devais r´ ealiser le diagramme circulaire de cette s´ erie, quelle serait l’amplitude de l’angle du secteur correspondant aux nombres d’´ etats ont entre 16 et 18

Dans un circuit de logique séquentielle, le signal de sortie dépend, à un instant donné, de la combinaison des entrées ET de son état antérieur (c'est-à-dire de la succession