Circuit logique
Transcription
Circuit logique
Circuit logique I Définition • Un circuit logique est un dispositif électronique permettant la réalisation d’une fonction logique • Chaque variable de la fonction est matérialisée par un conducteur et sa valeur sera définie à partir de sa tension. Entrées { } Sorties masse A. Dipanda - circuits combinatoires 1 Circuit logique • Les entrées et sorties – Circuit logique↔ f(x1, x2, x3 ,..., xn ) → (y1, y2, y3 ,..., ym ) entrées sorties – Les entrées sont les conducteurs qui vont permettre de présenter les opérandes. – Les sorties sont les conducteurs qui vont permettre de consulter le résultat. A. Dipanda - circuits combinatoires 2 Circuit logique I les conducteurs sont appelés des broches ; il en existe 4 types : • entrées “ normales ” : forçées par l’utilisateur • sorties “ normales ” : forçées par le circuit • sorties 3 états : (peuvent être laissées libres dans certains cas) on les utilise quand on travaille avec les bus, circuit à validation. • les collecteurs ouverts : libres ou forçés à 0 A. Dipanda - circuits combinatoires 3 Circuit logique I Assemblages de circuits logiques règles ou principes à respecter : – compatibilité des tensions entre les entrées et les sorties – à un instant donné, on ne peut forçer une entrée que d’une seule façon f g A. Dipanda - circuits combinatoires 4 circuit combinatoire I Introduction • un circuit combinatoire réalise sur ses sorties une fonction de ses entrées : s=f(e) • Un circuit combinatoire n’a pas de mémoire interne. • il y a toujours un moment de latence entre le moment où on envoie quelque chose en entrée et le moment où on récupère quelque chose en sortie ; cet intervalle de temps est connu et s’appelle le “ délai de propagation ” , noté tp. A. Dipanda - circuits combinatoires 5 circuit combinatoire I Diagramme temporel • permet de suivre l ’évolution du circuit au cours du temps 0 t1 t2 t 1 E x 0 0 S f(x) 1 A. Dipanda - circuits combinatoires TP 6 circuit combinatoire Assemblages de circuits combinatoires On peut faire un assemblage de circuits combinatoires, en mettant bout à bout plusieurs circuits combinatoires, et en évitant les boucles (une entrée d’un circuit étant une de ses sorties ou une sortie d’un circuit « postérieur ») E0 E1 E2 S0 f g S1 h S2 E3 A. Dipanda - circuits combinatoires 7 Quelques circuits combinatoires I Les portes : (base) Elles réalisent les opérations de l’algèbre de Boole AND (ET) OR (OU) A Y B A Y B NOT ( NON ) (XOR) OU exclusif A A A. Dipanda - circuits combinatoires Y Y B 8 Quelques circuits combinatoires • Réalisations du XOR avec les portes AND et OR A B A B A B A B A. Dipanda - circuits combinatoires 9 Quelques circuits combinatoires NAND ( NON ET ) NOR ( NON OU ) A A Y Y B B Réalisation des fonctions NON, OU et ET en utilisant uniquement des portes NOR A Y=A A B A. Dipanda - circuits combinatoires A Y=A.B Y=A+B B 10 Quelques circuits combinatoires • Porte à Trois Etats La porte "3 états", ou tri-state", n'est pas une porte logique au sens strict. Elle est principalement utilisée pour connecter une sortie sur une ligne commune à plusieurs circuits (un bus par exemple). Elle remplace généralement une porte ET. A C A. Dipanda - circuits combinatoires Y C 1 1 0 A 0 1 X Y 0 1 0 sortie faible impédance faible impédance haute impédance 11 Quelques circuits combinatoires • Le multiplexeur : (Mux) circuit 1 parmi 2n – Il est composé de 2n entrées, 1 sortie, et n lignes de sélection (lignes de commande, lignes d’adresse) – Il permet de faire la liaison entre 1 entrée parmi m=2n et la sortie en fonction des n lignes de sélection. E0 E1 s E2 E(m-1) a0 A. Dipanda - circuits combinatoires a1 ... a(n-1) 12 Quelques circuits combinatoires • Le décodeur : – Il a n lignes d’entrée (lignes d’adresse) et 2n lignes de sortie. – En fonction des lignes d’adresse, on va activer l’une des 2n lignes. – On peut avoir une entrée supplémentaire a, on obtient donc un décodeur à validation. a0 a1 S0 S1 S2 an-1 Sm-1 a A. Dipanda - circuits combinatoires 13 Quelques circuits combinatoires • Exemple d ’utilisation du décodeur : décodage d’adresse – une mémoire de 32 mots (4 boîtiers de 8 mots chacun) ; – pour 1 mot mémoire, on a une adresse de 5 bits répartis de la manière suivante : – 2 bits d’adresse boîtier, – 3 bits adresse mot dans la boîtier. a0 a1 a2, a3, a4 A. Dipanda - circuits combinatoires 14 Quelques circuits combinatoires • le décodeur comme un démultiplexeur. On a besoin d’un décodeur à validation. a0 a1 S0 S1 an Sk Sm d Sk={ si k=a alors Sk=d sinon, Sk=0 } A. Dipanda - circuits combinatoires 15 Quelques circuits combinatoires • Le comparateur : – Il permet de faire la comparaison de deux mots de n bits. – Cas simple : 1 si A=B 0 si A≠B On a l’égalité des deux mots si tous les bits sont égaux – Ai=Bi ⇒ Ai⊕Bi =0 – Ai≠Bi ⇒ Ai⊕Bi =1 On utilise ces deux relations pour construire le comparateur. – A=B⇒∀i Ai=Bi ⇒∑ Ai⊕Bi =0 – A=B⇔NON (∑Ai⊕Bi ) A. Dipanda - circuits combinatoires 16 Quelques circuits combinatoires I Réalisation du comparateur 3 bits A2 A1 A0 B0 B1 B2 S A. Dipanda - circuits combinatoires 17 Quelques circuits combinatoires • Le semi-additionneur : Soient A et B deux nombres de 1 bit. A 0 0 1 1 A. Dipanda - circuits combinatoires B 0 1 0 1 S 0 1 1 0 R 0 0 0 1 123 OU 123 ET 18 Quelques circuits combinatoires I Réalisation du semi-additionneur A B S R A. Dipanda - circuits combinatoires 19 Quelques circuits combinatoires I Additionneur complet: • on considère la retenue A 0 0 0 0 1 1 1 1 A. Dipanda - circuits combinatoires B 0 0 1 1 0 0 1 1 Re 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Rs 0 0 0 1 0 1 1 1 20 Quelques circuits combinatoires Rs= A .B.Re S= A . B .R e + A .B . R e + A . B . R e + A .B .R e S = R e.( A . B + A .B ) + R e .( A .B + A . B ) S = R e.( A ⊕ B ) + R e.(A ⊕ B ) A.B.Re Rs=Re.( A .B + A. B ) + A.B( Re + Re) =1 Rs=Re.(A⊕B) + A.B S = R e⊕ (A ⊕ B ) A B S A. Dipanda - circuits combinatoires + A. B .Re + A.B. Re + Re Re 21 Réalisation d’un circuit combinatoire I La réalisation d’un circuit combinatoire passe par deux phases : • Recherche d’une solution correcte (analyse) • Simplification de la solution trouvée (-> circuit plus efficace). A. Dipanda - circuits combinatoires 22 Réalisation d’un circuit combinatoire I Méthode par algèbre de Boole – L’analyse aboutit à l’établissement d’une table de vérité donnant l’équation logique. Il s’agit par la suite d’optimiser cette équation soit: – en utilisant les règles de simplification – en utilisant les tableaux de Karnaugh – on risque d’avoir des grands circuit car on n’utilise que des portes et, ou, & non. – on ne trouve pas de circuit particulier – avec plus de 5 entrées, la table de vérité devient inexploitable. A. Dipanda - circuits combinatoires 23 Réalisation d’un circuit combinatoire I Décomposition en sous fonctions • dissociation des sorties : f(e) f(e) ⇔ E g(e) E f g g(e) Exemple 2 : somme de deux nombres : A S B R A. Dipanda - circuits combinatoires 24 Réalisation d’un circuit combinatoire • composition des fonctions : f(e) ⇔ E f g S=f(g(e)) E g(e) exemples : outil permettant la réalisation des opération : X+Y, 2X+Y, X+2Y E A. Dipanda - circuits combinatoires DEC ADD S 25 Réalisation d’un circuit combinatoire I la sélection : • ♦alternative à deux branches f(E) E choix Sélection entre g(E)choix: deux f et g S cond cond A. Dipanda - circuits combinatoires 26 Réalisation d’un circuit combinatoire avec des adaptateurs trois états f S g Avec des portes f S g C C A. Dipanda - circuits combinatoires 27 Réalisation d’un circuit combinatoire I la récurrence : quand on peut définir une fonction d’ordre n par la fonction d’ordre n-1. En = f(E0, E1, E2, ..., En-1) • Pour chercher la solution d’ordre n, on commence par résoudre le problème à l’ordre n-1 • Le problème est de pouvoir trouver la bonne valeur pour le problème de taille 0 ; en général, c’est une constante. A. Dipanda - circuits combinatoires 28 Réalisation d’un circuit combinatoire – pour faire un additionneur 2 bits, on se sert de 2 additionneurs 1 bit. – comparaison de deux nombre X et Y (X>Y) » 1 si le couple(Xn, Yn)=(1, 0) Xn et Yn étant les bits de poids fort. » 0 si le couple(Xn, Yn)=(0, 1) » sinon, supn solution de taille n module solution de taille 1 A. Dipanda - circuits combinatoires d’extension 29 Réalisation d’un circuit combinatoire • la dichotomie : on veut résoudre un problème de taille 2n en sachant résoudre le problème de taille n. Exemple : faire un additionneur 4 bits à partir de deux additonneut 2 bits. E0...En-1 solution de taille n module d’extension En...E2n-1 A. Dipanda - circuits combinatoires s solution de taille n 30