I.U.T. de VELIZY UNIVERSITE DE VERSAILLES-SAINT-QUENTIN-EN-YVELINES RESEAUX ET TELECOMUNICATIONS Cours Informatique : module I2 Logique et circuits combinatoires chapitres 2 et 3 Emmanuelle Peuch
I.U.T. de VELIZY
UNIVERSITE DE VERSAILLES-SAINT-QUENTIN-EN-YVELINES
RESEAUX ET
TELECOMUNICATIONS
Cours Informatique : module I2
Logique et circuits combinatoires chapitres 2
et 3
Emmanuelle Peuch
IUT Vélizy – R&T / Emmanuelle Peuch 2
INTRODUCTION
Un circuit logique est dit combinatoire si l'état de ses sorties est fonction uniquement de l'état présent de ses entrées. Ainsi, à chaque combinaison des
entrées correspond une seule combinaison des sorties.
Dans cette partie nous allons tout d'abord présenter les opérateurs combinatoires de base (opérateurs logiques de base). Puis nous ferons un rappel sur l'algèbre de Boole, ce qui nous permettra ensuite d'aborder une méthode de synthèse d'un système logique combinatoire.
Dans un deuxième temps, nous aborderons les fonctions combinatoires usuelles telles le transcodage, le multiplexage, les opérateurs arithmétiques simples (additionneurs binaires, comparateurs binaires,...). En parallèle, nous introduirons la description de fonctions logiques sous forme de programmes en VHDL. Le VHDL, langage de description de haut niveau, est un outil d'aide à la conception qui conduit à la programmation de circuits programmables, tels les CPLD, les FPGA.
Chapitre 2 : Opérateurs logiques de base - Méthode de synthèse d’un système logique
combinatoire ------------ p. 2
Chapitre 3 : Fonctions combinatoires usuelles - Introduction au langage VHDL ---- p. 17
Chapitre 2 : Table des matières
IUT Vélizy – R&T / Emmanuelle Peuch 3
TABLE DES MATIERES CHAPITRE 2
1 Les opérateurs logiques de base - Logigrammes associés ________4
2 Algèbre de Boole ________________________________________6
3 Synthèse des systèmes logiques combinatoires ________________7
3.1 Table de vérité_______________________________________7
3.2 Mise en équation des fonctions logiques avec optimisation ____8
3.2.1 Première méthode : écriture à partir de la table de vérité __ Erreur ! Signet non défini. 3.2.2 Deuxième méthode : utilisation des tableaux de Karnaugh ________________9
3.3 Réalisation électronique ______________________________13
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
4
Opérateurs logiques de base – Méthode de synthèse d'un système logique combinatoire
1 Les opérateurs logiques de base - Logigrammes ass ociés
ET logique :
&0
0
0
La sortie est à l'état haut quand les entrées sont simultanément à l'état haut.
L'état logique 1 est l'élément neutre pour le ET logique: A.1 = 1.A = A
OU logique :
>=10
0
0
La sortie est à l’état haut quand l’une au moins des entrées est à l’état haut, et
à l’état bas quand les entrées sont simultanément à l’état bas.
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
5
L’état 0 est élément neutre pour le OU logique : A+0 = A
Inverseur logique (fonction NON ou PAS):
1
Il y a inversion du niveau logique d’entrée.
&0
0
0
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
6
>=10
0
0
=10
0
0
2 Algèbre de Boole
Réglesgénérales
Commutativité Associativité Distributivité Lois
spéciales Lois de De Morgan
A.B = B.A
A(BC) = (AB)C
= A.B.C
A(B+C) = A.B+AC. A+A.B = A B.ABA =+
A+B = B+A
A+(B+C) = (A+B)+C
= A+B+C
A+(B.C)=(A+B).(A+C) A(A+B) = A BAA.B +=
Les lois de De Morgan sont très utiles pour calculer le complément d’une expression.
Exemple : CBACBACBA +=++=+ ).().(
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
7
Réglesparticulières
A.1 = A A+0 = A AA = A+A = 1 0AA. = AA.A = A+A = A
3 Synthèse des systèmes logiques combinatoires
Cahier descharges
Table devérité
Mise enéquation (avecoptimisation)
Synthèse(réalisation
électronique)
3.1 Table de vérité A partir du cahier des charges, on construit la table de vérité. La table de vérité représente l’état de la variable de sortie pour chacune des combinaisons des n variables d’entrée (2n lignes). Elle permet donc de décrire le fonctionnement d’un système combinatoire.
Exercice
Ecrivons les tables de vérité qui correspondent à ce cahier des charges :
C B A R S
0 0 0 0 0 1 0 1 0
Trois interrupteurs A, B et C commandent l’allumage de 2 lampes R et S suivant les conditions suivantes :
- dès qu’un ou plusieurs interrupteurs sont activés la lampe R doit s’allumer,
- la lampe S ne doit s’allumer que si au moins 2 interrupteurs sont activés.
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
8
0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
3.2 Mise en équation des fonctions logiques avec optimisation
3.2.1 Méthode algébrique
Il est possible de déterminer l’équation de fonctionnement du système combinatoire en recherchant toutes les valeurs pour lesquelles la sortie vaut 1 (la sortie est vraie).
L’équation de fonctionnement est alors égale à la somme logique (OU logique) de toutes les combinaisons pour lesquelles la sortie
vaut 1.
Pour chacun de ces cas (sortie à 1), on écrit le produit (ET logique) de toutes les variables d’entrée :
- en notant la variable si sa valeur vaut 1, - en notant la variable complémentée si sa valeur vaut 0.
Puis on simplifie l’expression logique obtenue en utilisant les propriétés de l’algèbre de Boole. Pour cela, on essaie de faire apparaître des termes de
la forme (A+A ) puisque A+A = 1 et que B.1 = B. Remarque : lorsque les états ‘0’ sont moins nombreux que les états ‘1’,
il est avantageux d’écrire le complément de la somme logique des lignes où la variable de sortie prend la valeur 0.
Exercice
Equation de S :
S = CBAACBABCBAC +++ =
Mise en équation des sorties R et S et simplification des équations logiques obtenues
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
9
Equation de R :
Cette méthode peut convenir pour les cas où le nombre de variables d’entrée ne dépasse pas 2 ou 3. On préfère utiliser, en général, la méthode des tableaux de Karnaugh.
3.2.2 Deuxième méthode : utilisation des tableaux d e Karnaugh Le tableau de Karnaugh est une représentation particulière de la table de vérité. Les cases du tableau représentent les valeurs de la fonction de sortie pour toutes les valeurs possibles des variables d’entrée. Construction du tableau : Les cases représentant l’état des variables d’entrée doivent être adjacentes, c'est-à-dire que le passage d’une case à l’autre se fait par changement d’une seule variable à la fois.
BC
A 00 01 11 10
0
1
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
10
Cette disposition fait apparaître les simplifications de la fonction binaire :
on met en évidence, de façon graphique, la propriété ABAAB =+ . Ainsi, lorsqu’on regroupera deux cellules adjacentes, on ne conservera que les variables d’entrée qui ne changent pas d’état. Dans les cases on n’inscrit que la valeur 1 (cases où la sortie prend l’état 1).
Voici quelques exemples :
BC
A 00 01 11
10
0 1 1 1
Soit ici S =
On peut constituer des regroupements de 1, 2, 4, 8, 16,…. cases adjacentes. Et les bords de la table sont adjacents (comme si le tableau était enroulé sur un cylindre).
BC
A 00 01 11
10
0 1 1 1 1 1
BC
A 00 01 11
10
0 1 1 1 1 1
BC
A 00 01 11
10
0 1 1 1 1 1
00 01 11
On regroupe toutes les cases adjacentes (cases adjacentes dans lesquelles la sortie S est à 1 !) et on lit les coordonnées de chaque regroupement.
S =
S =
S =
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
11
BC A
10
0 1 1 1 1 1
BC
A 00 01 11
10
0 1 1
Une ou plusieurs cases peuvent être communes à plusieurs regroupements. La confection des groupes cesse lorsque tous les 1 appartiennent au moins à l’un d’entre eux.
BC
A 00 01 11
10
0 1 1 1 1 1 1
BC
A 00 01 11
10
0 1 1 1 1 1 1 1
La simplification peut ne pas être unique :
BC
A 00 01 11
10
0 1 1 1 1 1 1 1
S =
S =
S =
S =
S = A.B.CAC.B ++
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
12
OU ALORS
BC
A 00 01 11
10
0 1 1 1 1 1 1 1
Quand certaines combinaisons des variables sont sans effets sur la valeur de la fonction de sortie S, on dit que ce sont des états indifférents. On les note par une croix ou par un – dans le diagramme de Karnaugh et on les utilise partiellement ou totalement pour simplifier S :
BC
A 00 01 11
10
0 1 - 1 1 - 1
Exercice
Rappelons la table de vérité des sorties R et S :
C B A R S
0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0
S = B.CB.ACA. ++
S = CA.B +
Mise en équation des sorties R et S et simplification des équations logiques obtenues par la méthode des tableaux de Karnaugh
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
13
1 0 1 1 1 1 1 0 1 1 1 1 1 1 1
Pour la sortie R il n’est pas nécessaire de tracer le tableau de Karnaugh (voir 1ère méthode). Pour la sortie S, le tableau nous donne :
BC
A 00 01 11 10
0 1 1 1 1 1
3.3 Réalisation électronique
La réalisation d’une fonction booléenne se fait soit à partir d’une association de portes logiques élémentaires, soit à partir de circuits spécialisés.
Exercice
R = A+B+C S = A.BB.CA.C ++
R
A B C
S
S =
Réalisation à partir de portes logiques élémentaires.
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
14
ANNEXE
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
15
Circuit intégré : portes logiques ET 74HC08
Circuit intégré :
Circuit intégré : portes logiques NON 74HC04 / caractéristiques électriques
Boîtier comprenant 4 portes ET : diagramme fonctionnel
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
16
Unité en Volts
Unité en ns
Chapitre 2
IUT Vélizy – R&T / Emmanuelle Peuch
17
Chapitre 3 : table des matières
IUT Vélizy – R&T / Emmanuelle Peuch
18
TABLE DES MATIERES CHAPITRE 3
I. Les circuits arithmétiques ___________________________19
1 Introduction _________________________________________19
2 Etude de l’additionneur 1 bit ____________________________19
3 Description VHDL d’un additionneur de deux mots de 3 bits ____24
II. Les multiplexeurs (circuit d’aiguillage) _______________25
1 Description générale___________________________________25
2 Description VHDL _____________________________________26
2.1 Avec des instructions d’affectation conditionnelles concurrentes 26
2.2 Les applications du multiplexage : _____________________28
III. Les décodeurs - démultiplexeurs _________________29
1 Description générale des décodeurs n vers 2n _______________29
2 Description générale des démultiplexeurs __________________30
3 Les décodeurs BCD décimaux et BCD 7 segments ____________32
4 Description VHDL _____________________________________34
IV. Les encodeurs______________________________________36
1 Description générale___________________________________36
2 Description VHDL _____________________________________38
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
19
Fonctions combinatoires usuelles - Introduction au langage VHDL
I. Les circuits arithmétiques
1 Introduction Un circuit arithmétique est un dispositif qui peut réaliser des additions, des
soustractions, des multiplications,…. sur des nombres binaires. Nous ne présenterons, dans ce chapitre, que l’additionneur binaire. L’étude de cette fonction arithmétique nous servira de support pour présenter les bases du langage VHDL (langage de description). Nous allons donc décrire l’additionneur binaire en langage VHDL pour ensuite l’implanter dans un circuit à architecture programmable (cette dernière phase sera étudiée lors des séances de travaux pratiques).
2 Etude de l’additionneur 1 bit � L’addition de deux mots de 1 bit est effectuée par un circuit appelé demi additionneur. Sa table de vérité est donnée ci-dessous :
Demi additionneur1 bit: vue externe
A
B
S (somme)
R (Retenue)
La table de vérité du demi-additionneur nous permet d’en tirer les équations logiques suivantes :
S = A ⊕ B R = A . B
Vue interne
B A S R 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
VHDL A xor B (Ou exclusif) A and B (Et logique) A or B (Ou logique)
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
20
Les équations logiques conduisent à la réalisation suivante :
=10
0
0
&0
0
0
AB
S (somme)
R (Retenue)
Ecriture de la description VHDL
Les types de données (ici std_logic) p.18
Opérateurs de base et leur niveau de priorité p 21
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
21
� Si nous additionnons deux mots de plusieurs bits, il faut alors tenir compte de la retenue de la précédente addition de 1 bit. Le circuit a donc trois entrées, deux sorties, et est appelé additionneur 1 bit (additionneur complet mono bit):
A i
B i
S i (somme)
R i+1
(Retenue)R i
Additionneur 1 bit:vue externe
Les équations logiques des sorties sont alors :
Si = Ri ⊕ Ai ⊕ Bi Ri+1 = Ai . Bi + Ri.(Ai ⊕ Bi) équation 1 Ou alors Ri+1 = Ai . Ri + Ri. Bi + Ai . Bi équation 2
Vue interne
Description comportementale (équation 2) : écriture VHDL
Ri Bi Ai Si R i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
22
Description structurelle (équation 1) : utilisation de deux cellules demi additionneur
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
23
A i
B i
R i
=10
0
0
&0
0
0
=10
0
0
&0
0
0
S i (somme)
>=10
0
0 R i+1
(Retenue)
S2
S1
S3
Figure 1
Nous écrirons cette description VHDL lors de la première séance de travaux pratiques.
Autre description comportementale à partir du schéma de la figure 1 : utilisation de l’objet « signal »
Nous allons utiliser des nœuds intermédiaires S1, S2 et S3 qui sont appelés des signaux en VHDL (objet du langage VHDL).
entity add is Port (Ai,Bi,Ri: in std_logic; S,R: out std_logic ); end add; -- description flot de données --avec deux demi -additionneur architecture version_2 of add is -- Déclaration des signaux signal S1, S2, S3 : std_logic; begin S2 <= Ai and Bi; S1 <= Ai xor Bi; S3 <= Ri and S1; S <= Ri xor S1; R <= S2 or S3; end version_2;
Les signaux: P 15 Les signaux permettent de modéliser les informations transitant sur des fils ou, d’une manière générale, transitant entre deux composants. Un signal étant un nœud intermédiaire n’est de ce fait ni une entrée ni une sortie, ni une entrée - sortie : ce n’est pas un port ! L’affectation d’une valeur a un signal se fait par l’instruction d’affectation concurrente <=. Ainsi peu importe l’ordre d’écriture des équations logiques et des instructions d’affectation.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
24
3 Description VHDL d’un additionneur de deux mots d e 3 bits
���� Cf TD et TP
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
25
II. Les multiplexeurs (circuit d’aiguillage)
1 Description générale Le multiplexeur permet de sélectionner une variable logique choisie parmi 2n variables logique. C’est pour cette raison qu’il est aussi appelé sélecteur de
données. L’aiguillage de l’entrée de données qui nous intéresse sur la sortie est commandé par des entrées de sélection appelées des entrées d’adresse.
NB : dans le symbole ci-dessus, les entrées et sorties sont représentées par des flèches épaisses afin d’indiquer qu’il peut y avoir plus d’un conducteur.
Un multiplexeur choisit une source de données d’entrée parmi N et transmet celle-ci à la seule voie de sortie existante.
Doc.technique
Multiplexeur :
2n entrées d’information (Io, … In-1) n entrées d’adresse (SELECT) 1 sortie Z Le code d’entrée SELECT détermine quelle entrée sera dirigée vers la sortie.
Extrait de la documentation technique du décodeur 74HC151 (Texas Instrument)
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
26
2 Description VHDL
� Description d’un multiplexeur 4 entrées / 1 sortie
S1
S4
D
C2C1 ENB
Multiplexeur
S0
S3
...Entrée dedonnées
Multiplexeur4 entrées/1 sortie
YSortie
C0 C1
Entrée desadresses
2.1 Avec des instructions d’affectation conditionnelles concurrentes
Instructions d’affectations dans le domaine concurrent p. 24
Pour décrire ce multiplexeur, nous allons utiliser les instructions d’affectation conditionnelles.
C1 C0 Y 0 0 S0 0 1 S1 1 0 S2 1 1 S3
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
27
L’instruction WHEN ELSE
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MUL_4_1 is Port ( E0 : in std_logic; E1 : in std_logic; E2 : in std_logic; E3 : in std_logic; sel : in std_logic_vector(1 downto 0); S : out std_logic); end MUL_4_1; architecture version1 of MUL_4_1 is begin S <= E0 when sel = "00" else E1 when sel = "01" else
E2 when sel = "10" else E3 ; end version1;
L’instruction With select WHEN
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity MUL_4_1 is Port ( E0 : in std_logic; E1 : in std_logic; E2 : in std_logic; E3 : in std_logic; sel : in std_logic_vector(1 downto 0); S : out std_logic); end MUL_4_1;
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
28
architecture version2 of MUL_4_1 is begin with sel select S <= E0 when "00", E1 when "01", E2 when "10", E3 when others; end version2;
2.2 Les applications du multiplexage : Les applications du multiplexage sont nombreuses dans le domaine des techniques numériques. Le multiplexage est également souvent utilisé dans les affichages afin de réduire sensiblement le degré de complexité du câblage ainsi que la consommation d’énergie. Ils sont utilisés dans toutes les applications nécessitant des conversions de données parallèles - série lors de la transmission d’information numérique où les liaisons ne se font que sur une ligne.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
29
III. Les décodeurs - démultiplexeurs
1 Description générale des décodeurs n vers 2 n
S1
S2
S3
D1
D8
ENB
Décodeur
Entrées devalidation
3 entrées (soit 8codes d'entrées)
8 sorties : une seulesortie est active à la fois
Doc.technique
Symbole logique :
Un décodeur possède n entrées d’adresse : il y a donc 2n combinaisons possibles donc 2n sorties actives à 0 en générale. Pour chaque combinaison des voies d’entrée, une seule sortie est activée.
Extrait de la documentation technique du décodeur - démultiplexeur 74HC138 (Texas Instrument)
C’est un décodeur 3 vers 8. Les sorties Y0 à Y7 sont actives à l’état bas.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
30
Table de vérité :
Les décodeurs sont très utilisés dans de nombreuses applications et en particulier dans la commande d’afficheurs, la sélection de boîtiers et d’adresses mémoire.
2 Description générale des démultiplexeurs Un démultiplexeur effectue l’opération inverse du multiplexeur : il n’a qu’une entrée et dirige celle-ci vers une sortie parmi plusieurs sorties.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
31
Table de vérité d’un démultiplexeur 1 voie vers 8 voies : il faut donc trois lignes d’adresse (entrées SELECT) pour valider une sortie parmi les huit.
Sel2 Sel1 Sel0 O7 O6 O5 O4 O3 O2 O1 O0 0 0 0 1 1 1 1 1 1 1 D 0 0 1 1 1 1 1 1 1 D 1 0 1 0 1 1 1 1 1 D 1 1 0 1 1 1 1 1 1 D 1 1 1 1 0 0 1 1 1 D 1 1 1 1 1 0 1 1 1 D 1 1 1 1 1 1 1 0 1 D 1 1 1 1 1 1 1 1 1 D 1 1 1 1 1 1 1
���� Dans la pratique, on remarque qu’un décodeur n’est autre qu’un
démultiplexeur dans lequel on a connecté l’entrée donnée à 0 : ainsi on retrouve la table de vérité du décodeur 3 vers 8. Les décodeurs sont beaucoup plus utilisés que les démultiplexeurs et ces derniers ont pratiquement disparu des catalogues des constructeurs. Ainsi, les décodeurs possèdent une ou plusieurs entrée de validation ce qui permet de les utiliser si nécessaire en démultiplexeurs. Pour cela, les entrées du code binaire jouent le rôle des entrées SELECT et l’entrée de validation joue le rôle de l’entrée de données D. C’est pourquoi les
Le démultiplexeur reçoit des données d’une entrée et choisit de les diriger vers une des N voies de sortie possibles : il fonctionne comme un commutateur.
Exemple : Si Sel2Sel1Sel0 = 001 alors les données d’entrée D sont dirigées vers la sortie O1, les autres sorties restant à l’état inactif haut.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
32
fabricants de circuits intégrés donnent souvent le nom de décodeur/démultiplexeur à ce dispositif.
3 Les décodeurs BCD décimaux et BCD 7 segments ���� Les décodeurs BCD décimaux possèdent 4 entrées (code BCD) et 10
sorties numérotées de 0 à 9.
Doc.technique
���� Commande d’afficheur 7 segments
Dans de nombreux affichages numériques, les dix chiffres 0 à 9, et parfois les caractères hexadécimaux A à F, sont configurés au moyen de 7 segments.
Disposition des 7 segments Segments qui doivent être allumés pour former chacun des chiffres.
Extrait de la documentation technique du décodeur 74LS42 (Texas Instrument)
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
33
Chaque segment est formé d’un matériau qui émet de la lumière quand il est traversé par un courant. Les matériaux les plus utilisés sont les diodes électroluminescentes (LED). Exemple : ci-dessus, on voir que pour former le chiffre 6 il faut allumer les
segments e, f, g, c et d et les segments a et b doivent être éteints.
Pour piloter un tel afficheur on utilise un décodeur DCB – 7 segments. Ce décodeur a donc quatre entrées : les 4 bits DCBA nécessaires pour coder les chiffres 0 à 9 en binaire. Suivant la combinaison des 4 bits d’entrée, le décodeur doit alors rendre actives les sorties qui vont permettre de faire passer un courant dans les segments qui forment le chiffre décimal correspondant (7 segments donc 7 sorties) Exemple : pour former le chiffre 6
Entrées : DCBA = (0110)b Ce qui doit rendre actif les segments e, f, g, c et d
Doc.technique
Extrait de la documentation technique du décodeur 74HC4511 (Texas Instrument)
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
34
4 Description VHDL
���� Cf TD et TP
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
35
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
36
IV. Les encodeurs
1 Description générale
Codeur
E0E1
E7
A0A1A2
ENB
8 entrées: une seuleest active à la fois
3 sorties (codagesur trois bits)
Entrées devalidation
Ici, dans notre exemple, nous avons un codeur octal/binaire (huit entrées/3
sorties).
Les sorties d’un codeur codent en binaire l’indice de l’entrée activée, ou l’indice le plus élevé si deux entrées sont activées :
c’est ce qu’on appelle un codeur prioritaire.
Doc.technique
Un encodeur a un certain nombre de voies d’entrée, dont une seule est active à la fois. A une voie d’entrée correspond une seule représentation de sortie sur N bits (ici, sur trois bits).
Extrait de la documentation technique du codeur de priorité 8 lignes vers 3 lignes 74 HC 148 (Texas Instrument)
Les données d’entrée et de sorties sont actives à l’état bas.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
37
Symbole logique (norme IEE) :
Table de vérité :
���� L’encodeur de priorité est fréquemment utilisé pour la gestion des
interruptions. Lorsque plusieurs dispositifs (périphériques par exemple) veulent accéder à un même système (calculateur), ils envoient leur propre demande d’accès (sous la forme d’une interruption) chacun sur une ligne séparée. Comme le système ne peut satisfaire qu’un seul dispositif à la fois, on établit un ordre de priorité parmi tous les dispositifs et il faut intercaler un module indiquant au système :
� La présence ou l’absence d’une demande d’accès, � Le numéro du dispositif demandeur le plus prioritaire.
Chapitre 3
IUT Vélizy – R&T / Emmanuelle Peuch
38
2 Description VHDL
���� Cf TD et TP