Vous êtes sur la page 1sur 208

Cours ELE2300 (3.

313)

SYSTMES LOGIQUES I
Quatrime dition

Jean-Franois Harvey Mohamad Sawan

Dpartement de gnie lectrique et de gnie informatique

COLE POLYTECHNIQUE DE MONTRAL Septembre 1999

PRFACE

Lapprentissage des concepts relatifs aux Systmes Logiques fait l'objet de recherches pdagogiques diversifies. De nombreux ouvrages paraissent chaque anne apportant des variantes plus ou moins accentues sur les nombreux aspects de la logique. Au moment d'aborder ce domaine, on a dj dvelopp des connaissances sur les systmes linaires dont les variables d'entres et sorties sont continues et s'expriment analytiquement. Les relations entres/sorties sont dfinies par des quations diffrentielles ou par leurs transformes. En logique les variables sont discontinues et ces fonctions de transfert ne s'expriment plus en termes de temps ou de frquences, mais sous forme de tables ou de relations boolennes. L'tude des systmes logiques implique donc une reprsentation diffrente des variables et des relations entres/sorties. Par consquent, ces mthodes d'analyse et de synthse de ces systmes impliquent des postulats, des conventions, des hypothses, un formalisme et des algorithmes, qui nont rien voir avec le domaine linaire. Ce document est une contribution au processus dapprentissage relatif ces mthodes. Il couvre de faon modulaire les principaux sujets qui doivent tre traits dans un cours introductif portant. sur les Systmes Logiques, dans un ordre qui rencontre nos vues sur l'aspect pdagogique que nous avons dvelopp au cours des annes.

ii

Table des matires

CHAPITRE 1 : INTRODUCTION ..........................................................................1 1.1 OBJECTIFS.............................................................................................................1


1.1.1 Objectifs gnraux.................................................................................................................. 1 1.1.2 Objectifs spcifiques ............................................................................................................... 2

1.2 PLAN DU COURS .....................................................................................................3 1.3 CONCEPTS FONDAMENTAUX..................................................................................4

CHAPITRE 2 : LA LOGIQUE COMBINATOIRE ..................................................7 2.1 LMENTS DE BASE ...............................................................................................7 2.2 CRITURE ET LECTURE DE SCHMAS ....................................................................9 2.3 ALGBRE DE BOOLE ...........................................................................................11
2.3.1 Proprits de l'algbre boolenne ..........................................................................................12

2.4 SYNTHSE ET SIMPLIFICATION ............................................................................16


2.4.1 Karnaugh ..............................................................................................................................17 2.4.2 Quine/McCluskey ..................................................................................................................26 2.4.3 Table de Karnaugh variable inscrite ...................................................................................33

2.5 LMENTS DE BASE II .........................................................................................35 2.6 MODULES ET FAMILLES LECTRONIQUES ...........................................................42


2.6.1 Modules et lments logiques.................................................................................................42 2.6.2 Familles logiques ..................................................................................................................43 2.6.3 Spcifications lectriques.......................................................................................................45

CHAPITRE 3 : LA LOGIQUE MIXTE .................................................................49 3.1 LOGIQUE POSITIVE ..............................................................................................49 3.2 LOGIQUE NGATIVE ............................................................................................49 3.3 LOGIQUE MIXTE ..................................................................................................49 3.4 IMPACT DES CONVENTIONS .................................................................................50

iii

Table des matires (suite)

3.5 SYMBOLES ET NOTATION.....................................................................................51


3.5.1 La barre oblique....................................................................................................................51 3.5.2 Le OOPS ...............................................................................................................................52 3.5.3 Les quivalences de portes.....................................................................................................53 3.5.4 Avantages de la logique mixte................................................................................................54 3.5.4 Analyse de schma en logique mixte.......................................................................................56 3.5.5 Synthse de schma en logique mixte. ....................................................................................57

CHAPITRE 4 : LES RSEAUX ITRATIFS .......................................................61 4.1 INTRODUCTION ...................................................................................................61 4.2 FORME GNRALE DES RSEAUX ITRATIFS .......................................................62 4.3 MTHODOLOGIE DE DESIGN ................................................................................63

CHAPITRE 5 : CODES ANALYTIQUES ET REPRSENTATIFS......................71 5.1 DFINITIONS .......................................................................................................71 5.2 CODES FRQUENTS..............................................................................................71
5.2.1 Binaire naturel ......................................................................................................................71 5.2.2 Binaire naturel avec signe .....................................................................................................72 5.2.3 Complment 1.....................................................................................................................72 5.2.4 Complment 2.....................................................................................................................73 5.2.5 Code hexadcimal .................................................................................................................75 5.2.6 Code octal .............................................................................................................................75 5.2.7 Code BCD (Binary Coded Decimal).......................................................................................76 5.2.8 Code de Gray ........................................................................................................................76

5.3 APPLICATION DES CODES LA DTECTION ET CORRECTION D'ERREURS ............77


5.3.1 Dfinitions.............................................................................................................................77 5.3.2 Redondance...........................................................................................................................81 5.3.3 Parit orthogonale.................................................................................................................83 5.3.4 Code de Hamming .................................................................................................................85

iv

Table des matires (suite)

CHAPITRE 6 : LA LOGIQUE SQUENTIELLE .................................................90 6.1 DFINITIONS .......................................................................................................90 6.2 SYSTMES ASYNCHRONES ...................................................................................92
6.2.1 Analyse .................................................................................................................................92 6.2.2 Synthse ................................................................................................................................95

6.3 LMENTS DE MMOIRE ...................................................................................104 6.4 SYSTMES SYNCHRONES ...................................................................................109


6.4.1 Synthse ..............................................................................................................................109 6.4.2 Analyse ...............................................................................................................................111

CHAPITRE 7 : UNIT DE COMMANDE INDUSTRIELLE (ICU MC14500) .....114 7.1 DESCRIPTION ....................................................................................................114 7.2 CONSTITUANTS .................................................................................................115 7.3 LES INSTRUCTIONS ............................................................................................117 7.4 LIMITATIONS.....................................................................................................119 7.5 CRITURE DE PROGRAMMES .............................................................................119

CHAPITRE 8 : INITIATION LA LOGIQUE PROGRAMMABLE....................122 8.1 INTRTS DE LA LOGIQUE PROGRAMMABLE .....................................................122 8.2 FAMILLES DE LOGIQUE PROGRAMMABLE .........................................................123

Liste des figures


Figure 2.1: quation et reprsentation schmatique d'une fonction logique Figure 2.2: Schma du circuit de l'exemple 2.1 Figure 2.3: Schma de l'exemple 2.3 Figure 2.4: Schma simplifi de l'exemple 2.3 Figure 2.5: Tables de Karnaugh 2, 3, 4 et 5 variables Figure 2.6: Formation d'impliquants dans les tables de Karnaugh Figure 2.7: Remplissage de la table de Karnaugh Figure 2.8: Formation des impliquants Figure 2.9: Formation optimale des impliquants Figure 2.10: Effets d'un impliquant redondant Figure 2.11: Symtrie de la table de Karnaugh Figure 2.12: Symtrie de la table de Karnaugh Figure 2.13: Symtrie de la table de Karnaugh Figure 2.14: Table de Karnaugh variable inscrite Figure 2.15: Reprsentation gnrale d'un multiplexeur Figure 2.16: Caractristiques du 74153 Figure 2.17: Reprsentation gnrale d'un dmultiplexeur Figure 2.18: Caractristiques d'un dmultiplexeur Figure 2.19: Reprsentation gnrale d'un encodeur Figure 2.20: Caractristiques du 74148 Figure 2.21: Reprsentation gnrale d'un dcodeur Figure 2.22: Caractristiques d'un dcodeur 1 parmi 4 Figure 2.23: Reprsentation gnrale des mmoires ROM et RAM Figure 2.24: Diffrence de comportement entre une bistable et une bascule Figure 2.25: Comportement d'un compteur 4 bits Figure 2.26: Rduction du nombre de modules logiques Figure 2.27: lment logique est ses spcifications lectriques Figure 2.28: Spcifications lectriques du 7400 Figure 2.29: Branchement de charge sur des modules logiques vi 10 11 15 16 20 21 22 22 22 24 25 25 26 34 36 36 37 37 38 38 39 39 40 41 41 43 45 47 48

Liste des figures (suite) Figure 3.1: Symboles de la logique mixte Figure 3.2: Utilisation du symbole de changement de convention Figure 3.3: Utilisation du OOPS Figure 3.4: Schma de gnration de l'inverse de A Figure 3.5: Schma de l'exemple 3.2 Figure 3.6: Premire tape de la synthse en logique mixte Figure 3.7: Troisime tape de la synthse en logique mixte Figure 3.8: Schma final de l'exemple 3.3 Figure 3.9: Troisime tape de la synthse en logique mixte Figure 3.10: Schma final de l'exemple 3.4 51 51 53 53 57 58 58 59 59 60

Figure 4.1: Forme gnrale dun rseau itratif spatial Figure 4.2: Schma bloc de l'exemple 4.1 Figure 4.3: Table de Karnaugh de l'exemple 4.1 Figure 4.4: Schma d'une cellule du comparateur Figure 4.5: Schma bloc de la solution 2 Figure 4.6: Schma de la solution 2

62 66 67 67 68 70

Figure 5.1: Schma de conversion du code binaire vers le code de Gray Figure 5.2: Systme de transmission binaire Figure 5.3: Canaux bruyants

77 78 78

Figure 6.1: Rseau squentiel simple Figure 6.2: Aperu gnral des machines de Mealy et de Moore Figure 6.3: Machine asynchrone Figure 6.4: Diagramme de fusionnement de l'exemple 6.4 Figure 6.5: Diagramme des transitions Figure 6.6: Schma du circuit de l'exemple 6.4 Figure 6.7: Formes directe et optimise d'une bascule S/R

90 92 93 99 100 103 105

vii

Liste des figures (suite) Figure 6.8: Schma d'une bascule SR avec horloge et initialisation Figure 6.9: Schma d'une bistable Figure 6.10: Schma d'une bascule JK Figure 6.11: Diagramme d'tats de l'exemple 6.5 Figure 6.12: Schma de l'exemple 6.6 Figure 6.13: Squence des tats de l'exemple 6.6 106 107 108 110 112 113

Figure 7.1: Schma bloc d'un systme bas sur le 14500 Figure 7.2: Vue interne du 14500 Figure 7.3: Entres/sorties du systme utilis pour les exemples

115 117 119

Figure 8.1: Architectures de composants programmables Figure 8.2: Solutions de l'exemple 8.1

124 125

viii

Liste des tableaux


Tableau 2.1: Code binaire naturel Tableau 2.2: Code de Gray 1, 2 et 3 bits Tableau 2.3: Principales caractristiques des familles logiques 18 19 46

Tableau 3.1: Convention des logiques positive et ngative Tableau 3.2: Impact des conventions sur un 7408 Tableau 3.3: Effets du changement de convention Tableau 3.4: Effets du changement de convention Tableau 3.5: Effets du OOPS Tableau 3.6 : quivalence des portes en logique positive et ngative Tableau 3.7: quivalence des portes de base Tableau 3.8: Clart de la logique mixte Tableau 3.9: Optimisation de circuits avec la logique mixte

50 50 52 52 53 54 55 55 56

Tableau 5.1: Code de gray 4 bits

76

Tableau 6.1: Tableau d'excitation complet Tableau 6.2: Synthse des variables d'tats Tableau 6.3: Excitation et sortie d'une bascule S/R Tableau 6.4: Table de transitions des diffrentes bascules

101 102 105 108

ix

CHAPITRE 1 Introduction
1.1 Objectifs
1.1.1 Objectifs gnraux Ltude dune matire est une occasion pour un tudiant denrichir sa culture, dlaborer sa formation et de pousser son entranement afin de dvelopper des attributs, des habilets et des comportements qui seront apprcis au cours de sa pratique ventuelle de la profession dingnieur. Le diplme dingnieur ouvre une fentre sur un vaste choix de carrires. Il implique gnralement ce dernier dans diverses responsabilits de gestion, de dveloppement, de recherche ou autres. Dans lensemble de ses fonctions, lingnieur est un agent de progrs qui influence de faon significative lvolution et la qualit de vie de son entourage. Ses actions et ses dcisions risquent davoir un impact sur tout un ventail de domaines, dont: linnovation et le progrs technique; lvolution comptitive des mthodes industrielles; la sant conomique des entreprises; la gestion efficace des ressources; la protection des personnes et de lenvironnement.

Cette liste, qui ne prtend pas tre exhaustive, suggre que lapprciation dun ingnieur repose aussi sur un ventail de comptences, dhabilets et de qualits dont lacquisition fait lobjet de lentranement quil simpose au cours de ses annes de formation. Il nest pas facile de faire une revue complte de ces attributs et attitudes, mais dans les grandes lignes, on peut citer : des connaissances acquises dans le domaine des sciences appliques; une crativit rsultant dun esprit alerte; 1

une mthode de travail ordonne; une capacit de planification et un sens de lorganisation; une volont dassumer des responsabilits; un comportement intgre envers son institution et la socit.

On peut toujours ajouter des items cette liste, mais si un individu excelle dans toutes ces rubriques, il y a fort parier quil aura un choix de propositions intressantes devant lui en temps opportun. Votre curriculum, dans son ensemble, doit fournir des terrains de dveloppement pour combler les besoins dentranement relatifs la commande dtaille ci-dessus. Systmes Logiques I, qui fait partie de cet ensemble, est un cours de nature introductive. Il apporte des connaissances nouvelles, exige un comportement mthodique et propose des projets qui en font une contribution enrichissante dans la poursuite des objectifs numrs. Dun aspect pratique, les systmes logiques sont la base dun grand nombre dapplications dans une varit de domaines. On ne peut en faire le tour complet, mais on peut citer quelques exemples : linstrumentation lectronique; le matriel informatique; les systmes de communications numriques; la gestion de lnergie lectrique; la commande des machines-outils; linstrumentation biomdicale.

1.1.2 Objectifs spcifiques


Plus prs de nous, sur le plan acadmique, le cours Systmes Logiques I se veut une introduction gnrale au domaine numrique. Un objectif immdiat du cours vise dvelopper lhabilet :

percevoir le sens des dfinitions et concepts de base de la logique; exploiter des mthodes de design et danalyse appliques : 2

aux systmes combinatoires (sans mmoire), aux systmes itratifs, aux systmes squentiels synchrones ou asynchrones(avec mmoire), tudier et exploiter un processeur simple; concevoir des systmes fonctionnels (ALU, frquencemtre...); slectionner des composants pour raliser un systme; interprter les spcifications des fabricants; prvoir et observer lvolution temporelle de signaux; simuler ces systmes avec un outil industriel (ViewLogic).

1.2 Plan du cours


Le cours : Nombre de crdits : 3 crdits (3-1, 5-4, 5) Cours corequis 3.310 Introduction aux circuits lectriques ou, ELE2301 (3.315) Circuits lectroniques ou, ELE2602 (3.352) Travaux pratiques de circuits lectriques. Applications et approfondissements ventuels : ELE4301 (3.413) - Systmes logiques II ELE4302 (3.553) - Introduction aux microprocesseurs ELE4306 (3.565) - lectronique des communications Site Internet : http://www.gegi.polymtl.ca/cours/3313/

MTHODES DVALUATION Quiz Laboratoires l 5 inclusivement Final 35% 15% 50% 100%

Cours :

Trois heures par semaine; Communication des informations thoriques et pratiques; Illustration laide de multiples exemples; Prparation pour les laboratoires; Prsence et participation fortement suggres.

Laboratoires :

Trois heures par quinzaine; 5 TP au cours du trimestre; 10 quipes de deux tudiants max. par section de lab.; 1 prparation par quipe; 1 rapport remettre par quipe partir du TP3; points accords au laboratoire pour la prparation et le fonctionnement; local du laboratoire : A-210; pondration : 15% de la note finale.

Le quiz, dune dure de 50 minutes, a habituellement lieu la semaine 8 (voir calendrier du cours remis en classe) en dbut de soire (jour et heure confirmer) et portera sur la logique combinatoire ainsi que sur les laboratoires 1 et 2. Lexamen final portera sur toute la matire vue en classe et au laboratoire.

1.3 Concepts fondamentaux


La logique nest pas une tude et une modlisation de systme de la nature comme la physique, la chimie ou la biologie. La logique est une technique labore par lhumanit pour se doter doutils ddis diverses fonctions. La logique implique un certain nombre de concepts fondamentaux dans le but de synthtiser systmatiquement des systmes.

Dans ce qui suit, les concepts fondamentaux des systmes logiques sont prsents. Variable continue (infinit de valeurs) Quantit, reprsente par un symbole, qui peut prendre une infinit de valeurs. y = ax3 + bx2 + c o y est la fonction, = est le symbole d'galit, x est la variable, + est un oprateur, a, b et c sont des constantes Variable discrte Variable susceptible de prendre un nombre limit de valeurs prdfinies et discontinues.

Variable binaire Variable discrte qui ne peut prendre que deux et seulement deux valeurs. Variable logique Variable binaire qui peut prendre deux tats associs au caractre vrai ou faux dun vnement. tat Logique Valeur attribue une variable logique. Ltat dune variable peut tre vrai ou faux. On reprsente ltat vrai par "1" et ltat faux par "0". Une variable dans son tat vrai est dite "active".

Oprateurs Logiques Les oprateurs logiques de base sont ET, OU et NON. Fonction Logique Ensemble de variables logiques relies par des oprateurs logiques. Une fonction logique ne peut prendre que deux valeurs: 0 ou 1. Signal Logique Quantit physique qui reprsente une variable logique dans l'un ou l'autre de ses deux tats possibles. Systme Logique Ensemble de composants qui effectuent des fonctions sur des signaux logiques dans le but de stocker, communiquer ou de transformer de l'information.

CHAPITRE 2 La logique combinatoire


2.1 lments de base
Variable d'entre Les variables d'entre sont celles sur lesquelles on peut agir directement. Ce sont des variables logiques indpendantes. Variable de sortie Variable contenant l'tat de la fonction aprs l'valuation des oprateurs logiques sur les variables d'entre. ET S = AB = AB A B S 0 0 0 0 1 0 1 0 0 1 1 1 OU S=A+B A B S 0 0 0 0 1 1 1 0 1 1 1 1 S est vraie si A est vraie ou B est vraie, ou les deux. S est vraie si A est vraie et B est vraie.

NON S=A A S 0 1 1 0 S est vraie si A est fausse

NON-ET S = A B = AB S est vraie si (A et B) est fausse. S est vraie si A est fausse ou B est fausse, ou les deux. A B S 0 0 1 0 1 1 1 0 1 1 1 0 NON-OU S=A+B S est vraie si (A ou B) est fausse. S est vraie si A est fausse et B est fausse. A B S 0 0 1 0 1 0 1 0 0 1 1 0

XOR (OU EXCLUSIF) S est vraie si A est vraie ou B est vraie, mais pas les deux. S= AB A B S 0 0 0 0 1 1 1 0 1 1 1 0 Note: L'expression S = A B est non-analytique. L'expression analytique du ou exclusif est S = AB + A B . XNOR (NON-OU EXCLUSIF) S = A B = A B S est vraie si A est fausse ou B est fausse, mais pas les deux. A B S 0 0 1 0 1 0 1 0 0 1 1 1 Note: L'expression S = A B est non-analytique. L'expression analytique du non ou exclusif est S = AB + A B . Gnralisation l'exception des portes XOR et XNOR, ces notions peuvent tre gnralises pour des portes plusieurs entres.

2.2 criture et lecture de schmas


Les tapes de transformation schmatique d'une quation, ainsi que celles d'criture d'une quation partir du schma, sont trs directes puisque les deux reprsentations doivent strictement conformes. Dans le cas de la cration du schma partir de l'quation, chaque opration est remplace par son symbole en respectant la hirarchie des oprations.

Pour trouver l'quation de la fonction ralise partir du schma, il convient de noter l'quation chaque nud du schma en fonction des entres et de l'opration logique.

Figure 2.1: quation et reprsentation schmatique d'une fonction logique. Exemple 2.1 On veut concevoir un systme qui commande la lampe L partir de trois commutateurs (CA, CB et CC). Les commutateurs sont activs par un levier deux positions. La lampe doit tre teinte si tous les commutateurs sont en position basse. Aussitt qu'un commutateur est chang, l'tat de la lampe s'inversera. Variables d'entre On peut dfinir: A = Le levier du commutateur CA est haut (actif). B = Le levier du commutateur CB est haut (actif). C = Le levier du commutateur CC est haut (actif).

Variable de sortie L = La lampe est allume.

Une analyse rapide permet de dterminer que la lampe sera allume (active) si un des trois commutateurs est actif ou si les trois sont actifs. Donc: L = ABC + A BC + ABC + A BC 10

Figure 2.2: Schma du circuit de l'exemple 2.1. Notez que ce schma n'est pas la reprsentation la plus simple de la fonction ralise. Des mthodes de simplifications avances anisi que des notations plus compactes sont le sujet des prochaines sections.

2.3 Algbre de Boole


Avoir la reprsentation la plus simple possible d'une fonction est avantageux. Premirement, les quations les plus simples sont plus faciles manipuler et le risque de faire des erreurs est rduit. Deuximement, une quation simplifie implique un nombre rduit de composants lectroniques, ce qui a l'avantage d'augmenter la fiabilit et de rduire les cots de fabrication. La premire mthode de simplification consiste utiliser intuitivement les proprits dfinies par l'algbre boolenne en effectuant des mises en facteurs ou autres manipulations pouvant conduire la simplification de la fonction. Pratiquement, lutilisation de cette mthode est limite par la complexit des quations manipuler lorsque le nombre de variables est grand. 11

2.3.1 Proprits de l'algbre boolenne A+0=A A+1=1 A+A=A A + A =1 Hirarchie des oprations Dans une expression sans parenthses, on effectue d'abord les oprations "ET" et, par la suite, les "OU". Induction parfaite Dans le domaine linaire, il n'est pas possible de prouver une quation en la vrifiant pour toutes les valeurs des variables. En logique, puisque les variables sont limites deux tats, on peut prouver une relation en la vrifiant pour toutes les combinaisons de valeurs pour les variables d'entre. quivalence Deux fonctions sont quivalentes si on peut leur faire correspondre la mme table de vrit. Si et alors F = AB G = A+B F=G A0=0 A1=A AA=A AA = 0 A=A

et on dit que F est quivalente G.

12

Complmentarit Deux fonctions sont dites complmentaires si l'une est l'inverse de l'autre pour toutes les combinaisons d'entres possibles. Si et alors F = AB G = A+B F=G

et on dit que F et G sont complmentaires. Dualit Deux expressions se correspondent par dualit si l'on obtient l'une en changeant dans l'autre, les "ET" par des "OU", les "OU" par des "ET", les "1" par des "0" et les "0" par des "1". Si on sait que Alors, on saura que par dualit. Associativit A + B + C = (A + B) + C = A + (B + C) A B C = (A B) C = A (B C) Commutativit A+B=B+A AB=BA Distributivit A (B + C) = A B + A C = AB + AC AB = A + B A + B = AB

13

Thorme de DeMorgan Premire Forme: Deuxime Forme: Forme canonique Une expression est sous sa forme canonique si tous les symboles qui reprsentent les variables apparaissent dans tous les termes qui la constitue. Lorsqu'une quation est crite partir de sa table de vrit, elle est dans sa forme canonique. Si une fonction est une somme de produits, on a une somme canonique. Exemple: F = ABC + ABC + A BC + A BC Si une fonction est un produit de somme, on a un produit canonique. Exemple: G = (A + B + C) (A + B + C) (A + B + C) (A + B + C) Exemple 2.2 Trouvez la somme et le produit canonique de la fonction suivante: A B C L 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 L = A BC + ABC + A BC + ABC M = L = A BC + ABC + A BC + ABC L = M = A BC + ABC + A BC + ABC L = (A BC)(ABC)(A BC)(ABC) L = (A + B + C)(A + B + C)(A + B + C)(A + B + C) A + B + C + ... = A B C ... A B C ... = A + B + C + ...

14

Exemple 2.3 On veut simplifier le circuit suivant:

Figure 2.3: Schma de l'exemple 2.3. La transcription directe du schma en quation donne: S = AC + AB + BC En reformulant sous la forme canonique on obtient: S = AC (B + B) + AB (C + C) + BC (A + A) S = ABC + A BC + ABC + ABC + ABC + ABC Le terme ABC apparat deux fois, on peut en liminer un: S = ABC + A BC + ABC + ABC + ABC On regroupe pour mettre AB et AB en facteur: S = ABC + ABC + ABC + ABC + A BC S = AB (C + C) + AB (C + C) + A BC S = AB + AB + A BC Mise en facteur de B: S = B (A + A ) + A BC S = B + A BC

15

Cration d'un nouveau terme pour mettre AC en vidence: S = B (1 + AC) + A BC S = B + ABC + A BC S = B + AC (B + B) S = B + AC

Figure 2.4: Schma simplifi de l'exemple 2.3. Exemple 2.4 Reprise de l'exemple 2.1: L = ABC + A BC + ABC + A BC L = A(BC + BC) + A(BC + BC) L = A(B C) + A (B C) L = ABC

2.4 Synthse et simplification


La synthse des systmes combinatoires permet de reprsenter une fonction logique sous une forme telle qu'on puisse la raliser dans un systme avec un nombre minimal de composants, pour la simplicit et la performance.

16

2.4.1 Karnaugh La mthode de Karnaugh permet de visualiser une fonction et den tirer intuitivement une fonction simplifie. Llment de base de cette mthode est la table de Karnaugh qui reprsente, sous forme de tableau, toutes les combinaisons d'tats possibles pour un nombre de variables donn. Chaque dimension du tableau pouvant reprsenter visuellement deux variables, on peut facilement simplifier des fonctions quatre variables laide dun tableau deux dimensions. Bien que plus difficile visualiser, la simplification de fonctions cinq ou six variables est possible laide de tableau trois dimensions. Codes Avant de poursuivre les explications de la table de Karnaugh, il faut introduire quelques concepts sur lesquels Karnaugh s'est bas pour dvelopper ses tables. Le premier concept est l'utilisation d'une reprsentation particulire de l'information, il s'agit des codes. Les codes et systmes reprsentatifs seront vus en dtail aux chapitre 5. Lorsque plusieurs variables logiques sont exprimes ensemble, ce groupe peut tre appel nombre binaire. Par analogie aux nombres dcimaux o chaque chiffre est un multiplicateur d'une puissance de dix, chaque chiffre qui le compose est le multiplicateur d'une puissance de deux. Le nombre 123 peut donc tre exprim de la faon suivante:

Nombre dcimal 123 = 1 10 2 + 2 101 + 3 10 0 123 = 100 + 20 + 3

Nombre binaire 123 = 1 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 1 21 + 1 2 0 123 = 64 + 32 + 8 + 4 + 2 + 1

Cette notation, appele code binaire naturel, permet de reprsenter 2n nombres en utilisant n bits (variables binaires). Avec quatre bits, il est donc possible de reprsenter 16 nombres allants de 0 15. Le tableau suivant (tableau 2.1) donne les combinaisons possibles pour un mot binaire naturel de 4 bits, A3, A2, A1 et A0.

17

Nombre dcimal A3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

A2 A1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Nombre dcimal = A323 + A222 + A121 + A020

Tableau 2.1: Code binaire naturel. Le code binaire naturel est utilis pour numrer toutes les combinaisons possibles d'entres lors de la cration de la table de vrit d'une fonction. Le code de Gray, quant lui, a t labor partir des deux caractristiques suivantes: La transition d'un mot au mot suivant implique qu'un, et seulement un, bit change d'tat. Le code est cyclique.

Ces deux caractristiques ne sont pas prsentes dans le code binaire naturel. Par exemple, en passant du nombre 7 au nombre 8, tous les bits doivent changer d'tat. De plus, le code binaire naturel n'est pas cyclique puisque le nombre suivant 15 est 16 et qu'il n'est pas possible de reprsenter ce nombre avec le code binaire naturel 4 bits. Dans un compteur binaire naturel, le 18

nombre suivant 15 sera 0 avec une indication de dbordement. La table suivante montre les codes de Gray 1, 2 et 3 bits. Gray 1 bit Gray 2 bits Gray 3 bits 0 1 00 01 11 10 000 001 011 010 110 111 101 100 Tableau 2.2: Code de Gray 1, 2 et 3 bits. Thorme d'adjacence Le deuxime concept ncessaire la comprhension des tables de Karnaugh est l'adjacence logique. Deux mots binaires sont dits adjacents s'ils ne diffrent que par la complmentarit d'une, et seulement une, variable. Si deux mots sont adjacents sont somms, ils peuvent tre fusionns et la variable qui diffre est limine. Par exemple, les mots ABC et ABC sont adjacents puisqu'ils ne diffrent que par la complmentarit de la variable C. Le thorme stipule donc que ABC + ABC = AB . La preuve est simple: ABC + ABC = AB AB(C + C) = AB AB = AB La premire caractristique du code de Gray spcifie que deux mots conscutifs ne diffrent que par l'tat d'un bit, ils sont donc adjacents. Tables de Karnaugh La table de Karnaugh a t construite de faon faire ressortir l'adjacence logique de faon visuelle. La figure suivante reprsente des tables de Karnaugh deux, trois, quatre et cinq variables.

19

A 0 B 0 1 1

BA 00 C 0 1 01 11 10

BA 00 DC 00 01 11 10 01 11 10

BA 00 DC 00 01 11 10 E= 0 01 11 10 DC 00 01 11 10

BA 00 01 11 10

E= 1

Figure 2.5: Tables de Karnaugh 2, 3, 4 et 5 variables. La mthode de Karnaugh consiste indiquer dans la table les cases correspondantes aux tats de variable d'entres produisant une sortie vraie. Cela peut tre dtermin partir de l'quation de la fonction ou sa table de vrit. Il faut toutefois porter une attention particulire lors du transfert d'information de la table de vrit puisque celle-ci utilise un code binaire naturel, qui est sensiblement diffrent du code de Gray de la table de Karnaugh. Lorsque toute la fonction

20

est reprsente dans la table, on procde des regroupements de "1" qui se situent les uns ct des autres. Puisque la table de Karnaugh utilise un code de Gray, ces groupements identifient des termes adjacents. La figure suivante identifie certains groupements typiques. Il est important de noter que les groupements sont toujours des rectangles (les carrs sont aussi des rectangles) contenant un nombre de "1" qui est une puissance de deux.

Figure 2.6: Formation d'impliquants dans les tables de Karnaugh. Remarques: Lorsqu'un impliquant couvre 2n fentres, 2n termes sont fusionns en un seul et n variables sont limines. Tous les impliquants sont dits "premiers". Si une fentre n'est couverte que par un seul impliquant, il est essentiel. Si un impliquant couvre des fentres dj impliques, il est redondant, mais il peut tre utile pour viter des erreurs momentanes (glitchs). La table est cyclique dans les deux sens. Si un systme possde plusieurs sorties, il faut une table par sortie.

21

Exemple 2.5 On veut simplifier S = AC + AB + BC Il faut tout d'abord remplir la table de Karnaugh l'aide de l'quation de la fonction. Cette tape est trs importante puisqu'il faut remplir toutes les cases qui correspondent une combinaison d'entres produisant une sortie vraie.

Figure 2.7: Remplissage de la table de Karnaugh Une fois que la table est remplie, il faut procder aux groupements. Il est trs important d'utiliser tous les "1" de la table sans exceptions.

Figure 2.8: Formation des impliquants. La forme obtenue n'est cependant pas la plus compacte. Pour obtenir la forme la plus compacte possible, il faut crer les groupements les plus grands possibles. Notez qu'il est possible d'utiliser les "1" aussi souvent que dsir. Les groupements prcdents peuvent alors tre exprims ainsi. La forme prsente la figure 2.9 est la plus compacte possible.

Figure 2.9: Formation optimale des impliquants.

22

Conditions facultatives Sous certaines conditions, il se peut qu'un systme soit conu avec des combinaisons d'entres qui ne se prsentent jamais ou qui sont sans intrts. On dsigne les tats de sorties correspondantes par des conditions facultatives (don't care) et on les considre comme des "1" ou des "0", selon ce qui est avantageux. On reprsente ces conditions facultatives dans les tables par le symbole "X" ou "" Exemple 2.6 Les afficheurs sept segments sont bien connus. Ils servent afficher un chiffre allant de 0 9. Ce nombre est reprsent sur 4 bits qui permettent de reprsenter les nombres de 0 15. Les combinaisons d'entres de 10 15 sont des conditions facultatives puisqu'elles ne devraient jamais tre prsentes.

a = (0,2,3,5,6,7,8,9) + (10,11,12,13,14,15) b = (0,1,2,3,4,7,8,9) + (10,11,12,13,14,15) . . . Impliquants redondants Un impliquant est dit redondant si toutes les fentres qu'il couvre dans une table de Karnaugh sont dj couvert par un autre impliquant. Ce terme peut tre enlev de l'quation sans changer la table de vrit. Sous certaines conditions, ce terme peut stabiliser le circuit en enlevant des erreurs momentanes (glitchs) de fonctionnement.

23

Exemple 2.7 F = CBA + CBA + CBA + CBA

F = CB + CA

F = CB + CA + BA

Figure 2.10: Effets d'un impliquant redondant. Symtrie et pliage Certaines configurations courantes des tables de Karnaugh permettent de simplifier les quations. La rduction d'quation en utilisant ces configurations, ou des techniques de pliage, est toutefois trs intuitive et peut introduire des erreurs lorsqu'elles ne sont pas appliques avec attention. Il est prfrable de matriser les tables de Karnaugh avant d'utiliser ces techniques et configurations.

24

Figure 2.11: Symtrie de la table de Karnaugh F = DBA + DCA + DCB + CBA F = DA(B + C) + CB(D + A ) F = DA BC + CBDA F = DA BC F = DA BC

Figure 2.12: Symtrie de la table de Karnaugh. F = A B C F = D(A B C)

25

Figure 2.13: Symtrie de la table de Karnaugh. F = DBA + DC B + DCB + DBA F = A(D B + DB) + C(DB + DB) F = (A + C)(B D) F = AC(B D) 2.4.2 Quine/McCluskey Avec les mthodes prcdentes, les simplifications ont t obtenues de faon purement intuitive; rien ne nous assure que la fonction obtenue est rellement la plus simple que lon peut obtenir. De plus, en l'absence d'algorithme bien dfini, ces mthodes ne peuvent tre implantes efficacement dans un logiciel. La mthode Quine/McCluskey, constitue dune procdure bien dfinie. garantit une simplification maximale de la fonction obtenue, sous forme de somme de produits. I1 n'existe aucune autre fonction quivalente contenant moins de termes. La mthode de Quine/McCluskey utilise un algorithme pour faire ressortir l'adjacence entre les termes. F = AC(BD + BD) F = AC(B D)

26

La procdure suivre est la suivante: 1. Mettre la fonction sous forme canonique. 2. Transformer les termes en nombres binaires. 3. Grouper ces nombres selon leur poids (nombre de "l"). 4. Placer les nombres par ordre croissant lintrieur de chaque groupe. 5. Comparer chaque terme d'un groupe avec chaque terme du groupe suivant: deux termes n'ayant qu'un bit qui ne correspond pas gnrent un nouveau terme o le bit de diffrence est remplac par un "X"; les nouveaux termes engendrs forment une liste de nouveaux nombres binaires groups par poids. 6. Refaire l'tape 5 partir de la nouvelle liste obtenue jusqu' ce qu'aucune autre nouvelle liste ne soit gnre. 7. Identifier les impliquants, c'est dire les lments qui n'ont pas t utiliss pour gnrer un lment de la nouvelle liste. 8. Identifier les impliquants essentiels, c'est dire ceux dont la reprsentation est unique pour certaines solutions. 9. Vrifier si l'ensemble des impliquants essentiels reprsente toutes les solutions. Si oui, la solution minimale est trouve. Si non, on doit ajouter un ou plusieurs autres impliquants afin de reprsenter toutes les solutions. Il n'existe aucune faon prcise pour choisir les autres impliquants. Exemple 2.8 On veut simplifier la fonction suivante: S = A BCD + ABC D + ABCD + ABCD + ABCD + A BCD + ABCD tape 1: La fonction est dj sous forme canonique. tape 2: Transformation en nombres binaires. S=0010+0100+0101+0110+0111+1001+1101

27

tapes 3 et 4: Classification. 0010 Poids 1 0100 0101 Poids 2 0110 1001 0111 Poids 3 1101

tapes 5 et 6: Comparaisons. 1 2 0010 0100 -----3 4 5 0101 0110 1001 -----6 7 0111 1101 a 0X10 (1-4) b 010X (2-3) c 01X0 (2-4) ------d 01X1 (3-6) e X101 (3-7) f 011X (4-6) g 1X01 (5-7) 01XX (b-f et c-d)

tape 7: Identification des impliquants Les termes qui n'ont jamais engendrs de nouveaux termes sont marqus d'un "*" 0X10 * 01XX * 0010 0100 -----0101 0110 1001 -----0111 1101 010X 01X0 ------01X1 X101 * 011X 1X01 *

28

tape 8 et 9: Identification des impliquants essentiels 0010 0100 0101 0110 0111 1001 1101 0X10 X101 1X01 01XX [9] (9) (9) [9] [9] (9)

9
[9]

9
(9)

9 [9] (9)

indique que l'impliquant couvre le terme. indique que l'impliquant est essentiel ce terme. indique un terme couvert par un impliquant essentiel.

Les impliquants essentiels sont: 0X10, 1X01 et 01XX. Puisqu'ils sont suffisants pour reprsenter toutes les solutions, la fonction simplifie est: S = AC D + A CD + AB Exemple 2.9 On veut simplifier la fonction suivante: S = ABD + ABCD + A BCD + ABCD + A BCD tape 1: Mettre la fonction sous forme canonique. S = ABD(C + C) + ABCD + A BCD + ABCD + A BCD S = ABCD + ABCD + ABCD + A BCD + ABCD + A BCD tape 2: Transformation en nombres binaires. S=0101+0111+1111+1011+1110+1010

29

tapes 3 et 4: Classification. Poids 2 0101 1010 Poids 3 0111 1011 1110 Poids 4 1111 tapes 5, 6 et 7: Comparaisons et identification des impliquants. Il est aussi possible d'indiquer un "9" lorsque les termes sont utiliss. Les impliquants 0101 9 1010 9 -----0111 9 1011 9 1110 9 -----1111 9 01X1 101X 9 1X10 9 -----X111 1X11 9 111X 9 1X1X

seront alors les termes sans "9".

tape 8 et 9: Identification des impliquants essentiels 0101 1010 0111 1011 1110 1111 01X1 X111 1X1X [9] [9] (9)

9
[9] [9]

9
(9)

Les impliquants essentiels sont: 01X1 et 1X1X. Puisqu'ils sont suffisants pour reprsenter toutes les solutions, la fonction simplifie est: S = ABD + AC 30

Exemple 2.10 On veut simplifier la fonction suivante. Notez les conditions facultatives. F = (2,4,7,12,10,15) + (6,9,11,14) tape 1: La fonction est sous forme canonique. tape 2: Transformation en nombres binaires. F=0010+0100+0111+1100+1010+1111+(0110+1001+1011+1110) tapes 3 et 4: Classification. partir de cette tape, les conditions facultatives sont traites comme les autres termes. Poids 1 0010 0100 Poids 2 0110 1001 1010 1100 Poids 3 0111 1011 1110 Poids 4 1111

31

tapes 5, 6 et 7: Comparaisons et identification des impliquants. 0010 9 0100 9 -----0110 9 1001 9 1010 9 1100 9 -----0111 9 1011 9 1110 9 -----1111 9 0X10 9 XX10 X010 9 X1X0 01X0 9 -------X100 9 X11X ------011X 9 X110 9 101X 9 1X10 9 10X1 11X0 9 ------X111 9 1X11 9 111X 9 tape 8 et 9: Identification des impliquants essentiels Notez que seulement les termes essentiels sont inscrits. L'utilit des conditions facultatives est termine puisqu'elle se limite permettre une plus grande simplification. 0010 0100 0111 1100 1010 1111 10X1 XX10 X1X0 X11X 1X1X [9] [9] [9] [9] (9) (9) 1X1X

9
32

Les impliquants essentiels sont: XX10, X1X0 et X11X. Puisqu'ils sont suffisants pour reprsenter toutes les solutions, la fonction simplifie est: S = BA + CA + CB Le choix d'une mthode de simplification dpend de la fonction simplifier. Gnralement, on utilisera: La mthode algbrique pour des fonctions deux variables ou des fonctions de plus de deux variables mais comportant peu de termes sous forme canonique. La mthode de Karnaugh pour des fonctions de trois, quatre, cinq ou six variables. La mthode de Quine/McCluskey pour des fonctions cinq variables ou.

2.4.3 Table de Karnaugh variable inscrite La table de Karnaugh variable inscrite (KVI) est ne de la difficult de rduire les fonctions de plus de quatre variables en utilisant la table de Karnaugh normale. Cette mthode est cependant plus complexe et beaucoup d'exprience avec la table de Karnaugh est un atout majeur. Il est prfrable d'avoir complt la srie d'exercices sur Karnaugh avant de dbuter KVI. L'ide derrire KVI est d'ajouter un niveau d'abstraction sur la table de vrit de la fonction rduire. Le rsultat n'est pas seulement donn en terme de "0" et de "1" mais en fonction d'une, ou plusieurs, variable d'entre. La table de vrit suivante est transforme afin d'inscrire la variable C. A B C F 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 C C 0 A B 0 0 1 1 0 1 0 1 F 0
C

C 1

33

La KVI est ensuite construite de la mme faon que la table de Karnaugh. La seule diffrence est que les fentres peuvent maintenant contenir des variables en plus des "0" et "1". Les groupements se font maintenant entre termes identiques. Notez qu'il est possible de grouper un "C" avec un "1" car le "1" contient un "C" ( 1 = C + C ). Tout comme la Karnaugh ordinaire o il tait trs important d'utiliser tous les "1", dans la KVI, il faut absolument utiliser toutes les combinaisons de la variable inscrite. Si un "C" a t group avec un "1", il faut utiliser le " C " qui fait partie du "1", soit comme " C ", soit en utilisant le "1".

Figure 2.14: Table de Karnaugh variable inscrite. F = CB + CA

34

Exemple 2.11 Simplifier la fonction suivante: F(D, C, B, A) = (2,4,7,12,10,15) + (6,9,11,14) D C B A F 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 A A + A A A + A A A 0

A + A F = CA + BA + CB

2.5 lments de base II


Les composants utiliss jusqu' maintenant (ET, OU, NON-ET, XOR, ...) faisaient partie de la catgorie SSI (Small Scale Integration). Principalement cause de leur simplicit, ce sont les premiers circuits intgrs avoir t raliss avec succs au tout dbut de l're lectronique moderne. Les progrs techniques raliss en conception de circuits intgrs ont permis de concevoir des circuits un peu plus complexes permettant de raliser des fonctions plus gnrales. Ces circuits d'intgration moyenne (MSI Medium Scale Integration) sont prsents dans cette section. 35

Le multiplexeur (MUX) Le multiplexeur est un systme combinatoire ayant pour fonction de slectionner une parmi 2n entres et de la transmettre la sortie. La slection est faite l'aide de n lignes d'adresse. La notation usuelle du MUX est: MUX 2n 1. Par exemple, un MUX 8 1 aura 3 lignes d'adresse. La figure 2.15 prsente la forme gnrale d'un MUX.

Figure 2.15: Reprsentation gnrale d'un multiplexeur. La figure 2.16 montre le composant 74153 qui contient deux MUX 4 1. Le signal supplmentaire G (Strobe) est un signal d'activation du composant. Si G est inactif, la sortie du MUX sera obligatoirement inactive.

Figure 2.16: Caractristiques du 74153. Le dmultiplexeur (DEMUX) Le dmultiplexeur est un systme combinatoire ayant pour fonction de transmettre une entre vers une des 2n sorties. La slection est faite l'aide de n lignes d'adresse et les sorties sont mutuellement exclusives. La notation usuelle du DEMUX est: DEMUX 1 2n. Par exemple, un DEMUX 1 8 aura 3 lignes d'adresse. La figure 2.17 prsente la forme gnrale d'un DEMUX.

36

Figure 2.17: Reprsentation gnrale d'un dmultiplexeur. La figure 2.18 montre un DEMUX 1 4. Le signal supplmentaire G (Strobe) est un signal d'activation du composant. Si G est inactif, toutes les sorties du DEMUX seront obligatoirement inactives.

Figure 2.18: Caractristiques d'un dmultiplexeur. L'encodeur L'encodeur est un systme combinatoire ayant pour fonction de retourner l'index d'activation d'une parmi 2n entres. L'index d'activation est donn sur n lignes d'adresse. Lorsque plusieurs entre sont actives, l'encodeur accorde la priorit l'entre dont l'index est suprieur. La notation usuelle de l'encodeur est: encodeur 2n n. Par exemple, un encodeur 8 3 aura 8 entres et 3 lignes d'adresse en sortie. La figure 2.19 prsente la forme gnrale d'un encodeur.

37

Figure 2.19: Reprsentation gnrale d'un encodeur. La figure 2.20 montre une simplification du composant 74148 qui contient un encodeur 8 3. Le signal supplmentaire GS (Got Something) est un signal qui indique qu'une des entres est active dans le but de faire la diffrence entre l'entre 0 active et lorsqu'aucune entre n'est active.

Figure 2.20: Caractristiques du 74148. Le dcodeur Le dcodeur est un systme combinatoire ayant pour fonction d'activer une des 2n sorties. La slection est faite l'aide de n lignes d'adresse et les sorties sont mutuellement exclusives. La notation usuelle du dcodeur est: dcodeur 1 parmi 2n. Le dcodeur se comporte exactement comme un DEMUX avec son entre toujours 1. Par exemple, un dcodeur 1 parmi 8 aura 3 lignes d'adresse. La figure 2.21 prsente la forme gnrale d'un dcodeur.

38

Figure 2.21: Reprsentation gnrale d'un dcodeur. La figure 2.22 montre un dcodeur 1 parmi 4. Le signal supplmentaire G (Strobe) est un signal d'activation du composant. Si G est inactif, toutes les sorties du DEMUX seront obligatoirement inactives.

Figure 2.22: Caractristiques d'un dcodeur 1 parmi 4. Les mmoires Il existe une trs grande quantit de catgories de mmoires. Les plus connues sont les ROM (Read Only Memory) et les RAM (Random Access Memory). Une mmoire est un rseau combinatoire ayant pour fonction d'emmagasiner de l'information. La mmoire est une matrice de cellules capable d'emmagasiner une information unitaire (bit) qui a une adresse spcifique unique. Les cellules ont souvent une largeur m suprieure 1. L'accs aux cellules se fait l'aide de n bits d'adresse pour une mmoire d'une capacit de m2n bits. La diffrence entre les deux catgories principales est que les ROM ne peuvent tre que lues tandis que les RAM peuvent tre utilises en criture tout aussi bien qu'en lecture. La figure 2.23 montre le schma gnral d'une ROM et d'une RAM. Le signal OE (Output Enable) permet l'activer les sorties. Si OE n'est pas actif, les sorties sont lectriquement inactives, ce qui signifie qu'il n'y a ni un "0" ni un "1" de prsent. Le signal WE (Write Enable) permet d'crire des donnes dans une RAM. ce moment,

39

le signal OE doit tre inactif pour permettre aux donnes d'arriver la mmoire sans conflits. Mme si les deux types de mmoires ne diffrent que par le signal WE, le fonctionnement interne est diffrent.

Figure 2.23: Reprsentation gnrale des mmoires ROM et RAM. Les registres Contrairement aux composants MSI vus jusqu'ici, les registres sont ne sont pas des systmes combinatoires, ce sont des composants permettant d'emmagasiner de l'information. Pour une mme combinaison d'entres, ce type de composant peut produire des sorties diffrentes, selon l'information emmagasine. Il existe deux types de registres: les bascules (flipflop) est les bistables (latchs) qui diffrent par leur signal d'activation. Les bistables ont un signal d'activation qui est bas sur un niveau logique tandis que le signal d'activation des bascules est sensible une transition de niveau. Lorsque le signal d'activation d'une bistable est actif, tout ce qui est l'entre est transfr directement la sortie. Lorsque le signal d'activation devient inactif, la sortie conserve sa valeur jusqu' ce que le signal redevienne actif. Avec une bascule, le comportement est lgrement diffrent. L'information l'entre est copie la sortie sur une transition spcifique du signal d'activation, habituellement la transition du "0" vers le "1". La figure 2.24 prsente la forme gnrale d'une bistable et d'une bascule ainsi qu'un diagramme de temps pour chacun.

40

Figure 2.24: Diffrence de comportement entre une bistable et une bascule. Les compteurs Comme dans le cas des registres, les compteurs sont ne sont pas des systmes combinatoires, ce sont des composants permettant d'emmagasiner et de traiter de l'information. Pour une mme combinaison d'entres, ce type de composant peut produire des sorties diffrentes, selon l'information emmagasine. Le compteur dispose de deux signaux importants: le signal de compte est le rsultat qui est reprsent sur n bits. Sur une transition spcifique du signal de compte, habituellement la transition du "0" vers le "1", un incrment est de 1 est ajout au rsultat. Mme si ma majorit des compteurs suit un ordre qui est binaire naturel, il est possible de trouver des compteurs avec d'autres squences. Lorsque le compteur est rendu la limite reprsentable de sa squence, certains compteurs ont un signal TCO (Terminal Count Output) ou RCO (Ripple Carry Output) qui signifie qu'un dbordement aura lieu au prochain incrment. La figure 2.25 prsente la forme gnrale d'un compteur 4 bits ainsi qu'un diagramme de temps.

Figure 2.25: Comportement d'un compteur 4 bits.

41

2.6 Modules et familles lectroniques


Cette section explique les diffrences entre les lments logiques et les modules lectroniques qui excutent les fonctions. Un survol des familles logiques existantes ainsi que certaines de leurs spcifications lectriques compltera ce chapitre. 2.6.1 Modules et lments logiques Jusqu' maintenant, les fonctions logiques ont toujours t ralises sans se proccuper des modules logiques. Les modules logiques sont les puces (chips) dans lesquelles les circuits lectroniques sont raliss. Le TTL databook est une excellente source d'informations sur tous les aspects des modules lectroniques. On y trouve des informations sur l'utilisations des broches, sur les dlais de raction des modules, sur les fonctions ralises est d'autres informations sur les caractristiques lectriques. Un module comporte souvent plusieurs lments logiques. Un 7408 par exemple contient 4 portes "ET". De plus, les modules logiques ncessitent une alimentation (Vcc) et une masse (GND). Lors de la ralisation d'un circuit partir d'un schma, il est parfois prfrable d'apporter quelques modifications dans le but de rduire le nombre de modules lectroniques. Le chapitre 3, portant sur la logique mixte, fournit des mthodes avances pour rduire le nombre de modules. Cependant, les rgles d'associativit et de distributivit doivent aussi tre appliques afin de rduire le nombre de composants. L'exemple suivant montre comment ces rgles peuvent tre utiles. Exemple 2.12 Raliser la fonction suivante en minimisant les modules logiques. Z=AB+AC+DEF La fonction peut tre ralise directement comme dans le premier cas de la figure 2.26. Certaines transformations peuvent cependant tre appliques pour rduire le nombre et la diversit des modules logiques ncessaires la ralisation de la fonction. La mise en facteur du A permet de se dbarrasser du "OU" trois entres qui, de toute faon, n'existe pas en logique TTL (les familles logiques sont expliques dans la prochaine section). En utilisant les rgles d'associativit, le terme DEF devient (DE)F, ce qui limine le 42

"ET" trois entres. L'quation devient alors Z=A(B+C)+(DE)F. Il est important de noter que mme si le nombre d'lments logiques augmente, le nombre de modules logiques sera moins important.

Cas 1: Z=AB+AC+DEF

Cas 2: Z=A(B+C)+(DE)F

Figure 2.26: Rduction du nombre de modules logiques.

ET 2 entres: 74LS08 ET 3 entres: 74LS11 OU 3 entres: 74HC4075 Total: 3 modules logiques 2.6.2 Familles logiques Cette section donne un aperu des caractristiques et des diffrences des trois principales familles logiques: TTL (Transistor Transistor Logic) standard, LS (Low-power Schottky) et HC (High-speed CMOS). Une famille logique est une ensemble de modules lectroniques accomplissant les fonctions logiques de base. La fonction logique ne dpend pas de la famille logique ou du grade du module, de sorte qu'un 54LS08 et un 74HC08 accomplissent exactement la mme fonction logique. Les modules sont parfois donns avec la notation '08, qui met en vidence que la famille et le grade ne sont pas importants ce point.La notation usuelle des modules logiques est toujours de la forme suivante: ET 2 entres: 74LS08 OU 2 entres: 74LS32 Total: 2 modules logiques

43

GGGFFFMMM o: GGG est le grade FFF est la famille logique MMM est le module ou fonction logique Ce suffixe indique la fonction ralise. La liste complte des fonctions se trouve dans le LS: Low-power Schottky. 54 pour les grades militaires. HC: High-speed CMOS. TTL Databook.

74 pour les grades vide: TTL standards. commerciaux.

Famille TTL standard: La famille TTL standard est premire famille logique complte. Ce n'est pas la premire technologie logique puisqu'auparavant des technologies comme DL (Diode Logic), RTL (Resistor Transistor Logic) et DTL (Diode Transistor Logic) taient utilises. Cette technologie est base sur des transistors bipolaires et, mme si l'tat logique est dtermin par la tension, ces modules ncessitent des courants, tant au niveau statique qu'aux changements d'tats. Famille LS: La famille LS utilise l'architecture TTL et est base sur la famille TTL standard. Les diffrences portent sur deux points importants: la vitesse et la consommation nergtique. En augmentant les rsistances internes, la consommation nergtique est rduite puisque les courants sont moins importants. Cependant, la vitesse est aussi rduite. En ajoutant une diode entre la base et le collecteur des transistors, un dlai important est limin dans les changements d'tats logiques et le composant devient plus rapide. L'effet combin de ces deux modifications donne un module logique qui est plus rapide et consomme moins que ceux de la famille TTL standard, c'est donc un excellent compromis.

44

Famille HC: La famille HC diffrente des deux familles prcdentes. Elle n'est pas base sur l'architecture TTL puisqu'elle utilise des transistors MOSFET (Metal Oxyde Semiconductor Field Effect Transistor). Ces transistors n'utilisent des courants que lors des transitions d'tat logique. La consommation nergtique statique est donc pratiquement nulle. Au niveau de la vitesse, les modules HC sont typiquement plus rapides que les modules TTL la mme alimentation. Si la tension d'alimentation des modules HC augmente, la vitesse et la consommation augmenteront elles aussi. Paralllement, si ta tension d'alimentation est rduite, la vitesse et la consommation seront rduites. De nos jours, la forte majorit des circuits logiques toutes catgories confondues sont fabriqus en CMOS (Complementary MOS) qui est trs similaire la technologie HC. 2.6.3 Spcifications lectriques Parmi les spcifications les plus courantes, on retrouve les alimentations, les courants d'tats et les niveaux logiques en tensions. La figure 2.27 symbolise un lment logique et les valeurs importantes.

Figure 2.27: lment logique est ses spcifications lectriques. Certaines caractristiques sont contraintes et d'autres sont des proprits. Par exemple, Vi et Ii sont des contraintes puisque, pour fonctionner correctement, ces valeurs doivent tre respectes. Io et Vo reprsentent ce que l'lment a la capacit de fournir. Toutes ces caractristiques sont fournies avec dtail dans le TTL Databook. L'exemple suivant est tir du 7400.

45

Familles TTL Description Standard Low-Power High Speed Schottky Low-Power Schottky Advanced Schottky Advanced LP Schottky Fast Familles CMOS Srie A Srie B Srie UB C HCT FACT HC AHCT HCTLS Autres Familles RTL DTL MDTL ECL 10K ECL 10K ECL 10K ECL 10KH ECL 100K 101xxx, 105xxx 102xxx, 106xxx 108xxx 10 KHxxx 1001xxx Notation 74xxx 74LSxxx 74Hxxx 74Sxxx 74LSxxx 74ASxxx 74ALSxxx 74Fxxx 40xxxA 40xxxB 40xxxUB 74Cxxx 74HCTxxx 74ACxxx 74HCxxx 74AHCTxxx 74AHCTLSxxx Propagation Consommation (ns/porte) (mW/porte) 10 10 33 6 3 9.5 1.7 4 3 25 60 30 50 8 5 8 7 10 12 30 30 2 1.5 1-2.5 1 .75 1 22 19 2 8 1.2 4 10 10 7 5 10 2 1 .12 .12 16 12 10 25 25 2.3 25 40 Fanout 10 20 10 10 20 40 20 33 50 50 50 50 50 50 50 50 50 5 5 5 83 54 63 83

Tableau 2.3: Principales caractristiques des familles logiques. 46

Figure 2.28: Spcifications lectriques du 7400. Puisque ces valeurs doivent tre interprtes correctement, voici leurs explications: Sortie haute: l'lment peut produire un courant maximal de 400A. Si ce courant limite est respect, la tension de sortie sera toujours suprieure 2.4V. Sortie basse: l'lment peut recevoir un courant maximal de 16mA. Si ce courant limite est respect, la tension de sortie sera toujours infrieure 0.4V. Entre haute: l'lment peut demander un courant maximal de 40A. La tension d'entre doit toujours tre suprieure 2.0V. Entre basse: l'lment peut demander un courant maximal de 1.6mA. La tension d'entre doit toujours tre infrieure 0.8V. Pour une sortie haute branche sur des entres, on voit que toutes les rgles sont respectes tant que le nombre d'entres ne dpasse pas 10. ce moment, il y a 10 entres pouvant ncessiter un maximum de 40A chacune. La sortie peut donner un maximum de 400A tout en conservant sa sortie suprieure 2.4V pour les entres, qui elles, ncessitent plus de 2.0V. Le nombre d'entres que le 7400 est capable d'alimenter, nomm "fanout", est donc de 10. Une autre caractristique importante noter est que le courant Iol est beaucoup plus grand que Ioh ce qui signifie que les modules logiques ont la capacit de recevoir beaucoup plus de courant qu'ils ne peuvent en donner. Cela implique que si le composant doit alimenter un composant lectronique de moyenne puissance, il sera beaucoup plus facile de le faire en

47

utilisant le module logique comme interrupteur de masse. L'exemple suivant montre comment on peut utiliser un module logique pour commander une ampoule de basse puissance. Exemple 2.13

Montage incorrect

Montage correct

Figure 2.29: Branchement de charge sur des modules logiques. De la faon incorrecte, le courant disponible pour l'ampoule n'est que de 400A. En procdant de la bonne faon, l'ampoule dispose de 16mA pour allumer, elle sera donc environ 40 fois plus brillante.

48

CHAPITRE 3 La logique mixte


Il existe plusieurs faons de reprsenter l'information. Jusqu' maintenant, la logique utilise a toujours t positive. Cependant, ce n'est pas la seule faon de reprsenter l'information. Ce chapitre montre les limitations inhrentes la logique positive et la logique ngative. Il introduit la logique mixte, qui russi liminer les limitations des deux logiques en fournissant des outils permettant de les utiliser simultanment sur le mme schma.

3.1 Logique positive


Dans la convention de la logique positive, le niveau logique "1", actif, est associ une tension haute. Le niveau logique "0", inactif, quant lui, est associ une tension basse. Cette convention est utilise depuis le dbut du prsent document car elle est relativement simple et intuitive.

3.2 Logique ngative


Dans la convention de la logique ngative, le niveau logique "1", actif, est associ une tension basse. Le niveau logique "0", inactif, quant lui, est associ une tension haute. La ncessit d'utiliser des signaux en logique ngative est apparue avec l'utilisation de signaux d'activation de composants (Strobe). Pour des raisons de simplicit et de rapidit, il est avantageux que ces signaux soient actifs lorsque la tension est basse. Une autre utilit vient des DEL (Diode lectro Luminescente) et ampoules de faible puissance. Dans le chapitre prcdent, il a t vu qu'il est prfrable d'activer ce genre de composants avec une sortie qui correspond la masse. Puisque le signal qui alimente l'ampoule est actif lorsqu'il y a 0V, il est en logique ngative.

3.3 Logique mixte


La logique mixte est une mthode permettant d'utiliser de faon conviviale les deux logiques, positive et ngative, sur le mme schma. Elle permet de sparer l'tat logique et la

49

convention utilise. Cette mthode respecte toutes les rgles de la logique vues jusqu' maintenant et introduit de nouvelles rgles permettant de simplifier les schmas de faon plus efficace. La logique mixte n'introduit pas de nouveaux lments logiques mais intgre une notation lgrement diffrente. Le tableau suivant rsume les conventions des deux logiques. tat Actif (1) Inactif (0) Logique positive H (5V) L (0V) Logique ngative L (0V) H (5V)

Tableau 3.1: Convention des logiques positive et ngative.

3.4 Impact des conventions


Les conventions ont un impact trs important sur les fonctions ralises. Physiquement, la fonction ralise est toujours identique, peu importe la convention. Remarquez que la table de vrit des modules du TTL databook est toujours donne en terme de H et L, qui sont toujours associs aux niveaux de tensions 5V et 0V respectivement. Le 7408 accomplit toujours le mme travail avec les tensions, peu importe que les signaux soient en logique positive ou ngative. Ce n'est que l'interprtation qui change. Prenons par exemple la table de vrit du 7408 et appliquons les conventions des deux logiques pour tudier l'impact des conventions. Table de vrit A L L H H B L H L H Y L L L H Logique positive A 0 0 1 1 B 0 1 0 1 Y 0 0 0 1 Logique ngative A* B* Y* 1 1 0 0 1 0 1 0 1 1 1 0

Tableau 3.2: Impact des conventions sur un 7408. Il est trs important de remarquer que la fonction logique accomplie par le 7408 est diffrente si le concepteur dcide de l'utiliser avec des signaux ayant une logique positive ou ngative. Dans le premier cas, la fonction logique ralise est un "ET" et dans le deuxime cas, c'est un "OU" logique. Le 7408 peut donc tre appel "ET positif" ou "OU ngatif". D'ailleurs, il

50

porte le nom "Quadruple 2-input positive-and gates" (Quadruple porte "ET positif" 2 entres) dans le TTL databook.

3.5 Symboles et notation


La logique mixte n'utilise que quatre symboles. Ces symboles sont trs similaires ceux utiliss jusqu'ici. Chaque symbole a cependant un certain nombre de variations pour tenir compte de la convention la sortie et chacune des entres. Les quatre symboles de base sont:

Figure 3.1: Symboles de la logique mixte. Les deux premiers sont les symboles du "ET" et du "OU" respectivement. Le troisime symbole (/ ou slash) est utilis pour signifier un changement de convention, et le dernier symbole, l'inverseur sans la petite boule (  ), est un tampon (buffer). ces symboles s'ajoute une notation qui indique la convention du signal. La notation est la petite boule qui vient s'insrer entre le symbole et le fil du signal en logique ngative. Un fil reprsentant une variable en logique ngative aura toujours une petite boule tous ses nuds. Une notation spcifique s'applique aussi aux variables pour identifier si elles sont en logique positive ou ngative. Les variables en logique positive demeurent inchanges tandis que celles en logique ngative doivent tre suivies d'un "*". Certains concepteurs utilisent aussi la notation A(H) et A(L) pour une variable A en logique positive et ngative respectivement. 3.5.1 La barre oblique Le seul nouveau symbole est la barre oblique ("/") qui signifie un changement de convention. Ce symbole se place sur un fil pour sparer deux parties d'un circuit. La convention n'est qu'une interprtation des tensions physique, alors la barre oblique ne correspond aucun composant physique puisque les tensions demeurent inchanges. Ce n'est que leur interprtation en logique positive ou ngative qui engendre une diffrence. L'exemple suivant illustre divers cas possibles de l'utilisation de la barre oblique.

Figure 3.2: Utilisation du symbole de changement de convention. 51

Comme la barre oblique indique un changement de convention, il est tout fait normal et essentiel que chaque cot de la barre soit dans une logique diffrente. Dans le premier cas, si la variable A est prsente sur le fil, de l'autre cot du changement, l'inverse de A sera disponible en logique ngative. Variable A Logique positive Actif (1) Inactif (0) Tension Logique ngative 5V 0V Inactif (0) Actif (1) Rsultat A
*

Tableau 3.3: Effets du changement de convention. Dans le deuxime cas, si A est disponible en logique ngative, de l'autre cot du changement, l'inverse de A sera disponible en logique positive. Variable Logique ngative Tension A* Actif (1) Inactif (0) 0V 5V Logique positive Inactif (0) Actif (1) Rsultat A

Tableau 3.4: Effets du changement de convention Ces deux cas illustrent toutes les possibilits de l'utilisation du "/ " puisque ces exemples peuvent tre lus dans les deux sens. L'utilisation de la petite boule du cot en logique ngative de la barre oblique n'est pas obligatoire. Il est recommand de l'utiliser au dbut pour se familiariser son utilisation. Les concepteurs qui sont l'aise avec la logique mixte ont tendance utiliser la barre oblique sans utiliser la boule. 3.5.2 Le OOPS En logique mixte, le symbole connu jusqu' maintenant comme un inverseur change de signification. L'inverseur ne change pas l'tat de la variable mais seulement la convention utilise. Pour ce faire, la tension du signal est inverse. L'tat du signal (actif ou inactif) restera toujours identique. Il n'y a que le "/" qui peut changer un signal d'tat. Puisque l'inverseur n'inverse pas l'tat, il est prfrable d'utiliser un autre terme pour le dsigner. partir de ce point, le terme OUPS (ou OOPS) sera utilis (certains concepteurs utilisent aussi le terme inverseur de tension). L'exemple suivant couvre les cas de l'utilisation du OUPS.

52

Figure 3.3: Utilisation du OOPS.

tat A A Actif Inactif

Tension OOPS Tension 5V 0V

tat Actif A*

0V 5V

Inactif A *

Tableau 3.5: Effets du OOPS. L'explication des cas 3 et 4 peut tre trouve en lisant le tableau de droite gauche. Exemple 3.1 Comment gnrer A partir de A? Le seul symbole qui permet une inversion d'tat est le slash. Cependant, il inverse galement la convention. Heureusement, le OUPS inverse la convention sans changer l'tat. Les deux possibilits suivantes permettent de gnrer A partir de A.

Figure 3.4: Schma de gnration de l'inverse de A. 3.5.3 Les quivalences de portes Les tables de vrits de la figure 3.6 montrent qu'une porte ET en logique positive et une porte OU en logique ngative accomplissent la mme fonction logique. Une porte OU en logique positive accomplira la mme fonction qu'une porte ET en logique ngative. La rgle de base pour les portes quivalentes d'un ET est de changer le ET pour un OU, d'enlever les petites boules o il y en a et d'ajouter des boules o il n'y en avait pas. De faon similaire, la porte quivalente d'un OU est de changer le OU pour un ET, d'enlever les petites boules o il y en a et d'ajouter des boules o il n'y en avait pas. Dans le cas du OOPS, le symbole reste le mme mais l'opration d'inversion des petites boules est aussi applique.

53

H H L L

H L H L

H H H L

H H L L

H L H L

H L L L

Logique Positive

Logique positive

1 1 0 0

1 0 1 0

1 1 1 0

1 1 0 0

1 0 1 0

1 0 0 0

Logique ngative

Logique ngative

0 0 1 1

0 1 0 1

0 0 0 1

0 0 1 1

0 1 0 1

0 1 1 1

Tableau 3.6 : quivalence des portes en logique positive et ngative. Le tableau 3.7 rsume les portes quivalentes. 3.5.4 Avantages de la logique mixte Il existe au moins trois avantages l'utilisation de la logique mixte par rapport l'utilisation de l'une ou l'autre des deux logiques. Le premier avantage est la clart. La fonction logique accomplie par un circuit respectant la logique mixte est beaucoup plus facile trouver partir du schma.

54

Tableau 3.7: quivalence des portes de base.

Logique Positive

Logique Mixte

Z = AB CD E

Z = AB + CD + E

Tableau 3.8: Clart de la logique mixte. Les deux circuits du tableau 3.8 excutent la mme fonction logique et sont raliss avec les mmes composants physiques. Le schma utilisant la notation de la logique mixte est cependant beaucoup plus facile convertir en quation. Le deuxime avantage est la facilit avec laquelle les circuits peuvent tre optimiss pour rduire le nombre de composants. En utilisant les reprsentations quivalentes pour les

55

composants physiques, il est souvent possible d'en rduire le nombre. Cette facilit s'applique aussi aux restrictions d'utilisation de composants auxquelles doivent se plier les concepteurs. Logique Positive Logique Mixte

2 composants: 1 ET et 1 OU

1 composant: 1 NON-ET

Tableau 3.9: Optimisation de circuits avec la logique mixte. Le troisime avantage de l'utilisation de la logique mixte vient des recommandations de l'industrie. La majeure partie des compagnies uvrant dans le domaine de la conception de circuits numriques utilisent la logique mixte grande chelle. Il est alors trs avantageux en tant que concepteur d'apprendre utiliser la logique mixte le plus tt possible. L'utilisation des rgles de la logique mixte demande un peu de pratique et d'exprience avant de pouvoir en apprcier pleinement des avantages. Si, premire vue, son utilisation ne semble qu'apporter une complexit supplmentaire et inutile, une fois ses concepts bien acquis, il devient vident que la logique mixte est un outil trs puissant et essentiel aux designs de grande envergure. 3.5.4 Analyse de schma en logique mixte. Cette section dcrit les tapes ncessaires pour trouver les quations de sortie d'un schma ralis en logique mixte. Il n'y a en fait que deux tapes suivre: 1. crire l'quation en fonction des symboles ET et OU prsents sur le schma. Ne pas se soucier de la prsence de barre oblique ("/"), de boules ou de la logique des variables. 2. Ajouter une barre de complmentarit sur les termes des fils ayant une barre oblique.

56

Exemple 3.2: Trouver l'quation logique ralise par le circuit suivant:

Figure 3.5: Schma de l'exemple 3.2. tape 1: Z = (A + 1)B + (C + (Dx1)) + E tape 2: Z = (A + 1)B + (C + (D 1)) + Z = AB + C + D + 3.5.5 Synthse de schma en logique mixte. La synthse de schma en logique mixte suit des tapes simples et directes, comme pour l'analyse. Il y a trs peu d'tapes o des dcisions doivent tre prises. Les tapes sont: 1. Dessiner le schma en utilisant des ET et des OU, tel qu'ils sont prsents dans l'quation et sans se soucier de la logique des variables d'entre ou de sortie. 2. Transformer le circuit afin de n'utiliser que les portes disponibles. 3. Ajouter les barres obliques pour complmenter les variables.

57

4. Ajouter les cercles et les OOPS pour respecter la logique mixte. Cette opration s'effectue en deux parties. Tout d'abord, les boules sont ajoutes aux entres/sorties en fonction de ce qui est disponible et demand. Ensuite, les boules et les OOPS sont ajoutes en commenant par la sortie et en remontant jusqu'aux entres. Exemple 3.3: Dessiner le schma de l'quation suivante en respectant la logique mixte: Z = AB + C + D tape 1: A, B*, C et D sont disponibles. Z* est dsir.

Figure 3.6: Premire tape de la synthse en logique mixte. tape 2: Il n'y a aucune restriction quant aux composants disponibles. tape 3:

Figure 3.7: Troisime tape de la synthse en logique mixte.

58

tape 4:

Figure 3.8: Schma final de l'exemple 3.3. Exemple 3.4: Reprendre l'exemple prcdent mais en n'utilisant que des 7400 (NON-ET Positif). tape 1: Cette tape est identique l'tape 1 de l'exemple prcdent. tape 2 et 3: Les portes sont remplaces par la mme fonction dans sa forme disponible avec les portes quivalentes. Les ET doivent rester des ET, il en va de mme pour les OU. Les barres obliques sont ensuite ajoutes.

Figure 3.9: Troisime tape de la synthse en logique mixte.

59

tape 4: Dans cette tape, il faut ajouter des OOPS car il y a conflit de conventions sur les fils.

Figure 3.10: Schma final de l'exemple 3.4 Cette tape n'est cependant pas complte sans spcifier comment les OOPS ont t raliss. Il est impossible d'utiliser des 7404 car ils ne sont pas disponibles. Une faon possible en utilisant un 7400 est de brancher les deux entres ensemble. Il est aussi possible de le raliser en branchant une des deux entres 5 Volts.

60

CHAPITRE 4 Les rseaux itratifs


4.1 Introduction
Il est vident que la conception dun systme logique se complique rapidement au fur et mesure que le nombre de variables crot. Mme des algorithmes programmables, comme la mthode de Quine et McCluskey, deviennent lourds d'utilisation lorsque, par exemple, on a 10 variables dentre entranant une possibilit de 1024 termes. Dans le cas particulier o une fonction logique se rpte sur des sous-ensembles des variables dentre, il est possible de synthtiser un sous-rseau effectuant cette fonction logique et de structurer le rseau pour quelle soit rpte sur tous les sous-ensembles constituant ces variables dentre. Ces rseaux sont dits itratifs. Dfinition: Les rseaux itratifs constituent une classe de rseaux qui effectuent des fonctions logiques de faon rptitive sur un grand nombre de variables. Itration temporelle: Lorsque les fonctions rptitives sont rparties sur des intervalles de temps successifs, on a une itration temporelle. Exemple: Un comparateur binaire sriel. Itration spatiale: Lorsque les fonctions rptitives sont effectues paralllement par plusieurs sous-rseaux identiques, on a une itration spatiale. Exemple: Un comparateur binaire parallle.

61

Dans les rseaux itration temporelle, les variables dentre sont mmorises dans des registres et achemines vers un seul sous-rseau qui confectionne les variables de sortie et les accumule dans une autre mmoire au les dirige vers une destination prdfinie. Le sous-rseau est de nature combinatoire, mais lensemble de la configuration est caractre squentiel. Dans les rseaux itrations spatiales, les variables dentre sont transmises en parallle une cascade de sous-rseaux identiques interconnects entre eux, et la fonction logique rptitive est effectue par chaque sous-rseau sur chacun des sous-ensembles des variables. Ce sont donc des rseaux combinatoires requrant autant de sous-rseaux quil existe de sousensembles au niveau des variables dentre. Ces rseaux sont plus rapides que les prcdents et les techniques d'intgrations les rendent peu coteux. Cest donc sur ce type de rseau que la mthodologie de conception est prsente.

4.2 Forme gnrale des rseaux itratifs

Figure 4.1: Forme gnrale dun rseau itratif spatial Un rseau itratif spatial prend la forme gnrale montre la figure 4.1. Un sous-rseau typique Ck reoit un sous-ensemble de l'entre X dsigne par Xk constitu d'une ou plusieurs variables. Les sous-rseaux adjacents schangent des informations entre eux par l'intermdiaire de variables internes dsignes par Fk, Gk, Fk+1, Gk+1,... Ces variables peuvent tre multiples ou mme inexistantes. Chaque sous-rseau produit de faon gnrale une sortie Yk selon le choix du concepteur ou les spcifications de la fonction logique raliser. Cette sortie peut constituer la sortie principale du rseau, tre transforme ou inexistante. Par exemple, si le rseau effectue une sommation binaire, on retrouve la somme en Y, la fonction G assure la transmission de la retenue de droite gauche et la fonction F est inexistante.

62

Un rseau qui ralise la comparaison entre deux mots binaires de gauche droite ne requiert qu'un maximum de trois sorties selon le rsultat spcifi. La sortie Y et la fonction G ne sont pas ncessaires selon l'algorithme dvelopp. La forme gnrale du rseau reprsente par consquent le cas gnral o toutes les possibilits sont illustres, mais, en pratique les spcifications de la fonction et les dcisions du concepteur font de chaque design un cas particulier.

4.3 Mthodologie de design


TAPE 1: Schma bloc On dduit de ce qui prcde que le concepteur doit dabord dessiner un schma bloc du rseau itratif selon les spcifications de la fonction logique raliser. Cette tape est importante parce que, dans la plupart des cas, il faut prendre des dcisions, poser des hypothses ou dfinir des conventions. Cet aspect des rseaux itratifs fournit leur tude des lments de formation intressants relatifs au dveloppement du jugement dans les choix et de la crativit. Pour concrtiser cette pense au moyen dun exemple, supposons quon doive raliser un comparateur de deux nombres A et B fournissant une sortie S = 1 si A B et S = 0 si A < B, avec A = an an-1 ... ak ... a2 a1 a0 B = bn bn-1 ... bk ... b2 b1 b0 Il est facile de dcider que chaque sous rseau reoit son entre une variable ak et bk. Mais doit-on propager la comparaison partir du chiffre le plus significatif vers le moins significatif, ou vice-versa? Comment la sortie S est-elle confectionne? Utilise-t-on les sorties Yi? Il est difficile ce point de dterminer ce qui donnera le rseau minimal. L'exprience et lintuition sont des facteurs dvelopper et exploiter. Cette tape devrait dfinir les points suivants: Un sous-rseau typique (Ck). Les sous-rseaux aux extrmits (Cn et C0). 63

Les variables d'entre/sortie sont conformes aux spcifications.

Un rseau auxiliaire, si requis. TAPE 2: Algorithme Aprs avoir dfini le schma bloc du rseau, il faut dfinir les consquences des dcisions qui sont prises. Il faut dfinir ce quun sous-rseau Ck effectue sur les entres en fonction de ce quil reoit des sous-rseaux voisins, ce quil doit transmettre vers ces sous-rseaux et vers la sortie si ncessaire. Cest cette tape quon dfinit les conventions adoptes relativement aux variables internes du rseau. Il est trs important dexpliciter clairement la spcification des relations entres/sorties dun sous-rseau type avec les hypothses qui sy rattachent. Cette tape devrait dfinir les points suivants de l'algorithme: Le fonctionnement de l'ensemble. Les variables d'entre/sortie de Ck..

Les relations de transfert de Ck. Les hypothses sur les variables. TAPE 3: Synthse dun sous-rseau type La synthse dun sous-rseau type seffectue selon les mthodes relatives aux rseaux combinatoires. On considre le sous-rseau Ck avec ses entres Xk, Fk+1, et Gk et ses sorties Yk, Fk et Gk+1. Une table de vrit est tablie pour reprsenter les diverses fonctions logiques. Celles-ci sont rduites par algbre, tables ou algorithme et le sousrseau est dessin dans sa forme schmatique. Cette tape doit contenir les points suivants: La table de vrit contenant toutes les sorties. Les tables de Karnaugh. Les expressions logiques de chacune des sorties. Le diagramme schmatique du sous-rseau Ck.

64

TAPE 4: Particularits aux extrmits (conditions aux frontires) Dans la plupart des cas, il faut porter une considration particulire aux sous-rseau: Cn et C0 . Il sagit souvent de dfinir le niveau logique dune variable pour amorcer lopration du rseau ou pour rendre le rsultat conforme aux spcifications. Cette tape n'est pas complte si les points suivants ne sont pas abords: Conditions particulires C0. Conditions particulires Cn.

Les exemples qui suivent illustrent ce point et les tapes qui prcdent. Exemple 4.1 Un comparateur de deux nombres binaires A et B doit produire une sortie S = 1 si A >= B et S = 0 sinon. Les nombres A et B sont constitus dun grand nombre de chiffres binaires. A = an an-1 ... ak ... a2 a1 a0 B = bn bn-1 ... bk ... b2 b1 b0 Pour dmontrer la non-unicit des solutions, le design de ce rseau est effectu de diverses faons. Ceci met galement en vidence l'importance des deux premires tapes de la mthodologie. Solution 1 Mme si priori, par intuition, on devrait effectuer la comparaison du chiffre le plus significatif vers le moins significatif, la comparaison sera amorce entre a0 et b0 et procdera vers la gauche.

65

Figure 4.2: Schma bloc de l'exemple 4.1. Algorithme La comparaison seffectuant de C0 vers Cn , il est vident que la dcision finale ne sera pas prise avant de parvenir au sous-rseau Cn. Un sous-rseau type Ck doit recevoir linformation savoir si les chiffres de rangs infrieurs signalent que A >= B ou que A < B. Une seule variable est ncessaire pour identifier lun au lautre de ces tats. Aprs avoir combin les entres ak, bk et Gk, le sous-rseau Ck doit propager une variable Gk+1 vers le sous-rseau Ck+1. En procdant de cette faon jusquau sous-rseau Cn , on comprend que Gn+1, constitue la sortie S du rseau. Les variables Fi et Yi nont pas dutilit dans cette application et la seule hypothse expliciter est la correspondance entre le niveau logique des Gi, et sa signification. Ici il semble vident quon vitera un OOPS la sortie si Gi = 1 correspond A >= B. Cet expos est un peu plus dtaill que ncessaire. Lors dun design, il suffit dexpliciter comment lensemble du rseau effectue la fonction, ce quun sous-rseau type doit recevoir et transmettre et finalement les conventions rattaches aux variables.

66

Synthse du sous-rseau Ck Ce qui prcde permet dcrire la table de vrit suivante: Gk ak bk Gk+1 0 0 0 0 1 1 1 1 La table de Karnaugh: 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1

Figure 4.3: Table de Karnaugh de l'exemple 4.1. D'o Gk + 1 = ak bk + Gk(ak + bk )

Figure 4.4: Schma d'une cellule du comparateur.

67

Particularits aux extrmits Sous-rseau C0 : La particularit du sous-rseau C0 provient du fait que son entre G0 nest pas dtermine. Il faut par consquent, forcer G0 "0" ou "1". On peut utiliser la table de vrit dcrite ltape prcdente ou raisonner sur le schma. Selon lalgorithme, si a0 = b0 , on veut G1 = 1 puisquon a galit. La table de vrit indique quon doit forcer G0 = 1. Sous-rseau Cn : Le sous-rseau Cn a ceci de particulier: sa sortie Gn+1 constitue la sortie S du rseau itratif global. Solution 2 Il est plausible de concevoir un comparateur itratif effectuant la fonction spcifie cidessus partir des bits an et bn et procdant vers la droite. Mme si la fonction globale reste la mme. cette dcision mne une conception diffrente. En effet. si on a galit dans les bits de rangs suprieurs, il faut propager cette information vers les sous-rseaux de rangs infrieurs puisque la dcision doit y tre prise. Si on a ingalit entre deux bits ai et bi, les sous-rseaux de rangs infrieurs sont inhibs et on utilise une combinaison des Xi, pour confectionner la sortie S. Schma bloc:

Figure 4.5: Schma bloc de la solution 2.

68

Algorithme Un sous-rseau Ck doit recevoir les entres: Fk+1 pour indiquer si on a galit dans les sous-rseaux de rangs suprieurs Hypothse: FK+1 indique galit ak et bk des nombres comparer.

Le sous-rseau doit transmettre: une sortie Fk pour propager le signal d'galit une sortie Yk puisque la sortie S = SYi, Si Fk+1 = 0 : Yk = 0 Si Fk+1 = 1 : Yk = 1 si ak > bk Yk = 0 si ak < bk Yk = 0 si ak = bk Cette dernire condition ne semble pas conforme aux spcifications, mais elle est ncessaire dans la configuration choisie. En effet, si on a galit jusquau sous-rseau de rang k, on pourrait trouver dans les sous-rseaux de rangs infrieurs que A > B ou A < B ou A = B. Synthse dun sous-rseau Fk+1 ak bk 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Fk 0 0 0 0 1 0 0 1 Yk 0 0 0 0 0 0 1 0

Fk = Fk + 1(ak bk ) Yk = Fk + 1ak bk 69

Figure 4.6: Schma de la solution 2. Particularits aux extrmits Sous-rseau C0 Si on a galit A et B, on veut S = 1 et on a F0 = 1. Donc on connecte F0 lentre de la fonction "OU". Sous-rseau Cn Fn+1 = 1 puisquon a pas dingalit dans les rangs suprieurs n qui sont inexistants. Remarque On obtient une solution diffrente, plus ou moins lourde selon les dcisions du concepteur dans les premires tapes de la synthse dun rseau itratif.

70

CHAPITRE 5 Codes analytiques et reprsentatifs


5.1 Dfinitions
Mot Un mot est une squence de symboles reprsentant un message. Exemple: livre, 164885, . Mot binaire Un mot binaire est une squence de symboles dans laquelle on ne retrouve que deux symboles, gnralement 0 et 1, qu'on dsigne par chiffres binaires, ou bits. Exemple: 0110 1001, 1000 1111 1001. Code Un code est un ensemble de mots auxquels on confre une signification pour reprsenter une catgorie de messages: des personnes, des objets, des nombres, des angles, des coordonnes et autres concepts. Code binaire Un code est binaire s'il ne contient que des mots binaires.

5.2 Codes frquents


Cette section dcrit, dans un ordre quelconque, les codes les plus frquemment rencontrs. 5.2.1 Binaire naturel Le code binaire naturel est une interprtation de plusieurs variables logiques qui sont exprimes ensemble. Les nombres binaires naturels sont toujours reprsents du bit le plus 71

significatif au moins significatif, de la gauche vers la droite. Par analogie aux nombres dcimaux o chaque chiffre est un multiplicateur d'une puissance de dix, chaque chiffre qui le compose est le multiplicateur d'une puissance de deux. Pour un nombre de n bits, le bit le plus significatif aura un poids de 2n-1, le bit le deuxime plus significatif vaudra 2n-2, ainsi de suite jusqu' 20, le bit le moins significatif. La plage des valeurs possibles reprsenter va de 0 2n-1. Exemple 5.1 Le nombre 123 peut tre exprim de la faon suivante: Nombre dcimal 123 = 1 10 2 + 2 101 + 3 10 0 123 = 100 + 20 + 3 Nombre binaire 123 = 1 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 1 21 + 1 2 0 123 = 64 + 32 + 8 + 4 + 2 + 1

5.2.2 Binaire naturel avec signe Avec les algorithmes de traitement de donnes, le besoin de reprsenter des nombres ngatifs apparat trs souvent. Une des faons les plus simples est de ddier un bit, habituellement le plus significatif, pour reprsenter le signe. Pour un mot de n bits, le bit le plus significatif reprsente le signe, le bit le deuxime plus significatif vaudra 2n-2, ainsi de suite jusqu' 20, le bit le moins significatif. La plage des valeurs possibles reprsenter va de -2n-1-1 2n-1-1 et il existe deux reprsentations possibles pour la valeur 0. Exemple 5.2 26= 0 0011010 Bit de signe Reprsentation de 26

-26=

1 0011010 Bit de signe Reprsentation de 26

5.2.3 Complment 1 Dans un code complment 1, on obtient le code du ngatif d'un nombre en effectuant le complment du mot de code de ce nombre, c'est--dire en inversant tous les bits. Avec un mot de n bits, il est possible de reprsenter les valeurs de -2n-1-1 2n-1-1 et il existe deux reprsentations possibles pour la valeur 0. 72

Exemple 5.3 26= 0001 1010

-26= 1110 0101 5.2.4 Complment 2 Dans un code complment 2, on obtient le code du ngatif d'un nombre en effectuant le complment du mot de code de ce nombre et en lui ajoutant 1 sans garder de retenue. Avec un mot de n bits, il est possible de reprsenter les valeurs de -2n-1 2n-1-1 et il n'existe qu'une reprsentations possibles pour la valeur 0. Exemple 5.4 26= 0001 1010 inversion 1110 0101 +1 1 1110 0110 = -26 Il est aussi possible d'interprter un nombre de n bits de la faon suivante: bit poids n-1 -2n-1 n-2 2n-2 1 21=2 0 20=1

Le code complment 2 est trs important puisqu'il permet d'effectuer des oprations arithmtiques avec signes sans avoir se proccuper de celui-ci. Exemple 5.5 Faire l'addition de 127 et -26 ainsi que de -127 et 26 127 -26 101 0111 1111 - 0001 1010 0111 1111

+ 1110 0110 1 0110 0101 = 101 (dcimal) La retenue est rejete.

73

26

0001 1010

0001 1010

-127 - 0111 1111 -101

+ 1000 0001 1001 1011 Ce rsultat est ngatif puisque le bit le plus significatif est "1". Il faut faire le complment 2. 0110 0100 Inversion +1 0110 0101 = -101 (dcimal)

Dans ce genre d'oprations, une erreur de dbordement (Overflow) est dtecte en effectuant un XOR entre les retenues transmises par les deux bits les plus significatifs. Exemple 5.6: Ces oprations sont effectues sur des nombres de 8 bits en complment 2. Retenues 26 + 27 53 0 0 = 0 pas de dbordement Retenues 126 + 127 253 0 1 = 1 dbordement Retenues - 60 - 64 - 124 1 1 = 0 pas de dbordement 74 1 1 1 0 0 0 1 1 0 0 + 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 + 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 + 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1

Retenues - 100 - 30 -130 1 0 = 1 dbordement 5.2.5 Code hexadcimal 1

1 0 0 0 0 1 0 0 1 + 1 1 1 0 0 1 1 1

0 0 0 1 1 0 0 0 0 1 0 1 1 1 0

Avec l'apparition des processeurs 8, 16 et surtout 32 bits, la notation binaire est vite devenue pnible. La notation hexadcimale n'est qu'une faon d'crire les nombres binaires avec une reprsentation plus compacte. L'interprtation du nombre binaire peut tre binaire naturelle, binaire avec signe, complment 1 ou 2. En notation hexadcimale, les nombres binaires sont spars en groupes de quatre bits. Chaque groupe est ensuite remplac par un des 16 symboles de la notation hexadcimale. Les nombres de 0 9 sont replacs par les chiffres 0 9 et les nombres de 10 15 sont remplacs par les lettres A F. Exemple 5.7: noncer les nombres suivants en notation hexadcimale: 234 en binaire naturel sur 8 bits 234 = 1110 E -44 en complment 2 sur 8 bits -44 = -0010 1100 1010 A (234)10 = (1110 1010)2 = (EA)16

1101 D

0100 4 (-44)10 = (1101 0100)2 = (D4)16

5.2.6 Code octal Durant l'volution des ordinateurs modernes, certaines compagnies ont dvelopp des ordinateurs bass sur des bus 12 bits. Il tait alors pratique courante d'utiliser une reprsentation octale. La reprsentation octale groupe les bits et les remplace par un symbole. Cette fois, les bits sont par groupes de 3 et les symboles vont de 0 7.

75

5.2.7 Code BCD (Binary Coded Decimal) Le code BCD a surtout t utilis aux dbuts des machines calculer. Il est parfois encore utilis dans des systmes qui doivent souvent afficher de l'information numrique l'usager ou pour des systmes trs simples qui manipulent de l'argent. Le code BCD encode le nombre reprsenter de faon trs directe. Chaque chiffre du nombre est encod sur 4 bits. Les possibilits binaires de 10 15 ne sont pas utilises. Exemple 5.8 Reprsenter 863 avec un code BCD 8 0100 5.2.8 Code de Gray Le code de Gray a t tabli pour viter les problmes de transition lors du changement d'un mot au mot suivant. Dans l'ordre squentiel du code, il n'y a qu'un bit qui change entre deux mots conscutifs qui sont, par consquent, adjacents. De plus, ce code est cyclique. Exemple 5.9 Code de Gray 4 bits 0 1 2 3 4 5 6 7 0000 0001 0011 0010 0110 0111 0101 0100 8 9 10 11 12 13 14 15 1100 1101 1111 1110 1010 1011 1001 1000 6 0110 3 0011

Tableau 5.1: Code de gray 4 bits.

76

Il est possible d'obtenir le code de Gray partir du code binaire naturel. Il suffit de faire un XOR entre le mot binaire nature et le mme mot dcal vers la droite. La figure 5.1 montre le schma d'un circuit de conversion.

Figure 5.1: Schma de conversion du code binaire vers le code de Gray.

5.3 Application des codes la dtection et correction d'erreurs


Cette section dcrit diffrentes mthodes d'encodage pour transmettre de faon plus fiable de l'information binaire sur un canal de transmission. Diffrents concepts de fiabilit de transmission sont noncs et une attention particulire est apporte aux deux grandes mthodes pour augmenter la fiabilit d'une transmission: la redondance et la parit. 5.3.1 Dfinitions Systme de transmission binaire La figure 5.2 reprsente les principaux lments dun systme de communication par transmission de codes binaires. La principale source de problmes dans un tel systme est videmment le bruit qui perturbe alatoirement le signal transmis. Si on transmet un 1, il est probable quun 1 soit reu, il est aussi possible quun 0 soit reu. Ces probabilits constituent une caractristique du canal de transmission telle qu'illustre la figure 5.3.

77

Dans cette reprsentation, Pij signifie: probabilit de recevoir un j tant donn quun i a t transmis. En gnral, on utilise le modle du canal binaire symtrique (figure 5.3 o e <= 0.5, ce modle tant adquat pour reprsenter un canal de transmission binaire rel.

Figure 5.2: Systme de transmission binaire.

Figure 5.3: Canaux bruyants. Efficacit dun code chaque message diffrent pouvant tre transmis, on doit videmment associer un mot de code unique. Le choix du code assigner est trs important si le canal est loin dtre idal. Exemple 5.10 Soit A et B, deux messages pouvant tre transmis; on les code de la faon suivante: Message A B Code 0 1

Si le canal binaire symtrique est idal (e = 0) alors la transmission sera parfaite. Par contre, si e = 0.3, la probabilit derreur (recevoir A si B est transmis ou recevoir B si A est transmis) est de 0.3.

78

Un autre code peut tre utilis pour augmenter la fiabilit: Message A B Code 000 111

la rception, il y a 8 codes possibles: 000 001 010 011 100 101 110 111

tablissons la rgle du maximum de vraisemblance pour dterminer quel message a t transmis: si dans le mot de code reu les 0 sont majoritaires, alors on supposera quun A (000) t transmis; si les 1 sont majoritaires, on supposera quun B (111) a t transmis. Mot de code reu Dcision quant au message transmis 000 001 010 100 A

111 110 101 011 On peut dmontrer que la probabilit derreur dans la dcision quant au message transmis est de 0.216, comparativement 0.3 avec le code prcdent. Soulignons toutefois que cette diminution de la probabilit derreur cote une transmission de trois fois plus de bit par message. Distance de Hamming La distance de Hamming est le nombre de bits qui changent entre deux mots d'un code. B

79

Exemple 5.11 dH(0010,1000) = 2 dH(000,111) = 3 Distance minimale d'un code La distance minimale d'un code est le nombre minimal de bits qui changent entre deux mots valides d'un code. La distance de Hamming du code binaire naturel est de 1 car il existe au moins deux mots ayant une distance de Hamming de 1. dH(000,100) = 1 Le code o A=(000) et B=(111) une distance minimale de 3. Relation fondamentale La thorie de l'information stipule que: M-1=C+D o: M = Distance minimale du code D = Nombre maximal d'erreurs dtectables C = Nombre maximal d'erreurs corrigibles Remarque On ne peut pas corriger plus d'erreurs qu'on en dtecte donc: CD Par consquent, pour qu'un code soit capable de dtecter et de corriger une erreur de transmission: C=D=1 M-1=C+D M=3

80

5.3.2 Redondance Une des faons les plus simples d'augmenter la fiabilit d'une transmission est d'utiliser la redondance. Si le message est transmis plusieurs fois, il est relativement simple de dtecter, et mme corriger, des erreurs. Exemple 5.12 Cet exemple illustre les effets de la redondance avec un code deux messages, A et B. a) Avec 1 bit A0 B1 M=1

Transmis A0

Reu 1B Interprt comme B

L'erreur n'est donc ni dtecte, ni corrige. Gnralisation Lorsque toutes les combinaisons de bits qui forment un code sont utilises pour les messages, une erreur n'est ni dtectable, ni corrigible. C=D=0 b) Avec 2 bits A 00 B 11 M=2 C+D=1

Transmis A 00

Reu 01 ? Erreur dtecte, non corrigible. 11 B 2 erreurs non dtectes

D'o D = 1 et C = 0. 81

Gnralisation On peut toujours confrer un code une distance minimum M = 2 en ajoutant chaque mot un bit de parit. c) Avec 3 bits A 000 B 111 M=3 C+D=2

Transmis A 000

Reu 011 B B avec une erreur (non valide) 111 B B sans erreurs (non valide) 001 A A avec une erreur (valide)

D'o D = 1 et C = 1. d) Avec 4 bits A 0000 B 1111 M=4 C+D=3

Transmis

Reu A avec une erreur (valide) 2 erreurs (valide) B avec une erreur (non valide) B sans erreurs (non valide) 0011 ?

A 0000 0001 A 0111 B 1111 B D'o D = 2 et C = 1.

Pour corriger des erreurs, on doit ajouter beaucoup de redondance qui diminue beaucoup d'efficacit du canal de transmission.

82

5.3.3 Parit orthogonale Avant de procder, il est ncessaire de dfinir deux types de parit qui seront utiliss pour la parit orthogonale. Parit transversale Soit le code suivant Message Code A B C D 00 01 10 11

Il est impossible de dtecter ou de corriger une erreur car M = 1 C = D = 0. En ajoutant un bit de parit chaque code de faon ce qu'il y ait toujours un nombre pair de 1 dans chaque mot du code on obtient: Message Code A B C D 000 011 101 110

S'il y a une erreur de transmission, elle pourra tre dtecte car les mots reus ne devraient jamais avoir un nombre impair de 1. M = 2 D = 1, C = 0. Il est aussi possible d'utiliser une parit impaire: Message Code A B C D 001 010 100 111

83

Parit longitudinale En reprenant le code prcdent: Message Code A B C D 00 01 10 11

Si le systme doit transmettre le message A-B-A-C, le bloc de mots transmettre est: 00 01 00 10 Si une erreur de transmission survient dans ce bloc, il est impossible de la dtecter. En ajoutant un cinquime mot transmettre de faon avoir un nombre pair de 1 dans chaque colonne du bloc, on transmet: 00 01 00 10 11 Cela permet de dtecter une erreur de transmission dans le bloc au complet. Parit orthogonale En combinant les parits transversales et longitudinales, la capacit d'un systme augmente de faon significative. Cette combinaison se nomme parit orthogonale. En reprenant l'exemple prcdent o la squence A-B-A-C est transmise, on obtient: 00 0 01 1 00 0 10 1 11 0

84

S'il y a une seule erreur de transmission. Il est possible non seulement de la dtecter mais aussi de la corriger car elle sera situe l'intersection d'une ligne et d'une colonne de parits fausses. 00 0 01 1 Bit en erreur 10 0 10 1 Parit fausse 11 0 S'il y a deux erreurs, elles seront dtectes mais elles ne seront pas corrigibles. Cela implique que pour la parit orthogonale C = 1 et D = 2, d'o M=4. La distance minimale de la parit orthogonale peut tre observe en ne changeant qu'un bit du message. Ce changement entranera un changement dans la parit longitudinale, dans la parit transversale et l'intersection des deux parits. Il y a donc une diffrence de 4 bits entre deux mots valides. 5.3.4 Code de Hamming Un code de Hamming permet la dtection et la correction d'une seule erreur de transmission. Les mots du code contiennent m bits pour le message et k bits pour la parit. Les k bits doivent tre suffisants pour donner l'adresse (la position) de l'erreur dans le code reu. L'erreur peut se situer, si elle existe, n'importe o dans le message reu, soit un bit de message mi, soit un bit de vrification ki. m et k doivent respecter la relation suivante: m + k + 1 2k Les premires valeurs de m et k qui satisfont cette relation sont: k 1 2 3 4 5 6 mmax 0 1 4 11 26 57 Aucun message. Plus de redondance que de m. Environ autant de message que de parit, redondance de 2. m est plus grand que k. m est beaucoup plus grand que k. m est beaucoup beaucoup plus grand que k.

Parit fausse

85

Structure des mots de Hamming Les bits k sont rpartis dans un mot de Hamming selon les puissances de 2. Exemple 5.13 Formation d'un mot de Hamming avec m = 4 et k = 3 pour encoder le message 1011. k2 = Parit (5, 6, 7) k1 = Parit (3, 6, 7) k0 = Parit (3, 5, 7) 7 6 5 4 3 2 1 k0 1 1 m4 m3 m2 k2 m1 k1 1 0 1 0 1 0 1 0 1 1 0 0

Dcodage des mots Codage de la position de l'erreur pour k=3, m=4: E2 E1 E0 Position 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 E2 = Parit(4, 5, 6, 7) E1 = Parit(2, 3, 6, 7) E0 = Parit(1, 3, 5, 7)

Pas d'erreur

86

Exemple 5.14 Le mot de Hamming 1010101 qui contient le message 1011 a t transmis et les mots suivants ont t reus: a) 7 6 5 4 3 2 1 1 0 1 0 1 0 1 E2 = Parit(4, 5, 6, 7) = 0 E1 = Parit(2, 3, 6, 7) = 0 E0 = Parit(1, 3, 5, 7) = 0 Position 000 = 0 pas d'erreurs. b) 7 6 5 4 3 2 1 1 1 1 0 1 0 1 E2 = Parit(4, 5, 6, 7) = 1 E1 = Parit(2, 3, 6, 7) = 1 E0 = Parit(1, 3, 5, 7) = 0 Position 110 = 6 Le mot corrig est 1010101. c) 7 6 5 4 3 2 1 1 0 1 0 1 1 1 E2 = Parit(4, 5, 6, 7) = 0 E1 = Parit(2, 3, 6, 7) = 1 E0 = Parit(1, 3, 5, 7) = 0 Position 010 = 2 Le mot corrig est 1010101.

87

d) 7 6 5 4 3 2 1 1 1 1 0 1 1 1 E2 = Parit(4, 5, 6, 7) = 1 E1 = Parit(2, 3, 6, 7) = 0 E0 = Parit(1, 3, 5, 7) = 0

Position 100 = 4 Le mot corrig est 1111111, ce qui est

invalide. En prsence de deux erreurs le systme est incapable de dtecter correctement les deux bits qui ont changs au cours de la transmission. La limite de code de Hamming est D = 1 et, lorsqu'une est erreur est prsente, elle est corrigible donc C = 1. M=C+D+1=3 Encodage de parit Dans le code de Hamming 7 bits, un bit de parit doit tre gnr partir de trois bits. A B C P 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1

Cette fonction est une chane de XOR o P = A B C.

88

Dcodage de parit Dans le code de Hamming 7 bits, un bit de parit doit tre gnr partir de 4 bits lors de la vrification des mots reus. A B D D P 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

Pour une parit partir de 4 bits, la fonction est P = A B C D. Pour des codes de Hamming plus de 7 bits, il faut ajouter des tages la chane de XOR. Une parit partir de 5 bits sera la fonction P = A B C D E, et ainsi de suite.

89

CHAPITRE 6 La logique squentielle


Dans tout ce qui a t vu jusqu' maintenant, les sorties des systmes pouvaient toujours tre exprimes en fonction des entres. Dans les systmes squentiels, les sorties dpendent aussi de l'tat du systme. L'tat d'un systme volue en fonction des squences reues son entre, de son tat prsent et de son tat initial. Pour une mme combinaison d'entres, il est donc possible d'avoir plusieurs tats du systme et plusieurs combinaisons de sorties. La distinction entre les tats s'effectue au moyen de variables internes, dites variables d'tat.

6.1 Dfinitions
Notion de stabilit Les machines squentielles sont des circuits o l'tat actuel des variables dpend de la squence de leurs tats antrieurs. Les squences sont caractrises par une phase d'instabilit avant d'atteindre l'tat stable final de l'tape. Exemple 6.1 Le circuit suivant est dans son tat initial A = Y = 0:

Figure 6.1: Rseau squentiel simple. L'tat initial est stable. Une transition de A vers 1 entrane un tat instable pendant le temps t o Y = 1 et y = 0. Au moment o y devient 1, le systme est stable. Une transition de A vers 0 n'affecte pas le circuit qui reste dans un tat stable o y = 1. 90

Entre A=0 A=1 A=1 A=0

Excitation Y=0 Y=1 Y=1 Y=1

tat y = 0 tat stable y = 0 tat stable y = 1 tat stable y = 1 tat stable

Lorsque l'excitation et la variable d'tat sont des niveaux logiques identiques, on a la stabilit. Cette notion se gnralise plusieurs tats. tat L'tat d'une machine squentielle est une combinaison d'tats logiques de variables internes en contre-raction ayant une valeur particulire. Cette valeur peut, ou non, avoir une signification particulire haut niveau. Par exemple, il est possible de dfinir au moins trois tats pour un four micro-onde contrle numrique: 1. Programmation; 2. Activation; 3. Attente. Il est cependant probable que le systme utilise, l'interne, beaucoup plus de trois tats. Forme gnrale Les machines squentielles peuvent tre spares en deux grandes catgories: les machines de Mealy et les machines de Moore. Les deux machines fonctionnent sensiblement de la mme faon au niveau des tats et de leurs transitions. La diffrence se situe au niveau des sorties o les sorties des machines de Mealy dpendent la fois des entres et des tats tandis que les sorties des machines de Moore ne dpendent que des tats. La figure 6.2 montre la forme gnrale des circuits squentiels.

91

Figure 6.2: Aperu gnral des machines de Mealy et de Moore.

6.2 Systmes asynchrones


Les machines asynchrones ont la particularit de changer d'tat lors d'une variation sur les entres. Si les entres demeurent stables, le systme demeurera dans le mme tat. La mmoire d'tat tel que reprsent la figure 6.2 est faite par un circuit de dlai. Le systme est stable lorsque la valeur avant et aprs le dlai sont identiques (l'tat et l'excitation sont gaux). 6.2.1 Analyse La mthode de Huffman d'analyse des machines squentielles consiste laborer une table de Karnaugh partir des quations du circuit analyser. Les tats stables y sont identifis par la correspondance entre les tats d'excitation et leurs effets. Voici une liste complte des tapes pour l'analyse des circuits squentiels asynchrones: 1. Par inspection du diagramme dun systme existant, on crit la fonction dexcitation de chaque variable dtat. 2. On dispose chaque fonction dans une table de Karnaugh: les colonnes sont dsignes par des combinaisons de variables dentre, et les lignes, par des combinaisons de variables dtat. 3. Une table dexcitation est confectionne en fusionnant les tables ainsi obtenues, en groupant dans chaque fentre les excitations de toutes les variables dtat.

92

4. Les tats stables sont identifis (excitation = tat) et encercls pour les mettre en vidence. 5. La table dexcitation permet de dterminer le comportement dtaill du systme et de statuer sur son caractre prvisible ou alatoire. 6. II est habituellement utile dassocier des noms ou des nombres dcimaux aux tats stables et instables. 7. On peut illustrer le comportement du systme par une table de transitions ou un diagramme de transitions dtats. Exemple 6.2 Analyser le circuit suivant:

Figure 6.3: Machine asynchrone. Soit S0 reprsentant l'tat initial de la sortie S, l'quation du circuit est: S = (S0 + A) + B En utilisant la loi de Morgan, l'quation peut tre crite sous cette forme: S = AS0 + B

93

En reprsentant cette quation dans une table de Karnaugh, on obtient:

Il faut ensuite identifier les tats stables o la fonction S est gale S0. Les tats stables sont identifis en les encerclant.

Cette table permet aisment de voir quels sont les tats stables du circuit et nous renseigne sur la faon d'effectuer les changements. Par exemple, avec S0=0, A = B = 0, si on veut S = 1, on doit changer l'tat de B. Le circuit se stabilisera S0 = 1, A = 0 et B = 1.

En remettant B = 0, le circuit demeure dans un tat stable avec S = 1 car l'tat S0 = 1, A = B = 0 est aussi un tat stable. Pour replacer la sortie 0, il faut poser A = 1 pour que le circuit se stabilise S0 = 0, A = 1 et B = 0.

94

Exemple 6.3 Analyser la machine suivante:

La table nous montre que pour A = 1, il n'y a pas d'tat stable; le systme oscillera. Si A devient 0, la sortie stabilisera 1. 6.2.2 Synthse Un rseau squentiel asynchrone comprend un ensemble d'lments de mmoire qui ne tombe pas sous la commande dune horloge unique. La mthode dHuffman a t formule dans le but de concevoir un rseau squentiel de ce type qui rencontre toutes les contraintes dfinies dans ses spcifications en ncessitant un minimum de composants. Si la synthse est le processus inverse de 1analyse dcrite la section 6.2.1, il demeure une ncessit d'ajouter des tapes en raison du nombre dinconnus, dont le nombre dlments de mmoire requis pour supporter la fonction spcifie.

95

La mthode est prsente par tape et illustre par un exemple. tapes 1. partir des spcifications, on crit une table de squences primaire pour dcrire de faon primitive, lvolution du systme pour toutes les squences des variables dentre. On dfinit dans cette table les tats du systme en fonction des squences des variables d'entres. Les combinaisons de variables d'entres dsignent les colonnes de la table. On juxtapose une colonne pour chaque sortie. chaque ligne de cette table, on ne dfinit qu'un seul tat stable auquel correspond l'tat des sorties. On inscrit dans la table toutes les squences qui sont possibles compte tenu des contraintes imposes par les spcifications du systme. On crit la table sans squences redondantes en exploitant les tats stables dj dfinis dans les lignes antrieures. 2. On rduit le nombre de lignes de cette table primaire au moyen dun diagramme de fusionnement pour obtenir une table fusionne. Le nombre de variables d'tat sera ainsi minimis. On peut fusionner deux lignes de la table primaire pourvu que les noms soient quivalents dans chacune des colonnes. Les tats facultatifs peuvent tre fusionns avec n'importe quel tat. La ligne rsultante conserve, dans l'ordre, les tats stables, les tats instables et les tats facultatifs. On dessine un diagramme de fusionnement pour optimiser le systme de faon mthodique. Un nud correspond une ligne de la table primaire, un arc indique un fusionnement possible entre deux lignes. Un ensemble de points compltement interconnects correspond une seule ligne de la table fusionne. 3. On effectue une tude des transitions du systme et on associe une combinaison des variables dtat chaque ligne de la table fusionne.

96

4. En appliquant le concept de stabilit, la table prcdente est convertie en binaire et elle devient une table d'excitation. ce stade, on produit lexpression logique des sorties du systme. 5. La table dexcitation est dcompose en tables de Karnaugh et on crit lexpression logique de l'excitation correspondant chaque variable dtat. 6. On dessine le diagramme selon la convention et la technique choisie. Chaque tape implique des oprations et des rgles suivre qui sont dcrites dans la ralisation du systme ci-aprs. Exemple 6.4 On doit concevoir une machine ayant 2 entres X1 et X0, et une sortie Z. Les relations entres/sorties sont spcifies comme suit: Les entres X1 et X0 ne peuvent changer dtat simultanment. La sortie prend ltat Z = 1 si X1 = X0 = 1 si la squence des entres est la suivante: X1X0 = 00, 10, 11 La sortie conserve ltat Z = 0 pour tout autre squence des entres X1X0.

tape 1: Tableau des squences primaires Le tableau de primaire constitue une premire description des relations entres/sorties. Dans ce tableau, on doit: dcrire toutes les squences possibles des entres; chaque ligne du tableau doit contenir un seul tat stable; par consquent, il existe autant de lignes au tableau que dtats stables.

Le tableau est constitu de colonnes correspondant aux tats des entres et aux sorties. Sur chaque ligne, on dfinit un tat stable et des tats instables auxquels on accde par des changements des variables dentre. Pour chaque tat stable, on dfinit ltat des sorties. Les tats stables sont indiqus par des chiffres encercls et les tats instables, par des chiffres simplement. Les tats impossibles sont indiqus par des "-". Voici le tableau primaire relatif 1exemple.

97

X1X0 00 1 2 3 4 5 6 01 4 4 11 3 10 2

c
1 1 1

0 0 1 0 0 0

f
4 -

e
5

d
6 6

g
5

Remarque: Il est important de dfinir un nombre minimum de lignes. On y parvient en utilisant un tat stable existant lors de lentre dans une colonne, pourvu que la sortie soit conforme aux contraintes des spcifications. tape 2: Diagramme de fusionnement On confectionne le diagramme de fusionnement pour rduire au minimum le nombre de lignes dfinies dans le tableau primaire. Pour ce faire, il faut respecter les rgles suivantes: on fusionne deux lignes si les nombres sont identiques dans les colonnes correspondantes; les tats impossibles "-" permettent la fusion avec n'importe quel nombre; lors d'une fusion, on conserve, dans l'ordre, les tats stables, les tats instables et les tats impossibles. Pour visualiser les simplifications apportes par cette opration, on reprsente d'abord chaque ligne du tableau primaire par un point identifi par le numro de la ligne. Un trait est ajout entre les points correspondant aux lignes qu'il est possible de fusionner. Lorsqu'un groupe de points sont tous interconnects entre eux, il est possible de fusionner toutes les lignes correspondantes en une seule. La figure 6.4 montre le diagramme de fusionnement de cet exemple.

98

Figure 6.4: Diagramme de fusionnement de l'exemple 6.4. Ce diagramme de fusionnement rsulte du tableau primaire relatif au problme dj amorc. On obtient un tableau fusionn trois lignes (a, b, c) o (a) est la fusion des lignes 1 et 2 et (c) est la fusion des lignes 4, 5 et 6. La ligne (b) est identique la ligne 3 puisqu'elle n'a pas t fusionne. X1X0 00 a b c Remarques: Puisque plusieurs lignes ont t fusionnes, il est normal d'avoir plusieurs tats stables par ligne. On ne se proccupe pas des sorties ce stade de la synthse. 01 4 4 11 3 10

c
1

e g

d
6

tape 3: Reprsentation des tats secondaires. Chaque ligne du tableau fusionn doit tre reprsent par un ensemble de variables d'tats. N variables d'tats peuvent reprsenter 2N lignes de tableau fusionn. De plus, une tude 99

des transitions est requise pour dterminer les alas ou courses. Le choix des tats reprsentant les lignes doit tre effectu en minimisant le nombre de changements simultan des variables d'tat. Le tableau fusionn prcdent a t rduit trois lignes, 2 variables d'tats seront suffisantes puisqu'elles permettent de reprsenter 4 lignes. Il reste associer les lignes a, b et c une combinaison de variables d'tats Y1 et Y0. Pour ce faire, voici un diagramme des transitions possible dessin partir du tableau fusionn.

Figure 6.5: Diagramme des transitions. Le tableau indique que le systme peut passer de la ligne (a) la ligne (b), de (b) (c), de et de (a) (c). En associant Y1Y0 = 00 (a) et Y1Y0 = 01 (b), cette transition implique le changement d'une seule variable, ne crant pas d'ala. Si la ligne (c) correspond Y1Y0 = 11, le transfert de (b) (c) ne reprsente pas d'ala lui non plus. Il y a des alas lorsque le systme passe de (a) (c) et de (c) (a) car Y1Y0 tente de passer de (00) (11) ou l'inverse. En ralit, les variables d'tats passeront par 10 ou 01 puisqu'il est impossible que les deux variables changent d'tat simultanment. Il faut donc tenir compte de ces tats intermdiaires et le tableau avec reprsentation des tats secondaires devient: X1X0 Y1Y0 00 01 11 10 00 01 4 4 11 3 10

c
1 1 1

f
4

e g
X

d
6

h
X

100

tape 4: Dfinition des excitations. partir du moment o on a dfini les tats secondaires, on peut revenir la reprsentation binaire des excitations et les dcrire analytiquement. Cest galement un bon endroit pour retrouver la sortie dfinie pour les 6 tats stables. Le tableau prcdent devient:

Tableau 6.1: Tableau d'excitation complet. La table reprsentant la sortie est remplie de conditions facultative tous les tats instables, ce qui permet. dcrire pour la sortie: Z = Y1Y0 Remarque: La prsence de conditions facultatives de la sortie correspondant aux tats instables du systme est un choix du concepteur. Elle mne une expression plus simple de la sortie Z. L'inconvnient qu'il faut attendre en retour est la prsence dimpulsions courtes sur la ligne de sortie si le systme passe par ces tats instables. Il incombe au concepteur de juger de la pertinence de cette dcision. On peut dcrire l'excitation des lments du systme avec le tableau prcdent. Il faut le subdiviser en autant de tables qu'il existe d'lments dans le systme. Le systme comporte deux lments de mmoire: Y1 et Y0. 101

Tableau 6.2: Synthse des variables d'tats. Ces deux tables permettent d'crire: Y1 = X 1 X 0 + y1 X 1 + X 1 X 0 y 0 + (X 0 y1 ) Y0 = X 0 + X1 y 0 Remarque: Le terme entre parenthses correspond un impliquant redondant, montr en pointill. S'il n'est pas essentiel, d'un point de vue pratique, il contribue rendre le systme prvisible. Lorsqu'on veut passer d'un tat stable un autre, on est certain d'viter un comportement imprvisible si les changements l'tats s'effectuent l'intrieur d'un impliquant. tape 5: Dessin du schma. partir des expressions qui dcrivent les relations logiques entre les lments du systme, il est possible de dessiner le schma de ce dernier.

102

Figure 6.6: Schma du circuit de l'exemple 6.4. Remarques: Il faut toujours rgler les courses et les erreurs momentanes pour rendre un systme squentiel utilisable. On peut les rgler de diverse faon selon les possibilits: En dfinissant un tat intermdiaire instable. Par une dfinition approprie des tats secondaires et des excitations non dfinies. En retournant au diagramme de fusionnement. En dernier recours, ajouter un tat secondaire. Les impliquants redondants rendent un rseau plus prvisible dans certains cas. On peut permuter des lignes du tableau de squences primaires fusionn lorsque celui-ci utilise encore des symboles.

103

6.3 lments de mmoire


Certains lments de mmoire (les bascules et les bistables) ont t vus brivement dans la section 2.5. Cette section explique avec plus de dtails les lments de mmoire les plus couramment utiliss pour les machines tats. Bascule S/R (Set/Reset) La bascule S/R est un lment de mmoire dont la sortie peut tre tablie un tat actif ou inactif en forant des conditions temporaires sur les entres S et R. L'entre S sert mettre la sortie 1 et l'entre R met la sortie 0. Si aucune des entres n'est active, la sortie conserve la valeur courante. De plus, il est illogique que les deux entres soient actives en mme temps. Ce cas est viter en tout temps lors que ce composant est utilis comme bascule. S R Q 0 0 1 1 Synthse: 00 01 11 10 1 Q 0 0 1 1 0 Q0 1 0 1 0 1 X

c f

3 -

2 1 3 4 4

d
2 2

e
3

104

Tableau 6.3: Excitation et sortie d'une bascule S/R. Y = S + yR Q = y ou Q = yR La figure 6.7 prsente le schma du circuit dans sa forme directe et sa forme optimise. La configuration de circuit de la forme optimise, ainsi que l'quivalent o les NON-OU sont remplacs par des NON-ET, sont la fondation des circuits synchrones. Dans la version avec des NON-ET, il est important de savoir que les entres R et S sont en logique ngative.

Figure 6.7: Formes directe et optimise d'une bascule S/R. Bascule S/R avec horloge. Dans cette configuration, l'horloge est comme un signal d'activation. La bascule ne pourra changer de valeur que si l'horloge est un niveau actif. Les signaux PRESET et CLR servent mettre la sortie Q 1 et 0 respectivement, et ce, sans tenir compte de l'horloge. La table de vrit est la mme que pour la bascule S/R.

105

Figure 6.8: Schma d'une bascule SR avec horloge et initialisation. Bistable (latch) La bistable est une mmoire o l'entre est copie la sortie tant que l'horloge est active. Lorsque l'horloge devient inactive, la sortie conserve son tat. L'horloge est active sur un niveau haut. D H Q 0 0 1 1 0 1 0 1 Q0 0 Q0 1

106

Figure 6.9: Schma d'une bistable Bascule D La bascule D est la plus intuitive puisque son excitation est gale son rsultat. L'horloge est active sur une transition et l'entre D est copie la sortie ce moment. D 0 1 Bascule T La bascule T (toggle) est un lment de mmoire n'ayant qu'une entre T. Lors d'une transition de l'horloge, la sortie sera inverse si T est actif et conservera son tat sinon. T 0 1 Bascule JK La bascule JK est la plus complexe mais aussi la plus versatile. Son comportement est command par deux signaux qui permettent de recrer le comportement de toutes les bascules vues jusqu'ici. Lors d'un design, l'utilisation des bascules JK demande un peu plus de travail pour le concepteur mais rsulte habituellement en un nombre minimal de composants. Contrairement Q Q0 Q0 Q 0 1

107

aux autres lments de mmoire jusqu'ici, l'horloge est active sur une transition de 0 vers 1. Certains composants utilisent une transition de 1 vers 0 mais aucun composant n'est actif sur les deux transitions. J K 0 0 1 1 0 1 0 1 1 Q0 Q Q0 0

Figure 6.10: Schma d'une bascule JK. Transitions d'tats Lors de la conception de machines synchrones, il faut dfinir l'excitation ncessaire aux bascules pour provoquer le changement d'tat dsir. L'information des tables de vrit des bascules D, T et JK peut aussi tre crite sous la forme d'une table de transitions. tat prsent tat futur Q 0 0 1 1 Q0+ 0 1 0 1 Bascule D D 0 1 0 1 Bascule T T 0 1 1 0 Bascules JK J 0 1 X X K X X 1 0

Tableau 6.4: Table de transitions des diffrentes bascules.

108

6.4 Systmes synchrones


Contrairement aux systmes asynchrones qui peuvent changer d'tat sur une transition d'une entre quelconque, les systmes synchrones ne changent d'tat que sur l'activation de l'horloge. Ces systmes utilisent habituellement des bascules D, JK et T. Les systmes synchrones sont habituellement plus stables et prvisibles que les machines asynchrones et sont aussi plus faciles rparer lorsque des fautes sont prsentes. Comme pour les machines asynchrones, les machines synchrones sont divises en deux catgories: les machines de Mealy et les machines de Moore. La figure 6.2 prsente la forme gnrale de ces deux types de machines. 6.4.1 Synthse Les tapes de synthse sont prsentes et sont suivies d'un exemple. 1. partir des spcifications, on dessine un diagramme de transitions dtats pour illustrer lvolution du systme pour toutes les squences numres. 2. Ce diagramme permet de dterminer le nombre dtats du systme et donc le nombre de variables dtats (relation 2n). 3. On crit la table des tats suivants et des excitations. Cette table contient la liste des tats prsents (avec les entres) en ordre binaire naturel croissant, la liste des tats suivants et la liste des excitations. 4. Une table de Karnaugh est crite pour chaque excitation en fonction des variables dtat (et dentre le cas chant). 5. Les tats facultatifs sont vrifis pour viter le verrouillage (deadlock). 6. On crit lexpression logique de lexcitation correspondant chaque mmoire dtat. 7. Le systme est dessin. Exemple 6.5 Raliser un compteur modulo 3. tape 1 Un tel circuit requiert deux bascules

109

tape 2: Dfinir la squence. La squence est dfinie de faon arbitraire. La squence binaire naturelle est utilise dans cet exemple.

Figure 6.11: Diagramme d'tats de l'exemple 6.5. Dans ce diagramme d'tats, l'tat 11 ne fait pas partie de la squence. Si le circuit ne possde pas de RAZ (remise zro), il est possible que le premier tat soit 11, il faut donc prvoir un parcours entre cet tat invalide et un tat valide. Pour l'instant, l'tat 11 est ignor. Il faut cependant ajouter une tape supplmentaire de vrification lors de la simplification des quations d'excitation pour vrifier qu'il n'y a pas de verrouillage du circuit dans l'tat 11. tape 3: Matrice d'excitation tape 4: Minimisation tape 5: Ralisation tat prsent Q1 0 0 1 1 Q0 0 1 0 1 tat futur Q1+ 0 1 0 X Q0+ 1 0 0 X Bascules D D1 0 1 0 X D0 1 0 0 X Bascules T T1 0 1 1 X T0 1 1 0 X J1 0 1 X X Bascules JK K1 X X 1 X J0 1 X 0 X K0 X 1 X X

110

Les quations suivantes peuvent tre obtenues: D1 = Q 0 D 0 = Q1 Q 0 T1 = Q1 + Q 0 T0 = Q1

J1 = Q0 K1 = 1 J0 = Q1 K0 = 1 La ralisation avec des bascules JK ne demandera pas d'lments logiques puisque les bascules ont toujours les sorties Q et son inverse de disponible. La ralisation avec des bascules D demandera un ET et la ralisation avec des bascules T demandera un OU. 6.4.2 Analyse Les tapes d'analyse sont similaires celles de la synthse. Elles sont cependant excutes dans l'ordre inverse. Les cinq tapes sont: 1. Par inspection du diagramme schmatique dun systme existant, on crit la fonction dexcitation de chaque bascule mmorisant une variable dtat. 2. On confectionne une table des tats suivants et des excitations dans laquelle on trouve la liste binaire naturelle des tats prsents (et des entres), des excitations et des tats suivants. 3. Le diagramme des transitions dtats est dessin pour illustrer le comportement dtaill du systme et de statuer sur son caractre fonctionnel ou problmatique. 4. Les tats sont identifis par des cercles contenant un nom, un code des variables dtat et le symbole des sorties actives cet tat encercls pour les mettre en vidence. 5. Les tats sont relis par des arcs illustrant les transitions. Les valeurs des entres produisant une transition sont crites sur larc reliant ltat prsent et ltat suivant.

111

Exemple 6.6: Analyser le circuit suivant:

Figure 6.12: Schma de l'exemple 6.6. T0 = 1 T1 = A Q0 tat prsent A 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 Excitation T1 0 1 0 1 1 0 1 0 T0 1 1 1 1 1 1 1 1 tat futur Q1+ 0 1 1 0 1 0 0 1 Q0+ 1 0 1 0 1 0 1 0

112

Squence de sortie:

Figure 6.13: Squence des tats de l'exemple 6.6.

113

CHAPITRE 7 Unit de commande industrielle (ICU MC14500)


Ce chapitre se veut une introduction au MC14500 de Motorola. Ce module logique est un processeur un bit qui dispose de 16 instructions. Ce module a t conu pour remplacer de grands rseaux combinatoires par un composant programm simple et fiable. Les informations complmentaires au sujet de ce composant peuvent tre trouves en annexe.

7.1 Description
Le 14500 est un module logique de 16 broches conu pour remplacer des circuits contenant un grand nombre de modules logiques standards. Un systme bas sur le 14500 utilise une logique programme, c'est dire que la fonction excuter se trouve dans une mmoire et le processeur excute les instructions de faon squentielle. L'ICU est capable d'excuter 16 instructions diffrentes, encodes en mots d'instructions de 4 bits. Les instructions sont des fonctions logiques s'excutant entre une donne externe et un registre interne. Le rsultat est mmoris dans le mme registre interne effaant la donne prcdente. Il est noter que la ligne de donne est bidirectionnelle, c'est dire qu'elle sert tout aussi bien lire les donnes qu' crire les rsultats. Cela implique l'utilisation de composants haute impdance pour communiquer avec le 14500. Un des avantages principaux d'un systme bas sur ce contrleur est de pouvoir modifier compltement le comportement d'un circuit en changeant simplement le contenu de la mmoire qui contient le programme. Aucune modification physique du circuit n'est ncessaire. Un systme bas sur le 14500 doit contenir un nombre minimal de composants. Ces composants sont: L'ICU, module logique qui excute les instructions. Une mmoire qui contient le programme destin l'ICU. Cette mmoire est habituellement de type ROM mais une RAM peut aussi tre utilise. Le compteur de programme qui se charge de mmoriser l'adresse de l'instruction courante et qui fournira l'adresse de l'instruction suivante lorsque l'instruction courante sera termine. 114

Entres/sorties, modules logiques permettant de multiplexer les entres et dmultiplexer les sorties.

La figure 7.1 prsente le schma bloc d'un circuit minimal bas sur le 14500.

Figure 7.1: Schma bloc d'un systme bas sur le 14500.

7.2 Constituants
Le 14500 peut tre plus facile comprendre en regardant l'intrieur (figure 7.2). Les divers composants les plus importants sont expliqus ici: L'accumulateur RR: Mmorise le rsultat des oprations effectues par le processeur. La broche 15 du processeur permet d'observer le contenu de RR. L'unit logique: Effectue les oprations logiques sous la commande de la logique de contrle qui dcode l'instruction contenue dans le registre d'instruction. Le registre d'instruction: Mmorise ce que le processeur reoit comme instruction sur les broches 4 7 sur la descente de l'horloge.

115

L'Horloge: Oscillateur interne dont la sortie apparat la broche 14 et dont la frquence est rgle en connectant une rsistance entre les broches 13 et 14, ou en forant une horloge sur la broche 13.

La ligne de donne: Communication bidirectionnelle qui permet d'changer des donnes selon l'tat des registres IEN et OEN. Sortie Write: Une impulsion apparat la broche 2 et signifie un transfert de RR vers un port de sortie lorsque permis pas OEN. Les flags: Sorties sur les broches 9 12 qui devienne actives sur la descente de l'horloge lors du passage d'une instruction JMP, RTN, NOP0 et NOPF. Les registre IEN et OEN: Registres internes activs par programmation qui autorisent les entres/sorties.

L'entre RESET: Remet zro les registres internes (RR, IEN et OEN) et maintient l'horloge haute. Le cur du systme est la boucle forme par l'unit logique et le registre de rsultat. Lorsqu'une instruction est reue, le registre d'instruction la mmorise. La logique de contrle dcode l'instruction et active les signaux internes pour effectuer correctement l'instruction. Si l'instruction courante est une opration logique, c'est la logique de contrle qui se charge de configurer l'unit logique pour que la bonne opration soit effectue. la fin du cycle d'instruction, le rsultat est mmoris dans RR.

116

Figure 7.2: Vue interne du 14500.

7.3 Les instructions


Le 14500 dispose de 16 instructions encodes sur 4 bits. Les instructions ainsi qu'une brve explication pour chacune sont donnes selon la catgorie. Instructions qui ne font rien. Code d'instruction Mnmonique Description 0 F (15) NOP0 NOPF RR = RR. Une impulsion est envoye sur FLG0. RR = RR. Une impulsion est envoye sur FLGF.

Instructions entres/sorties. Code d'instruction Mnmonique Description 1 2 8 9 LD LDC STO STOC Chargement (LOAD). RR = Data. Chargement (LOAD). RR = Data . Sauvegarde. Data = RR et impulsion sur Write. Sauvegarde. Data = RR et impulsion sur Write.

117

Fonctions logiques. Code d'instruction Mnmonique Description 3 4 5 6 7 AND ANDC OR ORC XNOR ET logique. RR = RR x Data ET logique. RR = RR x Data OU logique. RR = RR + Data OU logique. RR = RR + Data XNOR. Si RR = Data, RR devient 1.

Instructions des registre IEN et OEN. Code d'instruction Mnmonique Description A (10) B (11) IEN OEN Activation de l'entre. Registre IEN = Data. Activation de la sortie. Registre OEN = Data.

Instructions de sous-routines. Code d'instruction Mnmonique Description C (12) D (13) E (14) Remarques: Lorsque IEN est 0, toutes les entres sont considres comme des 0. Si l'instruction LDC est effectue quand IEN est 0, ce sera un 1 qui sera lu, comme si l'entre tait effectivement 0. Lorsque OEN est 0, l'impulsion sur Write associe aux critures sera inhibe, prvenant ainsi l'criture. Les instructions de sous-routines requirent de la logique externe. Pour effectuer un saut, l'impulsion la sortie JMP doit faire sauter le compteur de programme vers une adresse o se trouve la sous routine. Il existe des compteurs auxquels il est possible de forcer une sortie au moyen d'une entre LOAD. L'instruction RTN gnre une impulsion pour ramener le compteur de programme au point d'o l'instruction JMP avait t excute. Ceci doit s'effectuer au moyen de la JMP RTN SKZ Saut de programme. Impulsion sur JMP. Retour de sous-routine. Impulsion sur RTN. Saut de la prochaine instruction si RR = 0.

118

logique externe. L'instruction SKZ existe pour viter le branchement la sous-routine selon les conditions dtermines par le systme.

7.4 Limitations
Mme si un systme bas sur le 14500 est beaucoup plus flexible qu'un grand rseau de logique combinatoire, il y a des limitations l'utilisation de l'ICU. Le processeur ne peut tre utilis par lui-mme. Il doit tre associ divers modules logiques tels que le compteur, la mmoire et les ports d'entres/sorties. L'ICU n'est pas destin aux calculs. Il remplace de grands rseaux de logique combinatoire. La rapidit d'excution est fortement rduite puisque les oprations logiques sont effectues en squence.

7.5 criture de programmes


Pour transformer un schma en programme, il faut transformer le traitement en oprations squentielles. Les exemples suivants utilisent le un circuit bas sur le schma bloc de la figure 7.1. La figure 7.3 prsente les ports d'entres/sorties en dtail. Notez que la sortie TMP et l'entre TMP sont branches ensemble pour permettre de mmoriser un rsultat temporaire.

Figure 7.3: Entres/sorties du systme utilis pour les exemples.

119

Exemple 7.1 crire le programme ralisant les fonctions suivantes: LD A AND B STO T LD A ANDC B STO U LD A ANDC B AND C ANDC D STO V LD A AND B STO TMP LD C AND D OR TMP STOC W Remarques: Lors d'une rinitialisation, le contenu des registres RR, IEN et OEN devient zro. Cela signifie qu'aucune entre ni sortie peut se produire. Il faut initialiser ces registres avant de pouvoir utiliser des donnes externes en les mettant 1. Pour ce faire, l'instruction ORC RR assure la prsence d'un 1 dans RR. Il faut ensuite mettre ce 1 dans les registres IEN et OEN en effectuant les instructions IEN RR et OEN RR. Dans leur forme actuelle, ces programmes ne s'excuteront qu'une seule fois. Pour que les programmes s'excutent en boucle continue, il faut trouver une faon simple de dire au compteur de programme de repartir au dbut. Cela peut se faire en branchant la broche FLGF la broche RESET et la rinitialisation du compteur. La 120

dernire tape consiste ajouter l'instruction NOPF la fin de chacun de ces programmes. Lorsque cette instruction sera excute, elle initialise l'ICU et le compteur qui repart au dbut du programme. Pour effectuer une inversion de RR, il faut excuter l'instruction LDC RR.

121

CHAPITRE 8 Initiation la logique programmable


Pour optimiser des circuits logiques, les concepteurs utilisent souvent la programmation. Il existe deux types de programmation: la logique programme (logicielle) et les composants programmables (matrielle). Les processeurs et contrleurs comme le 14500 utilisent une logique programme car le composant excute une srie d'instructions en squence. Le comportement physique du composant est toujours identique. Par exemple, la broche 3 du 14500 sert et servira toujours transmettre les donnes et les broches 4 7 serviront toujours spcifier l'instruction. De plus, tous les 14500 de mme famille et technologie sont identiques et peuvent tre interchangs. Les modules lectroniques de logiques programmables ont des comportements physiques qui changent en fonction de la programmation qu'ils ont reu. La programmation se fait avec un appareil spcifique qui est capable de configurer l'intrieur du composant. Les modules de logique programmable peuvent tre configurs pour excuter directement la fonction logique dsire. Lors d'une programmation, le concepteur dcide quelles broches serviront d'entres et de sorties, si le module le permet, mais aussi quelle fonction logique est ralise chacune des sorties. Ce chapitre se veut une introduction ces composants.

8.1 Intrts de la logique programmable


Si un circuit est ralis en logique programmable, il utilisera moins de composants puisque ceux-ci ralisent directement les fonctions logiques dsires. Un circuit ayant moins de composants sera habituellement moins coteux concevoir, raliser et distribuer. La rduction du nombre de composants lectronique tend aussi augmenter la fiabilit des circuits et rduire la consommation nergtique.

122

Exemple Un FPLA 28 broches peut contenir une structure ET-OU ayant les caractristiques suivantes: 48 portes ET 16 entres; 8 portes OU 48 entres; 8 fonctions logiques de 16 variables avec un maximum de 48 termes par fonction.

Le dsavantage majeur est qu'il faut se procurer le matriel ncessaire pour programmer les modules programmables. Puisque chaque compagnie fabrique des composants

programmables diffrents, le changement de composant, de compagnie ou de technologie peut tre coteux. Ces dsavantages affectent plus particulirement le dveloppement de nouveaux produits est ces cots deviennent insignifiants lors de la production grande chelle.

8.2 Familles de logique programmable


La liste des diffrentes familles de composants programmables qui suit n'est pas exhaustive. Elle se veut une introduction aux diffrentes architectures de ces composants. PLE (Programmable Logic Element): Plan ET fixe, plan OU programmable. PAL (Programmable Array Logic): Plan ET programmable, plan OU fixe. PLA (Programmable Logic Array): Plan ET programmable, plan OU programmable. FPLA (Field PLA): PLA reprogrammable. PEEL (Programmable Electrically Erasable Logic) EEPROM EEPLA EEPAL (GAL: Generic Array Logic) Les diffrents plans sont illustrs la figure 8.1.

123

Figure 8.1: Architectures de composants programmables. Exemple 8.1: Raliser la fonction F = AB + AC + BC avec un PROM, un PAL et un PLA tels que ceux montrs la figure 8.1. 124

En prenant comme hypothse A = A0, B = A1, C = A2 et F = O0. Pour le PROM, la fonction doit tre sous forme canonique donc: F = ABC + ABC + ABC + A BC Pour le PAL, la fonction ne peut tre une sommation que de deux produits. En simplifiant, on obtient F = AB + AC Pour le PLA, la fonction peut tre ralise directement. La figure 8.2 montre les rsultats.

Figure 8.2: Solutions de l'exemple 8.1. 125

ANNEXE 1

Exercices Et Solutions

NOTE: Ces exercices sont complmentaires ceux que vous pouvez trouver sur le site WEB du cours de 3.313 qui sont en bonne partie solutionns. Il est essentiel votre formation de les tlcharger et de les complter.

A1-1

Chapitre 2: Logique combinatoire

Algbre de Boole
1- Rduire les fonctions suivantes: F1 = (A B + C)(A + B)C F2 = C + AB + AD(B + C) + CD F3 = A B + A C + BC F4 = A + ABC + AC F5 = (X + Y)(X + Z) 2- Dmontrer: a) A + AB = A b) A + AB = A + B c) AB + A B = A d) AC + ABC = AC + BC e) AB + AC + BC = AB + BC f) AC + AB + BC = AC + B 3- Simplifier: F = (A + B) + (A + B) + (AB)(A B)

A1-2

SOLUTIONS: 1F1 = (A B + AC + BC)C F1 = A B C + AC + BC F1 = AC(1 + B) + BC F1 = AC + BC

F2 = C + AB + AD(B + C) + CD F2 = C + AB + ABD + ACD + CD F2 = C(1 + D) + AB(1 + D) + ACD F2 = C(1 + AD) + AB + ACD F2 = C + AB + AD(C + C) F2 = C + AB + AD

F3 = A B + A C + BC

F4 = A(1 + BC) + AC F4 = A(1 + C) + AC F4 = A + C(A + A ) F4 = A + C

F5 = (X + Y)(X + Z) F5 = X + X Z + X Y + Y Z F5 = X (1 + Z + Y) + Y Z F5 = X + Y Z

A1-3

2- a) b)

A(1 + B) = A A=A A(1 + B) + AB = A + B A + B(A + A ) = A + B A+B=A+B

c)

A(B + B) = A A=A

d)

AC(1 + B) + ABC = AC + BC AC + BC(A + A) = AC + BC AC + BC = AC + BC

e)

AB + AC(B + B) + BC = AB + BC AB(1 + C) + BC(1 + A) = AB + BC AB + BC = AB + BC

f)

AC (1 + B) + AB + BC = AC + B AC + B(A C + A + C) = A C + B

[ ] AC + B[AC + AC + AC + A C] = AC + B AC + B[A(C + C) + A(C + C)] = AC + B AC + B[A + A ] = AC + B


AC + B = A C + B

AC + B AC + A (C + C) + C(A + A) = AC + B

A1-4

3-

F = A B + A B + AB + A B F = A B + AB + A B F = A + B + AB + A B F = A (B + B) + B(A + A) + AB + A B F = AB + A B + AB + AB + AB + A B F = A(B + B) + A(B + B) F =1

A1-5

Karnaugh
1- Soit la fonction F = ABCD + ACD + A BC + A BD + A BC + A BD a) crire l'quation sous forme canonique. b) Simplifier avec une table de Karnaugh. 2- Soit le circuit suivant:

a) crire les quations des sorties. b) Rduire les fonctions et dessiner le nouveau schma.

A1-6

3- Soit le schma suivant:

a) crire la fonction logique sous forme de somme de produits. b) Simplifier la fonction avec une table de Karnaugh sachant que ABCD ne prennent jamais la valeur 1001. c) Dessiner le schma de la fonction S. 4- Faire la synthse d'un circuit combinatoire 4 entres et 3 sorties. Les 4 entres forment un chiffre dcimal cod binaire avec les poids D=8, C=4, B=2 et A=1. Les sorties sont: E=1 si le code DCBA n'est pas un nombre BCD valide (nombre > 9). F=1 si le nombre est un multiple de 3. G=1 si le nombre est plus grand que 5. Les sorties F et G sont sans importance si E=1. a) Dessiner la ou les tables de Karnaugh. b) crire les quations simplifies. A1-7

SOLUTIONS 1- a) b) F = ABCD + ABCD + A BCD + A BCD + A BCD + A BCD + A BC D + A BCD + A BCD + A BC D + A BC D

F = A B + A BCD + ABCD + ACD 2- a) F1 = AB + (A + B)C F2 = F1(A + B + C) + ABC b)

F1 = AB + AC + BC S = ABC A BC ABC D ABD A BD C

F2 = A BC + A BC + ABC + ABC = A B C

3- a)

S = ABC A BC ABC D + ABD A BD C S = (ABC + A BC + ABC) D + (ABD + A BD) C S = ABCD + A BCD + ABCD + ABC D + A CBD A1-8

b)

S = A BC + ABC + CD c)

A1-9

4- a) D C B A E F G 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1

X X X X X X X X X X X X

b) E = DC + DB F = DA + CB A + CBA G = D + BC

A1-10

Quine/McCluskey
1- Simplifier l'quation suivante l'aide de l'algorithme de Quine/McCluskey F = AD + BA D + A D(B C) 2- Soit la fonction F = A BC + ABD + ABCD + A BC Sachant que les combinaisons A BCD, ABCD et A BC ne seront jamais prsenter aux entres, faire la synthse pas Quine/McCluskey. 3- Raliser un circuit permettant de multiplier deux nombre binaires AB et CD de 2 bits. Le rsultat de la multiplication P2P1P0 est un nombre de 3 bits. Le nombre AB ne peut jamais dpasser 2. a) Faire la synthse par Karnaugh de P2, P1 et P0 b) Refaire la synthse de P0 par Quine/McCluskey. SOLUTIONS: 10100* 0010 1000 -----1010 1001 -----1101 1011 -----1111 X010* 10X0 100X -----101X 1X01 10X1 -----11X1 1X11 10XX* -----1XX1*

A1-11

0100 0010 1000 1010 1001 1101 1011 1111 0100 [9] X010 10XX 1XX1 Les impliquants sont tous essentiels. F = AD + A B + BC D + ABC D 2F = A BC(D + D) + AB(C + C)D + ABCD + A BC(D + D) + (A BCD + ABCD + A BC(D + D) F=0000+0001+0111+0101+1110+1011+1010+(0011+1111+1001+1000) 0000 -----0001 1000 -----0101 1010 0011 1001 -----0111 1110 1011 -----1111 000X X000 -----0X01 00X1 X001 10X0 100X -----01X1 1X10 101X 0X11 X011 10X1 -----X111 111X 1X11 0XX0* -----0XX1* X0X1* 10XX* -----XX11* 1X1X* [9] (9)

[9]

(9)

(9)

(9)

(9)

(9) (9)

[9]

A1-12

0000 0001 0111 0101 1110 1011 1010 X00X [9] 0XX1 X0X1 10XX XX11 1X1X F = AD + BC + AC 3A B C D P2 P1 P0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 X X X X 0 0 0 0 0 0 1 1 0 1 0 1 X X X X 0 0 0 0 0 1 0 1 0 0 0 0 X X X X (9) (9) (9) [9]

9 9 9 9 [9] (9) (9)

Les impliquants essentiels sont X00X, 0XX1 et 1X1X.

P2 = AC P1 = AD + BC P0 = BD

A1-13

Par Quine/McCluskey: P0=0101+0111+(1100+1101+1110+1111) 0101 1100 -----0111 1101 1110 -----1111 01X1 X101 110X 11X0 -----X111 11X1 111X X1X1* 11XX*

0101 0111 X1X1 [9] 11XX L'impliquant essentiel est X1X1. P0 = BD. [9]

A1-14

lments de base
1- Raliser une MUX 4 1 avec un nombre minimal de MUX 2 1. La slection se fait avec les bits B et A, du plus au moins significatif. 2- Raliser un MUX 6 1 avec un nombre minimal de MUX 4 1. La slection se fait avec les bits C, B et A, du plus au moins significatif. 3- Raliser un DEMUX 1 10 avec un nombre minimal de DEMUX 1 4. La slection se fait avec les bits D, C, B et A, du plus au moins significatif. La slection doit suivre un code binaire naturel. 4- Complter le diagramme de temps pour Ql et Qb. 5- Soit le circuit suivant:

Trouver f(Z1) et f(Z2) sachant que f(clk) = 1MHz. (La frquence est le nombre de cycles dans un intervalle divis par sa dure)

A1-15

SOLUTIONS: 1-

2-

A1-16

3-

Cette solution est la seule qui respecte une code de slection binaire naturel. La solution suivante ralise aussi une multiplexage des donnes mais ne respecte pas le code binaire naturel car l'adresse 1001 active la sortie 8. Pour activer la sortie 9, il faut un code de la forme 11XX, ce qui est invalide.

Solution invalide:

A1-17

4-

5-

1 f(Z1) = f(Q0) = 1MHz = 500kHz 2 3 f(Z2) = 1MHz = 375kHz 8

A1-18

CHAPITRE 3 : La Logique Mixte


Synthse et analyse de la logique mixte
1- Raliser les fonctions suivantes en respectant les conventions de la logique mixte: a) F = AB + AC + BD avec A, B*, C, D* et F. b) F = ABC + A BC + ABC avec A, B, C* et F* c) F = AB + CD avec A*, B*, C, D et F*. 2- Est-ce les fonctions F1 et F2 produisent la mme fonction logique?

3- Raliser la fonction F = ABC + BC avec des 7400 seulement avec A, B*, C et F.

A1-19

SOLUTIONS 1- a)

b)

c)

2- Oui 3-

L'inverseur est ralis en branchant les deux entres du NON ET ensembles.

A1-20

Chapitre 4 : Les rseaux itratifs Synthse de rseaux itratifs


1- Concevoir un rseau itratif qui dtecte une entre de la forme "010101". La sortie S gale 1 si tous les bits de l'entre sont alterns et 0 sinon.

2- Concevoir un rseau itratif qui reoit une entre sous forme de sries de 1 et de sries de 0. Le rseau doit gnrer un signal d'erreur (E=1) si une de ces sries contient un nombre pair de 1 ou de 0. Exemple: 00011111000100000111 00011101100011100111

E=0 E=1

3- Concevoir un rseau itratif qui calcule le complment deux d'un nombre. Le complment deux est trouv en inversant tous les bits et en ajoutant 1. Une fois travaill, l'algorithme peut tre simplifi sous cette forme: en partant du bit le moins significatif, copier tous les zro et le premier 1. Tous les autres bits sont inverss. Exemple: Nombre 1010 1000 Complment deux 0101 1000

A1-21

SOLUTIONS: 1-

Sk=1 si Xk+1 et Xk-1 sont l'inverse de Xk. Sk=0 sinon. Dk=Xk pour cellule Ck-1. Gk+1=Xk pour cellule Ck+1. Dk+1 Xk Gk Sk 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0

S k = X k D k +1 G k + X k D k +1G k

A1-22

Conditions aux frontires: C0 doit se comporter comme si la cellule sa droite tait l'inverse de X0. Le raisonnement similaire s'applique aussi Cn-1 d'o G0 = X0 G n = X n -1 2-

Bk+1 = Bit prcdent Pk+1 = Parit des bits prcdents

A1-23

Pk+1 Bk+1 Xk 0 0 0 0 1 1 1 1 Bk = X k E k = P k +1 (B k +1 X k ) Conditions extrmits: 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

Pk 1 X X 1 0 1 1 0

Bk 0 X X 1 0 1 0 1

Ek 0 1 1 0 0 0 0 0

Pk = Pk +1 + (B k X k )

Pour initier correctement la vrification, on peut poser l'hypothse que le premier bit est prcd d'un nombre impair de bit inverse. Cela nous assure un dmarrage valide tout coup. Pn = 1, B n = X n -1 . Schma:

A1-24

3-

Ik = 1 Inverser le bit courant. Ik Xk Zk Ik+1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1

I k +1 = I k + X k Zk = Ik X k

A1-25

Chapitre 5 : Codes analytiques et reprsentatifs


Codes
1- Exprimer les nombres suivants en utilisant le code indiqu avec un nombre minimal de bits. Si la reprsentation est impossible, indiquez-le. Binaire naturel 13 13241 0 -64 -869 Binaire avec signe Complment 1 Complment 2

2- Effectuer les oprations suivantes en complment 2 reprsent sur 8 bits. Indiquer sil y a dbordement. a) 113 - 26 b) 100 + 33 c) 45 - 63 d) -38 + -91

A1-26

Solutions
1Binaire naturel 13 1101 Binaire avec signe Complment 1 Complment 2 0 1101 0 1011 1001 00 ou 10 1100 0000 111 0110 0101 0 1101 0 1011 1001 00 ou 11 1011 1111 100 1001 1010 0 1101 0 1011 1001 0 100 0000 10 1001 1011

13241 11 0011 1011 1001 0 -64 -869 0 X X

2a) Retenues 113 - 26 87 b) Retenues 100 + 33 133 Dbordement c) Retenues 45 - 63 - 18 d) Retenues - 38 - 91 - 129 Dbordement 1 1 0 0 0 0 1 1 0 1 + 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 + 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 + 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 + 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1

A1-27

Dtection et correction derreurs


1- Lencodage par parit orthogonale permet daugmenter la fiabilit dun canal de communication en ajoutant des bits de parit. Complter le tableau suivant en indiquant le ration donnes/total sous forme fractionnaire (12/31) et sous forme dcimale (0.39). Les valeurs de m et n sont des dimensions de la matrice de donnes. 1 1 2 3 4 5 6 7 8

2- Choisir la longueur des mots dun code de Hamming pour transfrer des donnes un rythme de 8 Mbps (8x220 bits par seconde) sur un canal de transmission qui peut permettre jusqu 10 Mbps. Choisir les mots les plus petit possible.

A1-28

Solutions
11 1 .25 2 X 2 2/6 .33 4/6 .44 3 X X 3 3/8 .38 6/12 .50 9/16 .56 4 X X X 4 4/10 .40 8/15 .53 12/20 .60 16/25 .64 5 X X X X 5 5/12 .42 10/18 .56 15/24 .63 20/30 .67 25/36 .69 6 X X X X X 6 6/14 .43 12/21 .57 18/28 .64 24/35 .69 30/42 .71 36/49 .73 7 X X X X X X 7 7/16 .44 14/24 .58 21/32 .66 28/40 .70 35/48 .73 42/56 .75 49/64 .77 8 X X X X X X X 8 8/18 .44 16/27 .59 24/36 .67 32/45 .71 40/54 .74 48/63 .76 56/72 .78 64/81 .79

2- En choisissant des mots de Hamming avec 5 bits de parit, on peut inclure 26 bits de message par mots de 31 bits. Le ration de donne/total est alors de 26/31 soit 0.839. Ceci implique que pour transmettre 8 Mbps de donnes, le canal doit permettre 9.54 Mbps. Un mot plus grand rduirait la fiabilit car le code de Hamming ne permet pas plus dune erreur par mot.

A1-29

Chapitre 6 : La logique squentielle


Analyse de circuits asynchrones
1- Analyser le circuit suivant

A1-30

Solutions
1Q1 = A + Q 1 B Q 0 = A + B + Q1 Q 0 Z = Q1 Q 0 A B AB Q1+Q0+ 00 01 01 (01) (11) 11 11 11 11 (11) 11 10 11 11 (11) 11

00 (00) 01 (01) 11 10 00 00

La sortie Z est active si le systme est dans ltat 01 et que les entres sont 00.

Le systme est un dtecteur de squence 00, 01, 00.

A1-31

Synthse de circuits asynchrones


1- Concevoir un systme squentiel asynchrone qui dtecte la squence 00, 10, 00, 01 pour deux entres A et B. Les entres ne peuvent changer dtat simultanment. Une sortie Z est active lorsque AB vaut 01 et que la squence a t respecte.

2- Concevoir une bascule D qui est active sur un front descendant.

A1-32

Solutions 1AB 00 1 2 3 4 5 6 7 (1) 3 (3) 1 1 1 01 6 4 (4) 6 (6) 11 5 5 (5) 5 5 10 2 (2) 2 7 (7) Z 0 0 0 1 0 0 0

La ligne 1 devient a. Les lignes 2 et 3 sont fusionnes pour devenir b. Les lignes 5, 6 et 7 deviennent la ligne d. La ligne 4 devient la ligne c o la sortie est active.

AB 00 a b c d (1) (3) 1 1 01 6 4 (4) (6) 11 5 5 (5) 10 2 (2) (7) z 0 0 1 0

AB Q1 Q0
+ +

00

01 10 11 (11) (10)

11 XX 10 10 (10)

10 01

z 0

00 (00) 01 (01) 11 10 Q1 = B + Q1 A
+

(01) 0 XX 1

00 00

(10) 0

Q 0 = Q 1 Q 0 A + ABQ 0 + A BQ 1 Z = Q1Q0

A1-33

A1-34

2- Pour ne pas prendre de chances, tout les cas possible sont considrs. Il y a 4 combinaisons possibles pour D et H. Pour chacune delles, il u a deux possibilits pour la sortie Q.

DH 00 1 2 3 4 5 6 7 8 (1) (2) 1 1 1 2 01 3 4 (3) (4) 3 4 11 5 6 (5) (6) 5 6 10 7 8 8 8 (7) (8) Q 0 1 0 1 0 1 0 1

Les lignes sont fusionnes en tenant compte de Q pour que la sortie soit fonction de ltat seulement (Moore). a = 1 + 3 + 7, b = 5, c = 2 + 6 + 8, d = 4

DH 00 a b c d (1) (2) 1 01 (3) 3 4 (4) 11 5 (5) (6) 6 10 (7) 8 (8) Q 0 0 1 1

DH Q1+Q0+ 00 01 (00) 00 10 (10) 11 01 (01) 11 (11) 10 Z

00 (00) 01 XX 11 10 11 00

(00) 0 11 0

(11) 1 XX 0 A1-35

Q1 = Q1Q0 + Q1H + Q 0 H Q 0 = DH + Q 0 H Z = Q1
+

A1-36

Analyse de circuits synchrone


1- Analyser le circuit suivant

A1-37

Solutions
1- Les quations sont : D1 = Q0E D0 = E S = Q1Q0 La table dexcitation et de transition dtats est : Q1 0 0 0 0 1 1 1 1 Q0 0 0 1 1 0 0 1 1 E 0 1 0 1 0 1 0 1 D1=Q1+ D0=Q0+ 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 S 0 0 1 1 0 0 0 0

Le diagramme dtat est donc :

Ce circuit est un dtecteur de fronts montants.

A1-38

Synthse de circuits synchrones


1- Raliser un circuit qui dtecte la squence 00, 01, 00 sur les entres AB. Les entres changent sur le front descendant de lhorloge et la machine change dtat sur le front montant. Produire une sortie Z=1 lorsque la squence est dtecte. Raliser ce circuit avec des bascules D.

2- Raliser un circuit qui dtecte la squence 0,0,1,0,1,1 sur une entre E. Lentre change sur le front descendant de lhorloge et la machine change dtat sur le front montant. Produire une sortie S=1 lorsque la squence est dtecte. Raliser ce circuit avec des bascules D.

3- Raliser le diagramme dtat dune machine qui compte le nombre de 1 dans une squence de trois bits dune entre I. Ltat de I change sur les fronts descendants et lvaluation du bit I est faite sur les fronts montants.

4- Raliser le diagramme dtat dune machine contrlant une machine distributrice. Le montant percevoir est 50 et la machine ne rend pas la monnaie. Les pices acceptes sont les pices de 5, 10 et 25. Les entres C, D, V correspondent respectivement linsertion dune pice de 5, 10 et 25. Noter que deux pices ne peuvent tre insre simultanment.

A1-39

Solutions
1-

Q1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Q0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

A 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

B 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D1=Q1+ D0=Q0+ 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0

Z 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0

A1-40

D 1 = Q 1 Q 0 AB + Q 1 Q 0 A B D 0 = Q 0 AB + Q1 Q 0 A Z = Q1 Q 0 2Q2 0 0 0 0 0 0 0 0 Q1 0 0 0 0 1 1 1 1 Q0 0 0 1 1 0 0 1 1 E 0 1 0 1 0 1 0 1 D2=Q2+ D1=Q1+ D0=Q0+ 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 Z 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

x x 0 0 0 1 0 1

x x 0 0 1 1 0 0

x x 1 0 1 1 1 1

x x 1 1 0 0 0 0

D2 = Q 2Q1 Q 0 E + Q 2Q1E D1 = Q 2 Q0 + Q1 Q0 E + Q2Q1Q0E + Q2 Q1 Q0 E D0 = Q 2Q1 + Q0 E + Q 2 Q1 E + Z = Q 2 Q1

A1-41

3-

A1-42

4-

A1-43

ANNEXE 2

Fiches techniques Du Contrleur Industriel MC14500

A2-1

Vous aimerez peut-être aussi