Circuits logiques

  • View
    228

  • Download
    2

Embed Size (px)

Text of Circuits logiques

  • 1

    Circuits logiques

    Eric Cariou

    Universit de Pau et des Pays de l'AdourUFR Sciences Pau - Dpartement Informatique

    Eric.Cariou@univ-pau.fr

  • 2

    Circuit logique Circuit lectronique ralisant une ou plusieurs

    fonctions logiques Un circuit logique est compos

    D'un ensemble de portes logiques De sous-circuits logiques Le tout interconnects entre eux

    Deux types de circuits logiques Circuits combinatoires : S = f(E) Circuits squentiels : notion d'tat et de mmoire

  • 3

    Circuits Logiques(1) Circuits Combinatoires

  • 4

    Circuit combinatoire Sj= f(Ei)

    Les sorties Sj sont fonctions uniquement de la valeur des entres Ei

    Un circuit combinatoire est dfini par une ou plusieurs fonctions logiques

    Dfinition de la valeur des sorties en fonction des entres du circuit

    Algbre de Boole et les fonctions logiques sont donc le support thorique des circuits combinatoires

    Un circuit se reprsente par un logigramme

  • 5

    Portes logiques Une porte logique

    Circuit combinatoire de base Ralisant une opration logique de base Exemple : OU, ET, NON, correspondant aux oprateurs

    de l'algbre de Boole Une porte est dfinie par

    Une table de vrit et/ou une expression logique dfinissant son rsultat en fonction de son/ses entre(s)

    Un symbole graphique

  • 6

    Porte NON

    Porte NON (NOT) 1 entre, 1 sortie NON a est not a

    _ a | a ---+--- 0 | 1 1 | 0

  • 7

    Porte ET

    Porte ET (AND) 2 entres, 1 sortie a ET b est not a.b ou ab ou a^b a b | a.b ------+----- 0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 1

  • 8

    Porte OU

    Porte OU (OR) 2 entres, 1 sortie a OU b est not a+b ou avb a b | a + b ------+------- 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1

  • 9

    Porte OU exclusif Porte OU-exclusif (XOR)

    2 entres, 1 sortie a OU-exclusif b est not ab

    Variante du OU avec seulement une des deux variables qui doit tre 1

    a b | a b ------+------- 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0

  • 10

    Porte NON ET

    Porte NON ET (NAND) 2 entres, 1 sortie a NAND b est not a b | ------+------- 0 0 | 1 0 1 | 1 1 0 | 1 1 1 | 0

    a . b

    a . b

  • 11

    Porte NON OU

    Porte NON OU (NOR) 2 entres, 1 sortie a NOR b est not a b | ------+------- 0 0 | 1 0 1 | 0 1 0 | 0 1 1 | 0

    a + b

    a + b

  • 12

    Autres portes Pour chaque porte 2 entres

    Variantes 3, 4, ... entres (mais toujours une seule sortie)

    Gnralisation de la fonction logique de base plus de 2 variables en entre

    Le symbole graphique utilis est identique mais avec plus de 2 entres

    Exemples Porte ET 3 entres a, b et c a pour expression

    logique : abc Porte NOR 4 entres a, b, c et d a pour expression

    logique : a + b + c + d

  • 13

    Synthse d'un circuit logique A partir d'une fonction logique

    Trouver le logigramme correspondant cette fonction Principe

    Simplifier la fonction logique avec 2 mthodes La mthode algbrique (algbre de Boole) La mthode des tableaux de Karnaugh

    En dduire le logigramme correspondant

  • 14

    Analyse de circuit logique A partir du logigramme d'un circuit

    Trouver sa fonction logique Principe

    Donner l'expression des sorties de chaque porte/composant en fonction des valeurs de ses entres

    En dduire au final la (ou les) fonction(s) logique(s) du circuit

    On peut ensuite Dterminer la table de vrit du circuit Simplifier la fonction logique l'aide des proprits de

    l'algbre de Boole ou les tableaux de Karnaugh

  • 15

    Exemple d'analyse de circuit

    Exemple de circuit logique 3 entres, 1 sortie Compos uniquement de portes logiques

  • 16

    Exemple d'analyse de circuit Quelle est la fonction logique de ce circuit ?

    A partir de son logigramme

    Aprs simplification

    En nombre de portes minimales f (a , b , c )=a +b +c

    f (a , b , c )=(a +b ). (b . c )

    f (a , b , c )=(a c )+b

  • 17

    Exemple d'analyse de circuit

    Table de vrit de l'exemple

    a b c |a+b=x | b | b.c=y | x.y | x.y -------+------+---+-------+-----+----- 0 0 0 | 0 | 1 | 0 | 0 | 1 0 0 1 | 0 | 1 | 1 | 0 | 1 0 1 0 | 1 | 0 | 0 | 0 | 1 0 1 1 | 1 | 0 | 0 | 0 | 1 1 0 0 | 1 | 1 | 0 | 0 | 1 1 0 1 | 1 | 1 | 1 | 1 | 0 1 1 0 | 1 | 0 | 0 | 0 | 1 1 1 1 | 1 | 0 | 0 | 0 | 1

  • 18

    Exemple d'analyse de circuit Table de vrit de la fonction simplifie a b c | a | c | a+b+c -------+---+---+------- 0 0 0 | 1 | 1 | 1 0 0 1 | 1 | 0 | 1 0 1 0 | 1 | 1 | 1 0 1 1 | 1 | 0 | 1 1 0 0 | 0 | 1 | 1 1 0 1 | 0 | 0 | 0 1 1 0 | 0 | 1 | 1 1 1 1 | 0 | 0 | 1

    On trouve les mmes valeurs dans les 2 tables Les fonctions sont bien gales

  • 19

    Exemple de synthse de circuit

    Soit la fonction

    Aprs simplification, on obtient

    f (a , b , c )=a b c +a b c +a b c +a b c

    f (a , b , c )=a c +b c

  • 20

    Manipulation de nombres En 1938, Claude Shannon fait le lien entre

    l'algbre de Boole et des composants lectriques Dbut de l're de l'lectronique numrique

    Unification des 0 et des 1 0 logique/boolen = 0 binaire (nombre) = absence de

    courant lectrique (ou une tension -V) 1 logique/boolen = 1 binaire (nombre) = tension +V

    Cela permet De construire les portes lectriques/lectroniques de base

    correspondant aux oprateurs de l'algbre de Boole De raliser des circuits effectuant des calculs avec des

    nombres cods en binaire Un calcul = une fonction logique de l'algbre de Boole

  • 21

    Additionneur demi-bit Exemple de circuit : un additionneur demi-bit

    Ralise l'addition de 2 nombres cods chacun sur 1 bit Doit pouvoir grer l'ventuel dbordement Table de vrit du circuit avec :

    S : la somme des 2 bits x et y R : la retenue

    | x | y | S | R |+---+---+---+---+| 0 | 0 | 0 | 0 || 0 | 1 | 1 | 0 || 1 | 0 | 1 | 0 || 1 | 1 | 0 | 1 |

    Note : on parle de demi-bit car ne prend pas en compte une retenue en entre (voir suite)

  • 22

    Additionneur demi-bit

    Fonctions logiques de S et R

    S =x y +x y =x yR =x y

  • 23

    Additionneur n bits Additionneur demi-bit

    Fait une somme de 2 bits Additionneur n bits

    Fait l'addition de 2 nombres de n bits Deux ralisations possibles

    Concevoir entirement l'additionneur partir de rien Concevoir l'additionneur en rutilisant d'autres composants :

    des additionneurs 1 bit

  • 24

    Additionneur n bits Additionneur n bits

    Si on veut le construire partir de n additionneurs 1 bit Doit prendre en compte les retenues intermdiaires gnres

    et leur propagation 1 --> retenue gnre par l'addition des chiffres 010 prcdents additionner en plus aux 2 chiffres+111-----1001

    Additionneur demi-bit prcdent Insuffisant : prend seulement 2 bits en entre, pas la retenue

    On parlait donc de demi-additionneur Additionneur qui prend en compte une retenue en entre :

    additionneur 1 bit complet

  • 25

    Additionneur 1 bit complet

    Additionneur 1 bit complet Entres : bits x, y et retenue R0 Sorties : rsultat S et retenue R1

    2 ides pour dfinir l'additionneur 1 bit complet Dterminer la table de vrit de {S,R1}=f(x,y,R0)

    On obtient un nouveau circuit, plus complexe Utiliser le demi-additionneur vu prcdemment

    On rutilise le circuit dj dfini

  • 26

    Additionneur 1 bit complet En rutilisant le demi-additionneur

    Le calcul de S se fait via 2 additions z=x+y et S=z+R0 Chaque addition est effectue par un demi-additionneur

    La retenue finale R1 est le OU des 2 retenues gnres par les 2 additions

    Si la premire addition gnre une retenue : on aura forcment une retenue au final

    Si la seconde addition gnre une retenue : on aura aussi une retenue au final

    Donc on fait le OU des 2 retenues

  • 27

    Additionneur 1 bit complet

    Additionneur 1 bit complet S : rsultat de l'addition des bits a et b et de la

    retenue R0 R1 : retenue gnre

  • 28

    Additionneur n bits Exemple pour additionneur 4 bits

    On enchane en srie 4 additionneurs 1 bit complet Retenue en sortie d'un tage est mise en entre du suivant

    Le rsultat est connu aprs propagation des valeurs calcules le long de tout le circuit

    C = A + B, en prcision 4 bits. R : retenue globale

  • 29

    Ensembles complets de fonctions logiques de base

    Dans les exemples prcdents On a construit des circuits avec n'importe quelles

    portes : ET, OU, NON, NAND, NOR, XOR ... Il existe des ensembles complets de portes

    (fonctions logiques de base) Les portes d'un ensemble complet permettent de

    raliser n'importe quel circuit (fonction logique) Peut tre utile pour limiter le cot d'un circuit

    Le nombre de transistors utiliss pour raliser une porte varie selon les portes

    Porte NON : 2 transistors, portes NAND et NOR: 4 transistors, portes OU, ANDet XOR : 6 transistors

  • 30

    Ensembles complets de fonctions logiques de base

    3 ensembles complets de fonctions {ET, OU, NON} {NOR} {NAND}

    Pour prouver que ces ensembles sont complets Montrer qu'on peut spcifier toutes les fonctions de

    base partir des fonctions d'un ensemble

  • 31

    Ensembles complets de fonctions logiques de base