/HVV\VWqPHVFRPELQDWRLUHV I. Dfinition On appelle systme combinatoire tout systme numrique dont les sorties sont exclusivement dfinies partir des variables dentre (Figure 1). x 1 Systme combinatoire x 2 x n Sp = fp(x 1 , x 2 , , , x n ) S1 = f1(x 1 , x 2 , , , x n ) S2 = f2(x 1 , x 2 , , , x n ) Figure 1 : systme combinatoire gnrant p sorties S i partir des n variables d'entre x i . II. Les fonctions combinatoires II.1. Les oprateurs logiques lmentaires et leurs dclinaisons Les oprateurs logiques lmentaires sont disponibles sous forme de circuits intgrs de taille et de nombre de broches variable suivant la quantit ou le nombre dentre des oprateurs. II.1.1. Oprateurs NON Les oprateurs NON ne possdent videmment quune seule entre. Les sorties de ces portes peuvent tre amplifies (buffer) ou collecteur ouvert (CO). Des seuils de dclenchement peuvent caractriser ces entres : on dit alors que ce sont des entres trigger de Schmitt. II.1.2. Oprateurs ET Sur la base des oprateurs ET deux entres, on en construit dautres 3, 4 et 8 entres. Des portes drives font appel des modes particuliers des entres et des sorties. II.1.3. Oprateurs OU Le principe reste identique pour les oprateurs OU 2, 3 ou 4 entres. II.1.4. Oprateurs NAND Plus nombreuses, les dclinaisons de ces oprateurs offrent des portes 2, 3, 4, 8 ou 13 entres. II.1.5. Oprateurs NOR Les dclinaisons de ces oprateurs offrent des portes 2, 3, 4 ou 5 entres. II.1.6. Oprateurs XOR Diffrentes possibilits, mais toujours avec deux entres. II.2. Dcodeurs et transcodeurs II.2.1. Dfinitions Un transcodeur permet de convertir une combinaison n de bits en une autre de p bits. La diffrence entre un transcodeur et un dcodeur rside dans lapplication de lobjet dfini plutt que dans la fonction ralise. Par exemple, on parle plutt de transcodeur Gray/binaire mais on utilise un dcodeur pour un systme daffichage sept segments. @ CY Nur01 novembre 98 V1.1 2 / 8 Les systmes combinatoires II.2.2. Dcodeurs et transcodeurs usuels Parmi les composants les plus courants retenons ceux-ci : binaire vers dcimal (4 vers 10), Gray excs 3 vers dcimal, BCD vers dcimal ou binaire vers hexadcimal. (4 vers 16) Un dcodeur 7 segments permet, partir dune combinaison sur 4 bits, de piloter un afficheur sept segments en dcimal (digits de 0 9) ou en hexadcimal (digits de 0 F). II.3. Multiplexeurs et dmultiplexeurs II.3.1. Dfinition Un multiplexeur (multiplexer) (Figure 2) permet de transmettre en sortie un bit de donne dont le rang est indiqu par un mot de slection de n bits (le slecteur), parmi les 2 n bits dentre. Cest une sorte daiguillage de 2 n vers 1 voie. Un dmultiplexeur (demultiplexer) (Figure 3) effectue lopration inverse en assignant la sortie de rang indiqu par le slecteur, le bit de donne en entre. Cest une sorte daiguillage 1 voie vers 2 n voies. MUX G 0 2 n -1 n 0 Sortie Slecteur Donnes 0 n-1 2 n -1 2 n DMUX n Sorties Slecteur Donne G 0 2 n -1 0 n-1 2 n 0 2 n -1 Figure 2 : symbole dun multiplexeur. Figure 3 : symbole dun dmultiplexeur. II.3.2. Applications Un multiplexeur permet de synthtiser aisment une fonction logique ou daiguiller des informations au sein dun systme numrique. II.3.3. Multiplexeurs et dmultiplexeurs usuels Multiplexeurs : 2 , 4, 8 ou 16 vers 1. Dmultiplexeurs :1 vers 2, 4, 8 ou 16. II.4. Les oprations logiques sur mots binaires II.4.1. Dfinitions On appelle oprateur logique, une fonction combinatoire ralisant une opration logique entre deux mots binaires cods sur n bits. Les oprations logiques sont : la complmentation Exemple : NON(1011001110) = NON(0000001011001110)= NON($02CE) = 1111110100110001 = $FD31. Remarque : On ajoute des zros en tte pour atteindre un codage sur un poids binaire de bits. La somme logique (ou) Exemple : 101110010+1010010001 (lire ... ou ...) = 1111110011 soit $172 + $291=$3F3 Le produit logique (et) Exemple : 101110010.1010010001 (lire ... et ...) = 10000 soit $172 . $291=$10 La somme exclusive logique (xor) Exemple : 101110010 1010010001 (lire ... xor ...) = 1111100011 soit $172 $291=$3E3 @ CY Nur01 novembre 98 V1.1 3 / 8 Les systmes combinatoires II.5. Oprateurs arithmtiques II.5.1. Dfinitions On appelle oprateur arithmtique, une fonction combinatoire ralisant une opration arithmtique entre deux mots binaires de n bits (codage pondr). Les oprations arithmtiques de base sont laddition et la multiplication. La soustraction est obtenue par addition de loprande code en complment 2. II.5.2. Ladditionneur Ladditionneur (adder) numrique ralise la somme de deux nombres de n bits en tenant compte ventuellement dune retenue extrieure. Le rsultat est fourni sur n + 1 bits, le dernier bit est la retenue. II.5.3. Le multiplicateur Le multiplicateur (multiplier) numrique ralise le produit de deux nombres de n bits en tenant compte dune retenue extrieure. Le rsultat est fourni sur 2n bits. II.6. Unit arithmtique et logique Une unit arithmtique et logique (UAL ou ALU, Arithmetic and Logic Unit en anglo-amricain) permet tous les types doprations logiques et arithmtiques. A partir de 2 mots binaires de n bits, le mot binaire de sortie reprsente une opration logique ou arithmtique spcifie dans une table de fonctionnement. Le rsultat apparat en sortie sur 2n bits. Exemple : ALU 4 bits et gnrateur de fonction 74181. II.7. Autres fonctions II.7.1. Comparateur dgalit Un comparateur dgalit fourni la valeur 1 si deux mots binaires de n bits en entre sont identiques (au bit prs). Dans le cas contraire la valeur 0 est fournie. II.7.2. Comparateur arithmtique Un comparateur (magnitude comparator) est une gnralisation du comparateur dgalit mais indiquant, grce deux sorties supplmentaires, la position relative dun mot dentre (A) par rapport lautre (B). Cet oprateur possde donc trois sorties (A < B), (A = B) et (A > B). III. Synthse des systmes logiques combinatoires A partir du cahier des charges, on construit la table de vrit. Une mise en quation directe permet dexprimer la sortie partir des diffrentes variables dentre, mais la recherche de lexpression logique peut tre optimise laide des tables de Karnaugh. Disposant de la fonction, la synthse devient possible de manire directe laide doprateurs logiques, de multiplexeurs ou laide de circuits spcialiss, les rseaux logiques programmables. Cahier des charges Table de vrit Mise en quation (avec optimisation) Synthse : 1||ec|e, ru|||p|eteu|s c||cu||s spec|a||ses Figure 4 : descriptif de la synthse dune fonction logique combinatoire. III.1. Synthse dune expression boolenne par table de Karnaugh III.1.1. Introduction III.1.1.1. Insuffisance et inadaptation du code binaire naturel Un processus rel ne voit jamais une simultanit parfaite des vnements : deux variables logiques ou davantage ne peuvent changer dtat simultanment. On observe pourtant ce phnomne lors du passage entre les valeurs 2 et 3 codes en binaire naturel (Figure 5). Entre le dbut du changement et la prise deffet du nouvel tat, plusieurs combinaisons apparaissent de manire alatoire suivant la rapidit dvolution des variables (ici 111, puis 110 et enfin 100). @ CY Nur01 novembre 98 V1.1 4 / 8 Les systmes combinatoires t t t Re|a|1 011 111 110 100 011 a 2 Dbut du changement Prise d'effet de la nouvelle configuration a 1 a 0 Figure 5 : chronogrammes d'volution pour le passage de 011 100. Il rsulte de cette observation que le codage en binaire naturel nest pas adapt la description des phnomnes logiques rels. Il est ncessaire de mettre en place un code qui ne fait voluer quun seul bit la fois : le code binaire rflchi ou code Gray. III.1.1.2. Le code binaire rflchi Le code binaire rflchi est construit par rflexions partielles (do son nom). Le Tableau 1 le dcrit sur 4 bits. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 MSB r 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 r 2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 r 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 LSB r 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Tableau 1 : code binaire rflchi. III.1.2. Les tables de Karnaugh III.1.2.1. Mise en place Par des moyens semi-graphiques , la mthode de Karnaugh permet doptimiser le nombre de termes en oprant des simplifications directes sans crire tous les mintermes. table deux entres (lignes-colonnes) ; on quilibre les variables sur les lignes et les colonnes pour sapprocher dun tableau carr ; les lignes et les colonnes sont codes en code Gray ; chaque case contient ltat de la sortie (0 ou 1) pour les entres correspondantes. III.1.2.2. Rgles de simplification Constituer des groupes de 1 ces groupes de taille maximale, doivent contenir un nombre de cases gal un poids binaire (1, 2, 4, 8, 16,...) et doivent respecter les symtries de la table ; les bords de la table sont adjacents, ce qui permet dlargir les possibilits de regroupement grace des repliements (Figure 6). Un regroupement constitue un ensemble de mintermes (cases) lis par lopration OU. Du fait de la symtrie, des variables se simplifient deux deux. Un regroupement constitue donc une expression logique simplifie. Pour extraire cette expression, on ne retient que les variables dont ltat logique nest pas modifi par dplacement de case en case lintrieur du groupement. Les bords haut et bas sont adjacents. Les bords droit et gauche sont adjacents. En consquence les coins sont adjacents (deux deux ou en combin) Figure 6 : illustration des rgles de repliement @ CY Nur01 novembre 98 V1.1 5 / 8 Les systmes combinatoires Couvrir tous les 1 mme avec chevauchements Une ou plusieurs cases peuvent tre communes plusieurs regroupements. On dit que lon effectue des chevauchements pour augmenter la taille des groupes. Cependant les inclusions ne sont pas autorises. La confection des groupes cesse lorsque tous les 1 appartiennent au moins lun dentre eux. Toutes les expressions trouves sont sommes (OU logique) pour constituer lquation de la sortie considre. Remarque : suivant la forme du rsultat souhait (canonique 1 ou 2), on extrait les 1 (quation de la fonction) ou les 0 (quation du complment logique de la fonction). III.2. Ralisation laide doprateurs logiques Divers modes de synthse seront abords autour de la fonction exemple d a. ).c b a ( S + + = . III.2.1. Synthse directe Dans ce mode, on utilise directement les oprateurs correspondant lexpression logique pour fournir le logigramme de la Figure 7. a b c 1 & 1 1 d & S Figure 7 : rsultat de la synthse directe. III.2.2. Emploi exclusif doprateurs NAND Loprateur NAND est universel, cest dire quune fonction peut sexprimer uniquement avec ces oprateurs. Pour ne faire apparatre que des NAND, on crit lexpression sous la premire forme canonique (somme de produits) puis on complmente. En appliquant les thormes de De Morgan plusieurs fois de suite, on obtient une expression exclusivement en NAND. ) ( ) ( . d a c b a d a. c b a d a. c b a d a. c b a d a. ).c b a ( S = = + = + = + + = a && & & b c & & d & S Figure 8 : reprsentation laide unique de NAND. III.2.3. Emploi exclusif doprateurs NOR Loprateur NOR est lui aussi universel. On crit lexpression sous la deuxime forme canonique (produit de sommes) puis on complmente. En appliquant les thormes de De Morgan plusieurs fois de suite, on obtient une expression exclusivement en NOR. ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) )( )( )( )( )( ( d c d b d a c a b a d c d b d a a c a b S d c d b d a a c a b a a d a. c b a d a. ).c b a ( S = + + + + + + + + + = + + + + + + = + = + + = 1 1 S 1 1 1 1 S a b c a d Figure 9 : reprsentation unique laide de NOR. @ CY Nur01 novembre 98 V1.1 6 / 8 Les systmes combinatoires III.3. Ralisation laide de multiplexeurs Le multiplexeur rend disponible en sortie lune des 2 n entres (donnes de la table de vrit) choisie par une adresse fixe par le slecteur. Ces adresses construisent les 2 n mintermes qui sont valids par les donnes pour apparatre en sortie. A titre dexemple synthtisons la fonction S dcrite par la table de vrit du Tableau 2. Le rsultat apparat la Figure 10. On remarquera linutilit dextraire lexpression logique et la ncessit dajouter une porte NON pour prendre en compte lactivit ltat bas du multiplexeur. a b c S 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 MUX 0 2 G 0 7 0 1 2 3 4 5 6 7 1 0 1 1 0 0 1 1 a b c S 1 Tableau 2 Figure 10 : la fonction synthtise par multiplexeur 152. III.4. Utilisation de circuits programmables spcialiss III.4.1. Prsentation et dfinitions Les besoins en fonctions combinatoires toujours spcifiques au cahier des charges rsoudre, relays par les progrs de lintgration des circuits intgrs et la pression des utilisateurs ont incits les constructeurs dvelopper des produits de faible encombrement, faciles mettre en uvre et rpondant une large tendue de besoins. Lventail de ce type de circuits programmables est trs large. En voici la liste classe par ordre de complexit dcroissante et leur principe de ralisation technologique. circuits ASIC (Application Specific Integrated Circuit), les substrats sont prpars pour une application spcifique. Ce choix est particulirement justifi dans les grandes sries. circuits prcaractriss, rsultant dun assemblage de fonctions prdfinies que lutilisateur assemble pour tre intgres par le fabricant. Le circuit livr ne ncessite plus dopration. circuits prdiffuss masquables, des blocs de fonctions logiques ont t implantes par le constructeur qui, la demande de lutilisateur, diffuse une dernire couche daluminium matrialisant les liaisons spcifies. circuits prdiffuss programmables (FPGA, Field Programmable Gate Array), reprend le principe du prdiffus masquable mais les interconnexions sont ralises par destruction ou programmation de liaisons fusibles. Circuits PLD (Programmable Logic Device), comportant des lments logiques dont le cblage est termin par rupture de liaisons fusibles. Circuits EPLD (Erasable Programmable Logic Device), pour lesquels la liaison est reprogrammable (bien souvent par le biais dun logiciel) ; PLA (Programmable Logic Array), ce sont des circuits comportant des portes ET programmables et des OU fixes ; GAL (Generic Array Logic), ce sont des PAL CMOS reprogrammables. III.4.2. Principe de programmation dun PAL Les liaisons programmables sont fusibles. Lorsque le PAL est vierge toutes les liaisons existent. Programmer le composant consiste faire fondre certains fusibles pour enlever les liaisons associes. Cette opration est effectue laide dun programmateur qui reoit les informations dun logiciel. Bien souvent celui-ci offre la possibilit de raliser son tude en effectuant les schmas et leur simulation. Exemple : programmer la fonction 2 1 2 1 I I I I S + = (XOR) donne le rsultat de la Figure 12. @ CY Nur01 novembre 98 V1.1 7 / 8 Les systmes combinatoires 1 1 & & 1 I 1 I 2 I 1 I 2 I 1 I 2 S 1 ||res 1'er||ee 1 1 & & 1 I 1 I 2 I 1 I 2 I1 I2 S Figure 11 : extrait de PAL. Les intersections sont des liaisons destructibles (fusibles). Figure 12 : les liaisons conserves sont marques (opration XOR). III.4.3. Elments sur le PAL TIB PAL16L8-5C (Texas Instruments) Ce document ne fournit que des lments dinformation. La notice des composants est plus complte. Ici, le symbole IEC apparat la Figure 13 et la structure interne la Figure 14. Figure 13 : symbole IEC du
PAL16L8-5C Figure 14 : structure interne du PAL16L8-5C. @ CY Nur01 novembre 98 V1.1 8 / 8 Les systmes combinatoires