Chapitre 3 : Circuits Logiques Chapitre 3 : Circuits Logiques Le multiplexeur (N vers 1): Un multiplexeur est un circuit logique à N entrées dites de données (ou d’informations) et une sortie qui transmet les informations parvenant à l’entrée sélectionnée. La sélection d’une entrée s’effectue par le mot binaire N provenant des n entrées d’adresse. Ces entrées d’adresse (mot de commande ou d’adresse) codent le n° de l’entrée de données. Les nombres n et N sont liés par la relation : N = 2n. L’expression de S est pour un multiplexeur 4 vers 1 : E0 E1 X0 E1 E2 EN-1En 0 E0 E1 1 E2 E3 S ( X 1 , X 0 , E0 , E1 , E2 , E3 ) b0 b1 b2 ... bM Xn-1 ….X0 Mot de commande 1 X1 S E2 E3 0 ( ) ( ) = ( ) E0 X 1 X 0 + E1 X 1 X 0 + E2 X 1 X 0 + E3 ( X 1 X 0 ) Chapitre 3 : Circuits Logiques E0 E1 S E2 E3 G X0 X1 Chapitre 3 : Circuits Logiques Exemple : 74LS151 Ce circuit référencé 74LS151 est appelé sélecteur/multiplexeur 8 vers 1 c’est à dire qu’il possède 8 entrées de données (D0 à D7) pouvant être aiguillé vers la sortie Y (ou Y=W) grâce aux entrées de commande A, B et C. La validité du circuit se fait par l’entrée de sélection (chip select) notée G. (voir Mémotech électronique, p99) Inhibition Mot de Commande Entrées de Données EN D0 D1 D2 D3 D4 D5 D6 D7 C B A Y W H X X X B H B B B B D0 D0 Y B B B H D1 D1 W B B H B D2 D2 B B H H D3 D3 B H B B D4 D4 B H B H D5 D5 B H H B D6 D6 B H H H D7 D7 MUX G A B C G 0 2 0 1 2 3 4 5 6 7 8 G 0/7 Chapitre 3 : Circuits Logiques Complément sur la norme IEEE/ANSI : 0 Le libellé G7 signifie une dépendance fonctionnelle de type ET avec les entrées de sélection et chacune des entrées de données de 0 à 7. Inhibition Mot de Commande Entrées de Données EN MUX G A B C D0 D1 D2 D3 D4 D5 D6 D7 0 2 0 1 2 3 4 5 6 7 8 }G 0/7 Y W Chapitre 3 : Circuits Logiques Complément sur la norme IEEE/ANSI : le 74157 multiplexeur 4*(2 vers 1) Bloc commun qui s’applique à touts les blocs. E S I0a I1a I0b I1b I0c I1c I0d I1d EN G1 1 1 1 1 1 1 1 1 Za Zb Zc Zd La notation G1 sur l’entrée de sélection et les libellés 1 et 1 sur les entrées de données illustrent une dépendance de type ET entre l’entrée de sélection et les entrées de données. Le libellé 1 associé à I1a a la signification suivante : cette entrée est dirigée sur Za seulement quand l’entrée de sélection est à 1. Chapitre 3 : Circuits Logiques Exemple : Réalisation d’un multiplexeur 16 vers avec deux 74LS151 Y Inutile si « sortie 3 états » >1 OE OE D D ABC ABC Circuit avec sortie trois états Dans certaines applications, il s’avère nécessaire de déconnecter électriquement la sortie d’une porte logique pour l’isoler d’autres sorties attachées au même nœud électrique. En conséquence, l’impédance de sortie doit être très grande (→∞). Un nouvel état non logique apparaît en supplément du niveau haut et du bas : l’état de haute impédance (HiZ). Pour mettre en oeuvre une telle porte, il faut une entrée supplémentaire sélectionnant l’état haute impédance ou troisième état. Contrôle Entrée 1 Sortie Circuit avec sortie trois états Une sortie de type trois états est repérée par le symbole : ∇ Chapitre 3 : Circuits Logiques Synthèse d’une fonction logique à l’aide d’un multiplexeur : soit (0,3) la fonction logique a réaliser : S ( X 1 , X 0 ) = ∑ S X0 0 1 E1 1 0 0 E2 X1 0 1 0 0 E3 1 0 1 1 En S 3 b2 ... bM Xb01 b1….X 0 Mot de commande Chapitre 3 : Circuits Logiques Le démultiplexeur (1 vers N): Un démultiplexeur est un circuit logique à une entrée de données ou d’informations et N sorties qui reçoivent les informations d’entrée. La sélection de la sortie s’effectue par le mot binaire N provenant des n entrées d’adresse. Ces entrées d’adresse (mot de commande ou d’adresse) codent le n° de la sortie. Les nombres n et N sont liés par la relation : N = 2n. S1 S0 S2 S1 E S3 S2 S Sn3 b0 b1 b2 ... bM Xn-1 ….X0 Mot de commande L’expression de Si est donc (1 vers 4) : S0 ( X 1 , X 0 ) = E X 1 X 0 S1 ( X 1 , X 0 ) = E X 1 X 0 S 2 ( X 1 , X 0 ) = EX 1 X 0 S3 ( X 1 , X 0 ) = EX 1 X 0 Chapitre 3 : Circuits Logiques Chapitre 3 : Circuits Logiques Exemple : 74LS138 Ce circuit référencé 74LS138 est appelé décodeur/démultiplexeur 3 vers 8. La négation logique en sortie indique que l’état logique bas est présent sur la sortie choisie par les entrées de commande A, B et C. La validité du circuit se fait par les entrées de sélection notée G1, G2x. (voir Mémotech électronique, p102) A B C 1 2 4 BIN/OCT G1 G2A G2B & 0 1 2 3 4 5 6 7 1Y0 1Y1 1Y2 1Y3 2Y0 2Y1 2Y2 2Y3 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 Chapitre 3 : Circuits Logiques Les transcodeurs et les décodeurs Un transcodeur permet de convertir une combinaison n de bits en une autre de p bits. La différence entre un transcodeur et un décodeur réside dans l’application de l’objet défini plutôt que dans la fonction réalisée. Par exemple, on parle plutôt de transcodeur Gray/binaire mais on utilise un décodeur pour un système d’affichage sept segments Code x Code y n m transcodeur Code x Cible n m décodeur Chapitre 3 : Les additionneurs En base 2, l'addition de deux bits (si LSB : demi additionneur) avec création d’une retenue (carry) se traduit par : A0 B 0 C 0 S S0 0 0 0 0 0 A0 0 1 0 1 1 0 0 B0 1 1 1 1 0 C0 Half-Adder Il faut en fait tenir compte de la retenue des bits de poids inférieurs, un circuit additionneur doit donc comporter trois entrées et deux sorties, comme représenté sur la figure suivante : Ai Bi Ci-1 Si Full Adder Ci Chapitre 3 : Les additionneurs On obtient alors la table de vérité pour le rang 1 : A1 B1 C0 C1 S1 C1 = A1 B1 + A1C0 + B1C0 0 0 0 0 0 S1 = A1 B1 C0 + A1 B1 C0 0 0 1 0 1 + A1 B1 C0 + A1B1C0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 S1 = ( A1 ⊕ B1 ⊕ C0 ) A1 ⊕ B1 ⊕ ( A0 B0 ) Additionneur à retenue générée Montage récursif : besoin d’avoir Ci-1 pour obtenir Ci Additionneur à retenue propagée Chapitre 3 : Les additionneurs On obtient alors pour la retenue de rang 2 : Additionneur à retenue générée C2 = A 2 B2 + A 2 C1 + B2 C1 C 2 = A 2 B2 + A 2 ( A1 B1 + A1C0 + B1C0 ) + B2 ( A1 B1 + A1C0 + B1C0 ) C 2 = A 2 B2 + A 2 ( A1 B1 + A1C0 + B1 ( A 0 B0 ) ) + B2 ( A1 B1 + A1 ( A 0 B0 ) + B1 ( A 0 B0 ) ) Augmentation exponentielle du nombre de portes logiques en fonction du nombre de bits de l’opération à réaliser Chapitre 3 : Les additionneurs Additionneur à retenue générée Chapitre 3 : Les additionneurs De manière générale : Ai-1 Bi-1 Ci-1 Ci Si 0 0 0 0 0 0 0 1 0 1 Si = A i B i C i-1 + A i B i C i-1 0 1 0 0 1 + A i B i C i-1 + A i B i C i-1 0 1 1 1 0 Expressions Itératives 1 0 0 0 1 Additionneur à retenue propagée 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 C i = A i B i + A i C i-1 + B i C i-1 Temps de calcul dépendant de i Chapitre 3 : Les additionneurs Expression utilisée dans les circuits : Ci = A i Bi + A i Ci-1 + Bi Ci-1 Donner l’expression de Ci Ci = A i Bi + A i Ci-1 + Bi Ci-1 Si = A i Bi Ci-1 + A i Bi Ci-1 + Ai Bi Ci-1 + A i Bi Ci-1 A i Ci = Ai Bi Ci −1 Bi Ci = Bi Ai Ci −1 Ci-1 Ci = Ci −1 Ai Bi Si = A i Ci + Bi Ci + Ci-1 Ci + A i Bi Ci-1 Si = ( Ai + Bi + Ci-1 ) ⋅ Ci + A i Bi Ci-1 Chapitre 3 : Les additionneurs Ai-1 Bi-1 Ci-1 Si l’on considère que l’établissement de la sortie d’une porte logique n’est pas instantanée (retard : δs). Le résultat Si ne sera disponible que 2 δ après Ci et 5 δ après l’apparition des données. Si Fmax = (1 / 5 δ) Hz Il est difficile d’étendre ce type de méthode à des mots binaires de grandes tailles. C’est pourquoi on utilise rarement des circuits logiques pour effectuer des calculs (Utilisation de circuits dédiés : D.S.P.) Ci Chapitre 3 : Les additionneurs Pour des opérations sur des nombres de grandes tailles, on chaîne les additionneurs ce qui augmente le temps d’obtention du résultat définitif mais évite une augmentation exponentielle du nombre de portes (circuits itératifs). 20δ 15δ 10δ 5δ Chapitre 3 : Les additionneurs Les entiers relatifs : Avec la représentation CA2 : -A est représenté par CA2(A)+1 b i ⊕1 = bi Si add/sous =1 : b i ⊕1 = b i S = A + B +1 Si add/sous =0 : bi ⊕ 0 = b i S = A+ B S = A− B Chapitre 3 : Circuits Logiques Les Unités arithmétique et logique Une unité arithmétique et logique (UAL ou ALU, Arithmetic and Logic Unit en angloaméricain) permet tous les types d’opérations logiques et arithmétiques. A partir de 2 mots binaires de n bits, le mot binaire de sortie représente une opération logique ou arithmétique spécifiée dans une table de fonctionnement. Le résultat apparaît en sortie sur 2n bits. Les fonctions réalisées sont l’addition, la soustraction, la multiplication, la division, la comparaison, … Chapitre 3 : Circuits Logiques Unité arithmétique et logique à 1 bit F0F1 = 11 : + F0F1 = 10 : NON F0F1 = 01 : OU F0F1 = 00 : ET Chapitre 3 : Circuits Logiques Chapitre 3 : Circuits Logiques Exemple : ALU 4 bits et générateur de fonction 74LS181. Caractéristique des portes électroniques Technologiquement, il existe actuellement deux familles prépondérantes de circuits de logique qui correspondent à deux techniques différentes de réalisation sous forme intégrée. Ces deux technologies sont la famille des circuits logiques TTL et la famille des circuits logiques CMOS . Parmi les avantages de ces deux familles, nous retiendrons la faible consommation statique et la grande impédance d'entrée (~109 ) des CMOS, ainsi que la rapidité de la famille TTL. Ces deux familles sont elles-mêmes divisées en plusieurs sous-classes le graphe et tableau ci -dessous répertorient leurs dates d'apparition et leurs caractéristiques : Types Désignation Temps de propagation Consommation par porte Fréquence maximum Tension d'alimentation Immunité aux bruits TTL standard 7400 10 ns 10 mW 35 MHz 5 V 5% 0.4 V TTL Low Power 74L00 33 ns 1 mW 3 MHz 5 V 5% 0.4 V TTL Hight Speed 74H00 6 ns 22 mW 50MHz 5 V 5% 0.4 V TTL schottky 74S00 3 ns 19 mW 125 Mhz 5 V 5% 0.4 V TTL Low Power Schottky 74LS00 10 ns 2 mW 45 Mhz 5 V 5% 0.4 V TTL Advanced L.P.S. 74ALS00 4 ns 1 mW 100 MHz 5 V 5% 0.4 V CMOS 74C00 ~100 ns 100 nW 3 MHz 3 à 18 V 20% de VCC HCMOS 74HC00 15 ns 100 nW 15 MHz 3à6V 20% de VCC Caractéristique des portes électroniques Les niveaux logiques de ces deux familles sont les suivants (VDD est la tension d'alimentation des opérateurs logiques CMOS) : En entrée En Sortie Niveau haut > 2V > 2.4V Niveau bas < 0.8V > 0.4V Niveau haut > VDD/2 VDD Niveau bas < VDD/2 VDD TTL CMOS Acrobat Document Acrobat Document 74LS04 74HC04 Caractéristique des portes électroniques D’une manière plus précise, un circuit logique électronique est définit selon l’ensemble de ces paramètres électriques : la plage des tensions d’alimentation et la tolérance admise sur cette valeur, la plage des tensions associée à un niveau logique, en entrée ou en sortie, les courants pour chaque niveau logique, en entrée ou en sortie, le courant maximum que l’on peut extraire d’une porte logique et le courant absorbé en entrée, la puissance maximale consommée qui dépend souvent de la fréquence de fonctionnement. Les performances dynamiques principales sont : les temps de montée (transi ti on bas–haut) et de descente (transi ti on haut–bas) des signaux en sortie d’une porte, les temps de propagation d’un signal entre l’entrée et la sortie d’une porte logique. Les différentes notions abordées seront illustrées de valeurs numériques issues de la technologie TTL. Caractéristique des portes électroniques Notations (abréviations de termes anglo-américains) Tensions VCC : tension nominale d’alimentation, VIH : tension d’entrée au niveau logique haut (Input High), VIL : tension d’entrée au niveau logique bas (Input Low), VOH : tension de sortie au niveau logique haut (Output High), VOL : tension de sortie au niveau logique bas (Output Low). Courants : tous les courants sont entrants dans la porte. ICC : courant d’alimentation (suivant les conditions d’utilisation de la porte), IIH : courant d’entrée au niveau logique haut, IIL : courant d’entrée au niveau logique bas, IOH : courant de sortie au niveau logique haut, IOL : courant de sortie au niveau logique bas. Caractéristique des portes électroniques Au niveau logique haut Au niveau logique bas Caractéristique des portes électroniques Tensions caractéristiques Tension d’alimentation Les circuits intégrés sont alimentés sous une tension nominale Vcc. En TTL, cette valeur est de 5V associée à une tolérance. On distingue deux tolérances, une pour chaque série : Série standard 74... (commerciale) : Vcc = 5 V ± 5% ; Série dite « militaire » 54... : Vcc = 5 V ± 10%. Un niveau logique correspond à une plage de tensions : le niveau logique 1 (entre Vcc et une limite inférieure à Vcc) et le niveau 0 (de 0 V à une limite supérieure) VIHmin < Vin < Vcc VOHmin < Vout < Vcc 0 < Vin < VILmax 0 < Vout < VOLmax Caractéristique des portes électroniques Bruit statique et immunité Un bruit est une variation intempestive (ou aléatoire) d’une grandeur physique autour de la valeur déterminée (permanente, attendue ou nominale). L’immunité au bruit est la marge de sécurité que l’on peut observer sans provoquer un changement d’état logique non désiré : c’est l’amplitude maximale du signal parasite à superposer au signal d’entrée pour provoquer un changement d’état en sortie. Dans le cas le plus défavorable, l’immunité au bruit au niveau logique haut est VOHmin-VIHmin et au niveau logique bas VILmax-VOLmax Caractéristique des portes électroniques Gabarit de transfert Les deux graphes précédents sont rassemblés en un seul pour traduire la fonction logique entre ces tensions : c’est le gabarit de transfert. Une porte satisfait le gabarit si sa courbe de transfert se trouve dans la partie non grisée. La tension de basculement, notée VT (T pour threshold, seuil), correspond à la tension d’entrée pour laquelle la sortie change d’état (approximativement l’intersection de la tangente au point d’inflexion de la courbe avec l’axe VIN). Caractéristique des portes électroniques Courants d’entrée et de sortie d’une porte Courants d’entrée (Une entrée est équivalente à une charge électrique) . IIL : courant qu’il faut extraire de la porte pour imposer un niveau logique bas en sortie. En TTL LS : IIL = -400 µA (négatif avec les conventions). IIH : courant absorbé par l’entrée de la porte au niveau logique haut. En TTL: IIH = 20 µA (celui d’une diode en inverse, donc faible). Courants de sortie (Une sortie est équivalente à un générateur) IOL : ce courant est issu des différentes entrées commandées. En TTL LS : IOLmax = 8 mA est la valeur maximale du courant en sortie qui assure que l’on se trouve encore dans le gabarit de transfert (VOUT < VOLmax). IOH : ce courant est issu des différentes entrées commandées. En TTL LS : IOHmax = -400 µA est la valeur maximale du courant en sortie qui assure que l’on se trouve encore dans le gabarit de transfert (VOUT > VOHmin ) Caractéristique des portes électroniques Marquage au niveau bas Marquage au niveau haut Caractéristique des portes électroniques Charges maximales équivalentes On définit l’impédance mini et maxi qu’il est possible de placer à la sortie d’une porte à partir des valeurs maxi et mini des courants : Caractéristique des portes électroniques Sortance des portes logiques La sortance traduit le nombre maximum d’entrées logiques que peut commander une sortie. Sortance au Niveau logique bas : Sortance au Niveau logique haut : Pour pallier l’insuffisance de sortance, on utilise une porte logique à sortie dite « bufférisée ».Dans ce cas, les gabarits de tension et les courants d’entrée sont identiques aux caractéristiques standards, mais les courants de sortie maximum aux deux niveaux logiques (IOL et IOH) sont plus importants. Sur le symbole de la porte, la sortie est marquée par le signe (amplification). Exemple : porte logique 74LS37 sortance niveau haut : IOHmax = -1,2 mA et IIH = 20 mA sortance = 60 sortance niveau bas : IOLmax = 24 mA et IIL = -400 mA sortance = 60 Caractéristique des portes électroniques Consommation des circuits logiques Le courant total consommé (dans diverses conditions définies dans la notice du constructeur) Icc permet de calculer la puissance dissipée dans le circuit intégré. Ces paramètres de consommation sont nécessaires pour dimensionner l’alimentation de la carte qui va recevoir tous les circuits. En logique TTL, la consommation des circuits varie peu pour les fréquences faibles puis augmente très rapidement avec la fréquence Puissance dissipée par une porte en mW Caractéristique des portes électroniques Caractéristiques temporelles des portes logiques Dans les éléments électriques, les grandeurs sont transmises avec un retard caractéristique de la porte : c’est le temps de propagation de l ’information dans la porte. On distingue la transition haut–bas (front descendant) ou bas–haut (front montant) : TpHL : temps de propagation du signal logique lorsque la sortie passe de l’état haut à l’état bas (Propagation Time High to Low). TpLH : temps de propagation du signal logique lorsque la sortie passe de l’état bas à l’état haut (Propagation Time Low to High). Pour assurer la mesure de ces durées, une référence de tension est fixée par les constructeurs (1,3 V en TTL) pour le début et la fin de la propagation La sortie d’une porte est chargée par une ligne dont le comportement capacitif (capacité répartie de la ligne, capacité d’entrée des circuits placés en aval,…) influence le temps de retard en raison de la réponse transitoire du circuit RC équivalent. Les notices techniques spécifient les temps de propagation pour différentes valeurs de capacité de charge (CL Load Capacitance). Plus CL est grande, plus le temps de propagation est élevé. Caractéristique des portes électroniques Problèmes rencontrés : Aléas Définition : Aléas statique Un système combinatoire présente un aléas statique si, pour deux entrées adjacentes, la sortie du système devant être constante ( 0 ou 1) , la sortie présente un régime transitoire durant lequel la sortie change de valeur (1 ou 0). e=0 e=1 e=0 S(t) e=1 S(t) t t Ces aléas ont souvent pour origine un mauvais choix des impliquants premiers de la table de Karnaugh. Problèmes rencontrés : Aléas AA Aléas statique S S X A=B X BB X BX TpLH AX 2TpHL TpHL 2TpLH S TpHL TpLH Aléas de sortie (glitch) Chapitre 3 : Circuits Logiques Traitement des aléas statiques : Un aléas peut apparaître si A et B valent 1 et X change de valeur. Entrée anti-glitch : si A et B valent 1 la sortie vaut 1 donc utilisation d’un terme supplémentaire évitant l’aléas A S X B Chapitre 3 : Circuits Logiques Situation typique d’apparition d’aléas : transition mal couverte. S = A X + BX A Nouveau terme anti-glitch : AB B Utilisation du théorème du consensus : S = F1 X + F 2 X + F1 F 2 Chapitre 3 : Circuits Logiques Portes évitant l’apparition de Glitch Problèmes rencontrés : Aléas Définition : Aléas dynamique Un système combinatoire présente un aléas dynamique si, pour deux entrées adjacentes, la sortie du système devant passer par la valeur 0 à la valeur 1 ( ou de 1 à 0), il existe un régime transitoire durant lequel se présente à la sortie la séquence 0 1 0 1 (ou 1 0 1 0). e=0 e=1 e=0 S(t) e=1 S(t) t t Ces aléas ont souvent pour origine les limitations physiques de la technologie qui réalise la machine logique. Exemple la logique à interrupteur : 1 a ?? 0 Problèmes rencontrés : Aléas Les aléas de séquence (course non critique) : S(a,b,c,d) ab cd 00 00 1 01 11 10 abcd =1100 S(1100)=1 0111 S(0111)=1 1100 1 1 0 01 1 0 0 0 11 0 1 0 1 10 0 1 1 0 0100 0110 1110 1101 0101 0110 1111 0101 1111 0111 0111 0111 0111 0111 0111 OK PB