• Aucun résultat trouvé

Absence de “m´ emoire”

N/A
N/A
Protected

Academic year: 2022

Partager "Absence de “m´ emoire”"

Copied!
45
0
0

Texte intégral

(1)

ELEN0040 - Electronique num´ erique

Patricia ROUSSEAUX

Ann´ee acad´emique 2014 - 2015

(2)

CHAPITRE 2

Conception de circuits combinatoires

(3)

1 Circuits combinatoires 1.1 D´efinitions

1.2 Design d’un circuit

2 Simplification de fonctions

2.1 Simplification par table de Karnaugh

Tables de Karnaugh, 2 `a 4 variables Impliquants premiers

Fonction non compl`etement sp´ecifi´ee - Don’t care Simplification sous forme d’un produit de sommes Circuits `a 2 niveaux

2.2 Circuits `a plus de deux niveaux

(4)

Circuit combinatoire

Une circuit combinatoire :

I est activ´e parnsignaux d’entr´ee num´eriques =nvariables bool´eennes e1,· · · ,en

I fournitmsignaux de sortie num´eriques =mvariables bool´eennes s1,· · ·,sm

I est constitu´e demcircuits logiques, chacun r´ealisant une fonction logique sj =F(e1,· · ·,en),j = 1,· · · ,m

(5)

Absence de “m´ emoire”

I Dans un circuit combinatoire, il n’existe jamais deboucle de retour des sorties vers l’entr´ee du circuit

I Cela n´ecessiterait des ´el´ements “tampon” capables dem´emoriser l’´etat de certaines variables

I Les op´erations de m´emorisation d’´etat sont `a la base des circuits s´equentiels

(6)

D´ elai de traitement

I Les signaux de sortie ne sont pas obtenus instantan´ement

I Chaque porte du circuit impose un d´elai

I Le d´elai totaltp r´esulte de l’addition des d´elais associ´es aux portes rencontr´ees successivement sur un chemin partant de l’entr´ee vers la sortie

I D´elai du circuit = d´elai maximum rencontr´e

(7)

Proc´ edure de design d’un circuit

1. Sp´ecification:

I d´ecrire ce que le circuit doit r´ealiser 2. Formulation:

I d´efinir les variables d’entr´ee et de sortie

I ´etablir la table de v´erit´e et les fonctions logiques d´efinissant les sorties

I recours aux formes canoniques SOM et POM 3. Optimisation :

I simplification des fonctions

I satisfaire un compromis entre diff´erents crit`eres : nombre de composants, d´elai, ...

I tracer le diagramme logique au moyen des portes primitives AND, OR et NOT

4. Adaptation `a la technologie choisie:

I choisir une technologie pour la r´ealisation du circuit : exemple CMOS et portes NAND, portes NOR, logique programmable, ...

I tracer le diagramme du circuit avec les composants correspondants 5. V´erification :

I v´erifier le bon fonctionnement du circuit : souvent via un outil de simulation (voir labos et projet)

(8)

Sp´ ecification

Exemple : afficheur LED 7 segments

LEDS allum´ees selon le chiffre `a afficher :

I 0 : a, b, c, e, f

I 1 : b, c

I 2 : a, b, g, e, d

I ...

(9)

Formulation

Entr´ees : chiffre `a afficher, code BCD (Binary Coded Decimal = decimal cod´e binaire) : 4 variables binaire A,B,C, D Sorties : une variables binaire pour chaque LED (0=´eteint,

1=allum´e) :a,b,c,d,e,f,g Table de v´erit´e :

(10)

Optimisation

I But: obtenir l’impl´ementation la plussimplepossible d’une fonction

I simple ?: diff´erents crit`eres, ne pouvant ˆetre satisfaits simultan´ement⇒compromis

I Crit`eres :d´efinition d’un coˆut

I nombre d’entr´ees totales des portes du circuit,gate input cost G

I G tient `a la fois compte du nombre de portes et du nombre d’entr´ees pour chaque porte

I le d´elai introduit par le circuit : li´e au nombre de niveaux de portes

(11)

Optimisation - Exemple

Consid´erons la r´ealisation de la variablea de l’afficheur 7-segments D’apr`es la table de v´erit´e :

a= ¯AB¯C¯D¯+ ¯ABC¯ D¯+ ¯ABCD¯ + ¯ABC D+¯ + ¯ABCD¯+ ¯ABCD+AB¯C¯D¯+AB¯C D¯

=X

m(0,2,3,5,6,7,8,9)

On peut par exemple regrouper les mintermes 8 et 9 AB¯C¯D¯+AB¯C D¯ =AB¯C¯.( ¯D+D) =AB¯C¯ De mˆeme pour les mintermes 5 et 7

AB¯ C D¯ + ¯ABCD= ¯ABD.( ¯C+C) = ¯ABD

Nous verrons plus loin comment poursuivre (Karnough) pour obtenir a= ¯AC+ ¯ABD+ ¯BC¯D¯+AB¯C¯

(12)

R´ ealisation du circuit

Gate input cost :G = 15 + 4 inverseurs

Si l’on avait impl´ementer directement la forme SOM, on aurait G= 8×4 + 1×8 = 40 + 4 inverseurs

Au niveau du d´elai, dans les deux cas, circuits `a 2 niveaux de portes (+

inverseurs).

(13)

Choix de la technologie

Exemple : portes NAND

(14)

Choix de la technologie

Exemple : portes NOR

(15)

V´ erification

I Une fois le sch´ema logique correspondant `a la technologie obtenu, il faut v´erifier que le circuit satisfait les sp´ecifications de d´epart.

I Cette op´eration se r´ealise le plus souvent via un simulateur de circuits (voir labos VHDL)

I Exemple : simuler une s´equence d’entr´ees g´en´erant toutes les combinaisons int´eressantes

I Ici, d´elais non repr´esent´es

I Eviter deux changements simultan´es dans les entr´ees !

(16)

1 Circuits combinatoires 1.1 D´efinitions

1.2 Design d’un circuit

2 Simplification de fonctions

2.1 Simplification par table de Karnaugh

Tables de Karnaugh, 2 `a 4 variables Impliquants premiers

Fonction non compl`etement sp´ecifi´ee - Don’t care Simplification sous forme d’un produit de sommes Circuits `a 2 niveaux

2.2 Circuits `a plus de deux niveaux

(17)

Table de Karnaugh

I Unetable de Karnaughest unerepr´esentationd’une expression logique dans une table qui met en ´evidence des termes“adjacents”

pouvant ˆetre simplifi´es

I Elle est form´ee d’un nombre de cases ´egal aunombre maximal de mintermescorrespondant au nombre de variables apparaissant dans l’expression

I Deux cases sont adjacentessi les deux mintermes correspondantsne diff`erent que d’un litt´eral : il apparaˆıt sous formecompl´ement´eedans l’un et non compl´ement´eedans l’autre

I Utile pour la simplification de fonctions de 2 `a 6 variables

I Au-del`a, repr´esentation “g´eom´etrique” difficile

I Recours `a des m´ethodes algorithmiques : algorithme de

Quine–McCluskey, m´ethode de Petrick, heuristique de minimisation

“Espressso”

(18)

Table de Karnaugh ` a 2 variables

Les quatre mintermes sont plac´es comme suit :

On place ´egalement la valeur “0” en regard des variables compl´ement´ees et la valeur “1” en regard des variables non compl´ement´ees

I Les mintermesm0 etm1 sont adjacents, ils diff´erent par la variable Y

I De mˆeme,

I m0etm2sont adjacents, ils diff`erent par la variableX

I m1etm3sont adjacents, ils diff`erent par la variableX

I m2etm3sont adjacents, ils diff`erent par la variableY

(19)

Table de Karnaugh et table de v´ erit´ e

SoitF =m1+m2+m3= ¯X Y+XY¯+XY =X+Y

X Y F

0 0 0

0 1 1

1 0 1

1 1 1

I Les valeurs de l’expression bool´eenne sont plac´ees dans la table aux emplacements des mintermes correspondants

I Les“1” correspondent aux mintermes pr´esentsdans la forme SOM de l’expression

I Les“0” correspondent aux mintermes absentsdans la forme SOM de l’expression

(20)

Simplification de la fonction

F=m1+m2+m3

1. La somme des deux mintermes adjacentsm2etm3donne :

XY¯ +XY =X.( ¯Y +Y) =X 2. La somme des deux mintermes

adjacantsm1etm3donne : X Y¯ +XY = ( ¯X+X).Y =Y 3. Etant donn´e que l’on peut ´ecrire :

F=m1+m2+m3+m3

4. La forme simplifi´ee deF est : F =X+Y

(21)

Table ` a 3 variables

I Remarquez l’emplacement des mintermes !

I Les indices deYZ sont ordonn´es selon un code de Gray cyclique : un seul changement lorsque l’on passe d’un ´el´ement au suivant

I Les mintermes de la premi`ere colonne sont adjacents aux mintermes de la quatri`eme colonne :

I m0adjacent `am2 I m4adjacent `am6

I Des groupement de 4 mintermes adjacents sont possibles

I m1+m3+m5+m7 donneZ

I m0+m2+m4+m6 donne ¯Z

I m0+m1+m3+m2 donne ¯X, ...

(22)

Exemple ` a 3 variables

Simplifiez la fonction :F=Pm(0,1,2,3,4,5)

1. Placer les 1 correspondants aux mintermes dans la table

2. Grouper m0+m1+m4+m5(rouge) :

X¯Y¯Z¯+ ¯XY Z¯ +XY¯Z¯+XY Z¯ = ¯Y 3. Grouper m0+m1+m3+m2(bleu)

X¯Y¯Z¯+ ¯XY Z¯ + ¯X YZ+ ¯X YZ¯= ¯X 4.

F = ¯X+ ¯Y

(23)

Table ` a 4 variables

I Ordonnancement des mintermes selon le code de Gray

I Les mintermes de la premi`ere colonne sont adjacents aux mintermes de la quatri`eme colonne

I Les mintermes de la premi`ere ligne sont adjacents aux mintermes de la quatri`eme ligne

I Des groupement de 2, 4 et 8 mintermes adjacents sont possibles

(24)

Exemple ` a 4 variables

Simplifiez la fonction :F=Pm(0,1,2,4,5,6,8,9,10,12,13)

1. Placer les 1 correspondants aux mintermes dans la table

2. Grouper les 8 mintermes des deux premi`eres colonnes, on obtient : ¯Y 3. Grouper les 4 mintermes des 4 coins, on obtient : ¯XZ¯

4. Grouper 4 mintermes permettant d’incorporer le dernier minterme non couvert : ¯WZ¯

(25)

Exemple ` a 4 variables

Simplifiez la fonction :F=Pm(0,1,2,4,5,6,8,9,10,12,13)

1. Placer les 1 correspondants aux mintermes dans la table

2. Grouper les 8 mintermes des deux premi`eres colonnes, on obtient : ¯Y 3. Grouper les 4 mintermes des 4 coins, on obtient : ¯XZ¯

4. Grouper 4 mintermes permettant d’incorporer le dernier minterme non couvert : ¯WZ¯

(26)

Exemple ` a 4 variables

Simplifiez la fonction :F=Pm(0,1,2,4,5,6,8,9,10,12,13)

1. Placer les 1 correspondants aux mintermes dans la table

2. Grouper les 8 mintermes des deux premi`eres colonnes, on obtient : ¯Y 3. Grouper les 4 mintermes des 4 coins, on obtient : ¯XZ¯

4. Grouper 4 mintermes permettant d’incorporer le dernier minterme non couvert : ¯WZ¯

(27)

Exemple ` a 4 variables

Simplifiez la fonction :F=Pm(0,1,2,4,5,6,8,9,10,12,13)

1. Placer les 1 correspondants aux mintermes dans la table

2. Grouper les 8 mintermes des deux premi`eres colonnes, on obtient : ¯Y 3. Grouper les 4 mintermes des 4 coins, on obtient : ¯XZ¯

4. Grouper 4 mintermes permettant d’incorporer le dernier minterme non couvert : ¯WZ¯

F = ¯Y + ¯XZ¯+ ¯WZ¯

(28)

Remarques

I Pour une fonction de nvariables, un groupement de 2k,(k <n) mintermes permet de remplacer ces mintermes par un seul produit de n−k variables

I Pour simplifier au maximum la fonction, int´erˆet de rechercher les groupements les plus grands possibles = impliquants premiers

I Chaque minterme de la fonction doit ˆetre inclus si possible dans au moins un groupement

I Stopper la recherche de groupements lorsque tous les mintermes sont “couverts”

(29)

Impliquants

Pour une fonction bool´eenne donn´ee et sa table de Karnaugh : Impliquant premier

Unimpliquant premierest un produit obtenu en combinant le plus grand nombre 2k possible de mintermes adjacents de sorte que ce produit ne peut plus ˆetre simplifi´e.

Impliquant premier essentiel

Un impliquant premier est unimpliquant premier essentielsi il contient un minterme qui n’est inclus dans aucun autre impliquant premier.

La suppression de cet impliquant ne permet plus de couvrir tous les mintermes de la fonction : impliquantessentiel.

(30)

Impliquants premiers

(31)

Tentative de simplification syst´ ematique

1. Identifier tous les impliquants premiers 2. S´electionner :

2.1 tous les impliquants premiers essentiels

2.2 un ensemble minimal d’impliquants premiers qui permettent de couvrir tous les mintermes restants de la fonction

I Cette proc´edure peut donner plusieurs solutions selon les choix op´er´es au point 2.2

I Possibilit´e d’obtenir des solutions ´equivalentes en terme de coˆut

I La solution optimale n’est pas n´ecessairement trouv´ee

(32)

Exemple 1

F =X

m(1,3,4,5,6,7,12,14)

I Les impliquants (1,3,5,7) et (4,6,12,14) sont des impliquants essentiels

I L’impliquant (4,5,7,6) n’estpas essentiel

I Les deux premiers suffisent `a couvrir tous les mintermes de la fonction

F= ¯W Z+XZ¯

(33)

Exemple 2

F =X

m(0,5,10,11,12,13,15)

I Les impliquants (0), (5,13), (12,13) et (10,11) sont des impliquantsessentiels

I Les impliquants (13,15) et (11,15) ne sont paspas essentiels

I Il faut s´electionner un de ces deux impliquants pour inclure le mintermem15

I Il existe deux solutions ´equivalentes

F = ¯WX¯Y¯Z¯+XY Z¯ +WXY¯+



 WYZ ou WXZ

(34)

Fonction non compl` etement sp´ ecifi´ ee - Don’t care

I Dans certaines situations, la fonction bool´eenne de sortie n’est pas d´efinie ou n’a pas de sens pour certaines combinaisons des entr´ees

I Situation relativement fr´equente en pratique

I Exemple : des signaux d’entr´ee fournis par des capteurs qui ne sont jamais actifs simultan´ement

I La valeur affect´ee `a la sortie peut ˆetre indiff´eremment 0 ou 1 = indiff´erents ou don’t care

I Repr´esent´es par un “X” dans la table de Karnaugh

I Lors de la simplification de la fonction, le “Don’t care” peut ˆetre trait´e comme “0” ou “1” selon la situation la plus avantageuse

(35)

Don’care - Exemple 1

I Les “Don’t care” sont trait´es comme des 0

I Nombre d’impliquants plus ´el´ev´e si trait´es comme des 1

(36)

Don’t care - Exemple 2

I Il est plus int´eressant ici de traiter les “Don’t care” comme des 1

I Impliquants de plus grande taille ⇒simplification plus importante de la fonction

(37)

Int´ erˆ et des “Don’t care”

I Fonctiona de l’afficheur 7-segments a=X

m(0,2,3,5,6,7,8,9)

I Il existe 6 “Dont’t care” pour les combinaisons des entr´ees correspondants `a 10, 11, 12, 13 ,14 et 15

I On obtient :

a=C+A+ ¯ABD+ ¯BC¯D¯

I Gate input cost :G = 10 + 4 au lieu de 15+4 !

(38)

Simplification sous forme d’un produit de sommes

I Il peut ˆetre plus int´eressant (ou plus ais´e) de simplifier la fonction sous la forme d’un produit de Maxtermes (POM)

I Exemple : minorit´e de 0 dans la table de Karnaugh

I On applique la mˆeme proc´edure sur la fonction compl´ement´ee

I L’application de la loi de De Morgan fournit la solution

F¯= ¯W XY Z¯ +WXYZ¯

F= (W+ ¯X+Y+ ¯Z).( ¯W+ ¯X+ ¯Y+Z)

(39)

R´ ealisation sous forme de circuits ` a 2 niveaux

I Les formes simplifi´ees POS et SOP d´ecoulant de la technique des tables de Karnaugh donnent toutes deux lieu `a des r´ealisations sous forme de circuits `a deux niveaux de portes logiques

I Il peut ˆetre avantageux de consid´erer d’autres transformations de la fonction

I Cela conduit `a des circuits `a plus de deux niveaux

I La complexit´e peut ˆetre r´eduite mais le d´elai introduit par le circuit est augment´e

(40)

Circuits ` a plus de deux niveaux

1. Factorisation

I On factorise l’expression :

G =AC E¯ +AC F¯ +ADE¯ +ADF¯ +BCDE¯F¯

=A( ¯C E + ¯C F+ ¯DE+ ¯DF) +BCDE¯F¯

=A( ¯C+ ¯D)(E+F) +BCDE¯F¯

I R´eduction du gate input cost : de 22+4 `a 14+4

I Augmentation du nombre de niveaux de portes : 3 au lieu de 2 2. D´ecomposition

I D´efinition de variables interm´ediaires

G =AX¯1X2+BX12 X1=CD

X2=E+F

I R´eduction du gate input cost : de 14+4 `a 12+2

(41)

3. Extraction

I Si plusieurs fonctions sont `a r´ealiser, exploiter les termes communs

I Seconde fonction `a r´ealiser

H= ¯ABCD+ABE+ABF+BCE +BCF

=B( ¯ACD+ (A+C)(E+F))

I Si l’on consid`ereG etH simultan´ement : G =AX¯1X2+BX12

H=B( ¯AX1+X3X2) X1=CD

X2=E+F X3=A+C

I gate input cost :

I G seul, forme non factoris´ee : 22+4

I H seul, forme non factoris´ee : 21+1

I G et H, formenon factoris´ee: 43+5

I G et Hfactoris´es avec termes communs: 22+3

I Circuit `a4 niveaux de portes

(42)

Extraction - circuit

Pour r´eduire le nombre de niveaux, soit :

I ´eliminer une factorisation

I ´eliminer une variable interm´ediaire

(43)

Elimination

Le plus int´eressant ici est d’´eliminer la factorisation deB qui est en fait inutile :

G =AX¯1X2+BX12

H=BAX¯ 1+BX3X2

X1=CD X2=E+F X3=A+C

I gate input cost : 22+ 3, inchang´e

I 3 niveaux

(44)

R´ ef´ erences

I Logic and Computer Design Fundamentals, 4/E, M. Morris Mano Charles Kime , Course material

http ://writphotec.com/mano4/

I Cours d’´electronique num´erique, Aur´elie Gensbittel, Bertrand Granado, Universit´e Pierre et Marie Curie

http ://bertrand.granado.free.fr/Licence/ue201/

coursbeameranime.pdf

(45)

Références

Documents relatifs

On choisira les branchements pour pouvoir observer simultanément à l’oscilloscope la tension aux bornes du GBF et celle aux bornes du condensateur, en veillant à éviter les boucles

• Observer et caractériser les différents régimes transitoires d’un circuit du 2 e ordre, en parti- culier la pseudo-période et le décrément logarithmique en

Q2 À titre d’illustration, donnez une suite de deux instructions provoquant l’apparition de bulles entre les deux instructions dans la version naïve, mais n’engendrant aucune

Calculer la longueur manquante dans les triangles rectangles suivant et mettre sous la forme a √. b avec b le plus

[r]

Par quel circuit comprenant seulement deux portes peut-on remplacer le circuit étudié.. Ce circuit est en fait celui de la

Pour cet exercice, vous pourrez vous aider du logiciel logisim qui vous fournit directe- ment la table de vérité du circuit.. Menu Project / Analyse Circuit / Table (et imput

Un espace topologique E est compl` etement r´ egulier si et seule- ment si il est plong´ e dans un espace topologique compact K, c’est ` a dire qu’il existe une application