Structure Machine 2-2020 Bjaya
Structure Machine 2-2020 Bjaya
Structure Machine 2-2020 Bjaya
C e cours intitulé structure machine 2 complète le cours de structure machine 1 que vous avez suivi lors
du premier semestre. Je rappel que durant ce 1 er semestre vous aviez découvert les notions de base
vous permettant de cerner les connaissance de base permettant la conception des composants des
systèmes numériques (digitaux). Ainsi, vous aviez découvert les système de numération, le codage de
l’information et l’algèbre de Boole. Durant ce second semestre, vous allez approfondir vos connaissance
en abordant la conception des circuits logiques combinatoires, la conception des circuits logiques
séquentiels et les caractéristiques des circuits intégrés.
Le cours est proposé sous forme d’une séance de cours et d’une séance de travaux dirigés par semaine
durant un semestre.
Planning pédagogique :
1
Évaluation des apprentissages :
• Les apprentissages qui seront acquis à l'issue de ce cours seront évalués au travers :
• La première interrogation doit avoir lieu avant une date qui sera définie ultérieurement (après la
première série de TD). Sa durée doit être de 45 minutes. Elle doit porter sur le chapitre I (circuits
logiques combinatoires).
• La seconde interrogation doit avoir lieu durant le déroulement de la troisième série de TD mais
impérativement avant une date qui sera définie ultérieurement . Elle portera sur les chapitres II
et III. Sa durée est de 45 minutes.
• Le calcul de la note de l'évaluation continue (TD) sera comme suit: Note de TD sur 20 points
réparties comme suit :
• Les enseignants sont tenus d'organiser une séance de consultation pour l'examen final.
Plan du cours
Introduction
2
Introduction
Je ne sais pas si vous vous rappeler lors du semestre passé, je vous ai dit que les systèmes
électroniques que nous utilisons sont construits à base circuits analogiques et numériques. J’ai
expliqué que le transfert de certains type d’information comme le son ou l’image nécessite l’utilisation de
composants électroniques analogiques comme ceux utilisés dans des baffles ou des microphones. En
réalité, depuis quelques décennies, pour le stockage, le traitement et même le transfert de l’information,
des composant numériques sont de plus en plus utilisés. Ceci montre bien que deux types de composants
électroniques coexistent dans nos systèmes numériques comme les ordinateurs ou les smartphones. Dans
ce cours, nous nous intéressons uniquement aux composants relevant de l’électronique numérique ou
digitale (composant numériques) qui sont conçus à base de circuit logiques.
Les circuits logiques sont utilisés presque à tous les niveaux de notre vie quotidienne. Ils constituent la
base de la technologie numérique actuelle qui a permis un développement extraordinaire des moyens de
communication, de transport et des processus industriels...
On définie un circuit logique comme un circuit électronique réalisant une ou plusieurs fonction(s)
logique(s). Il est définit par l’interconnexion d’un ensemble de portes logiques mettant en relation des
sorties avec des entrées. Ainsi, globalement, on peut schématiser un circuit logique sous la forme d’une
boite noire ayant des entrées (binaires) et des sorties binaires (les fonctions logiques). Bien évidemment,
la boite noire est composée d’un ensemble de portes logiques interconnectées pouvant être
schématisées par un schéma que l’on nomme par logigramme. Deux grandes familles de circuits logiques
existent : les circuits logiques combinatoires et les circuits logiques séquentiels.
D’un point de vue conceptuel, nous avons déjà vue beaucoup de choses concernant les circuits logiques
combinatoires. En générale ; il sont utilisés pour faire des calculs ou des traitement et des transferts
d’information. Malheureusement, ces circuits, seuls, ne peuvent pas assurer la fonction de mémorisation
de l‘information. Leur base conceptuelle ne prévoit pas la prise en compte de l’état passé de leurs sorties.
Donc ça ne mémorise pas l’information. C’est pour cela qu’une autre base conceptuelle est utilisée pour
concevoir des circuits permettant de remplir cette fonction de mémorisation de l’information : C’est la
méthode de conception de circuits séquentiels.
Dans ce qui suit, nous reviendrons, bien évidement sur la conception de circuits logiques combinatoires, et
nous ferons la synthèse de quelques uns de ces circuits comme l’additionneur, le décodeur ou le
comparateur. Ensuite, nous présenterons les composants qui sont à la base de la fonction « mémoire ». Ces
composant sont appelés « bascules ». Par la suite, nous expliquerons quelques circuits séquentiels très
importants comme la mémoire, le registre ou le compteur. Nos terminerons les circuits logiques
séquentiel par présenter une méthode de synthèse en l’illustrant par la synthèse d’un compteur.
Ce que je viens d’évoquer est de la théorie, mais dans la pratiques, les circuits logiques sont, en générale,
utilisés sous forme de circuits intégrés. Nous présenterons, donc, les caractéristiques de ces circuits
intégrer en présentant un montage simple d’un circuits combinatoire à base de circuits intégrés.
3
Chapitre 1 : Les circuits logiques combinatoires (CLC)
2.1 Introduction
Je vous rappel que l’on distingue deux types de circuits logiques : les circuits combinatoires et les circuits
logiques séquentiels. Commençons d’abord par les circuits combinatoires. Mathématiquement parlant, on
peut les définir par une équation reliant ses sorties à ses entrées. En considérant E = (e0, e1, …, en) comme
les entrées de notre circuit et S = (s0, s1, …, sp) comme ses sorties alors, on peut écrire :
Dans ce qui suit, nous allons définir ce que c’est que la synthèse et l’analyse de circuits logiques
combinatoires et nous allons présenter la synthèse que quelques circuits courants.
Remarque :
Dans le chapitre précédent, nous parlions d’opérateurs logiques de base. Dans ce chapitre nous
parleront plutôt de porte logiques (ET, OU, NON, NAND, NOR et XOR). Pour traiter ce chapitre, vous
devez impérativement connaître l’algèbre de Boole.
Nous allons nous servir de symboles pour représenter les portes logiques. Vous allez vous rendre
compte que dans la littérature, on utilise des symboles différents pour représenter les mêmes portes
logiques. En fait, il existe plusieurs normes de représentations :
4
2.2 Analyse et synthèse de circuit logiques combinatoires
La synthèse d’un circuit logique combinatoire a pour but la réalisation d’une fonction
logique qui remplit un cahier des charges et qui satisfait également à d’autres critères tels
que le coût et l’encombrement minimum par exemple. Le nombre de circuits à produire, le
matériel à disposition, le délai de réalisation, etc. sont d’autres paramètres dont il faut tenir
compte lors de la synthèse. De façon générale, la simplification d’un circuit est toujours utile.
Voici les étapes à suivre pour réaliser la synthèse d’un circuit logique combinatoire :
1. Établir la table de vérité de chacune des fonctions impliquées dans le problème à traiter
L’analyse d’un circuit logique consiste à trouver à partir d’un logigramme ses fonctions
logiques. Le principe de l’analyse d’un circuit logique consiste à :
On peut ensuite établir la table de vérité du circuit analysé et opéré à une simplification
à ‘laide des propriétés de l’algèbre de Boole de la table de Karnaugh.
2. Déterminer la table de vérité pour chacune des sorties en fonction de leurs liens avec les entrées.
3. Simplifier l'expression booléenne pour chaque sortie. Utilisez les tableaux de Karnaugh ou
l'algèbre booléenne.
5
2.4 Classification
On distingue au moins 3 classes de circuits logiques combinatoires :
6
2.3 Étude de quelques CLC
Additionneur
Il s’agit de faire la synthèse d’un circuit d’addition de 2 nombres A et B sur n bits chacun. Ce circuit doit
avoir en entrée 2n variables (ce qui correspondant aux nombres A et B qui sont sur n bits chacun) et en
sortie n bits qui correspondront à la sortie S et un seul bit qui correspond à la retenue finale du calcul.
A S
n Circuit
S=A+B d’addition de n
B 2 nombres
n r
L’analyse rapide de ce problème nous apprend que nous avons 2n entrées et n+1 sorties au moins.
Maintenant essayons de comprendre le lien entre les sorties et les entrées. Ce lien (ou cette relation) est
déduite, bien évidemment des règles d’addition que nous avons déjà vue dans le chapitre sur les systèmes
de numération (rappelez-vous l’arithmétique binaire!).
0+0 = 0 retenue 0
Si je me rappel bien, j’avais présenté 4 règles que voici : 0+1 = 1 + 0 = 1 retenue 0
1+1 =0 retenue 1
1+1+1 = 1 retenue 1
Ces règles sont applicables pour chaque niveau des bits des deux nombres A et B. Ainsi le calcul se fait en
allant du bit de poids faible vers le bits de poids fort.
Comme je l’ai dit ci-dessus, nous avons n sorties pour constituer la somme S et une sortie supplémentaire
pour représenter la dernière retenue. Ainsi, nous pourrions être tentés de penser que ces n+1 sorites
dépendent des 2n variables en entrées (rappelez-vous, n entrées pour constituer A et n entrées pour
constituer B!). Mais l’analyse plus fine des règles de l’addition nous apprend que ce n’est pas vraie. En
effet, une sortie si ne dépend pas de toutes les entrées aj (j allant de 0 à n-1) du nombre A et bk (k allant de
0 à n-1) du nombre B. En fait, le calcul de l’addition se fait étage par étage en allant de la gauche vers la
droite (du poids faible vers le poids forts de nos deux nombres A et B).
7
Pour le premier étage nous avons 2 sorites : s0 et r0.
Ces sorties sont des fonctions f0 et g0 de 2 entrées
uniquement a0 et b0.
On écrira donc :
✔ s0 = f0(a0, b0)
✔ r0 = g0(a0, b0).
On écrira donc :
En appliquant les règles de l’addition binaire, trouvons maintenant les tables de vérité des fonctions
f0 , g0 , f1 et g1 en d’autres termes s0 , r0 , si et ri
m0
m1
m2
m3
m0 m4
m1 m5
m2 m6
m3 m7
• r 0=a0 . b 0
La détermination des équations de si et ri n’est pas trop compliqué ! :
8
Simplifions maintenant la retenue ri :
Au finale nous obtenons les logigrammes pour le premier étage de notre circuit d’addition:
Ce logigramme sera
appelé étage
demi-additionneur
(1/2 ADD)
Nous obtenons le circuit logique suivant pour les sommes si et retenues ri (i allant de 1 à n-1) :
9
En utilisant le 1/2ADD pour le premier étage de l’additionneur et l’ADD complet pour les étages suivants
on obtient le circuit suivant avec un montage en cascade :
10
Décodeur
Un décodeur dispose de n entrées et de 2n sorties. Il permet d'activer une ligne de sortie (sélection)
correspondante à la configuration présentée en entrée. Le schéma suivant illustre un exemple de
décodeur à trois entrées:
Décodeur 3:8
Afin de trouver les équations des sorties si du décodeur, il suffit de constater que si = 1 si le code
représenté par les variables est i , c’est à dire que mi = 1. On déduit donc que si=mi pour i allant de 0 à 2n.
Voici par exemple le décodeur 3🠖8 avec indication de l’équation de chacune de ses sorties.
11
Codeur
Le codeur (ou encodeur) est un circuit qui possède (en général) n sorties et N=2n entrées. Son principe de
fonctionnement repose sur le fait que la configuration indiquée par les n sorites correspond au numéro de
la ligne d’entrée à « 1 ». Cela suppose donc qu’à un moment donnée, une seule entrée à « 1 » !
Lorsque plusieurs entrées peuvent être à « 1 » au même temps, on défit un ordre de priorité entre ces
entrées de sorte à indiquer en sorite l’entrée prioritaire.
e7
s0
e6
e5
e4
e3 s1
e2
e1 s2
e0
12
Démultiplexeur Enable
E
Un démultiplexeur (DeMUX) est un circuit comptant : data
s0
• une entrée (de données ou d’information) s1
DeMUX N sorties si
D …
• N sorties (destinations possibles) n 2n=N
n N=2n
S2n-1
• n entrée de commande (ou de sélection)
n entrées d’aiguillage ci
N=2n
Le principe de fonctionnement de ce circuit repose sur l’idée de permettre d’aiguiller (de faire passer)
l’entrée D vers une seule sortie Si selon le code (ou adresse) indiquée par les entrées de commandes ci.
Ceci fait que les n entrées de commande (sélection ou aiguillage) doivent être suffisantes pour coder N
valeurs chacune associées aux N sorties du DeMUX. Ainsi, nous avons cette règle qui doit être respectée :
N=2n.
Voici la table de vérité qui découle de ce principe (sans prise en comptes de l’entrée de validation E) :
m0 0... 00 D 0 0 ... 0
m1 0...01 0 D 0 ... 0
. . 0 0 0 ... 0
. . . . . .
. . . . . .
. . . .
0 0 0 0
mi 0 0 D ... 0
. . 0 0 0 ... 0
. . . . . .
. . . . . .
. . . .
0 0 0 0
mN 1...11 0 0 0 ... D
En prenant en compte l’entrée de validation E qui fait que si elle est à « 0 » aucune sortie ne sera
sélectionnée et si elle est à « 1 » la sortie i sera sélectionnée si le minterme mi est réalisé alors on aura
cette équation :
si = E. D . mi
13
A titre d’exemple, prenons un DeMUX 3🠖8 :
c2 c1 c0
14
Multiplexeur
Un multiplexeur, réalise l'opération inverse du démultiplexeur. Il dispose de :
Son principe de fonctionnement repose sur l’idée de sélectionner une entrée ei parmi les 2n en se servant
des entrées de commandes (cn-1..c1c0).
Enable
data
E
e0 Une sorite
e1 MUX
N entrées ei …
2n=N n S
N=2n
e2 n-1
cn-1 cn-1 … c0
n entrées d’aiguillage ci
N=2n
n−1
2
L’équation de la sortie S est données par : S=E . ∑ e i . mi
i=0
15
Voici un exemple de MUX 4-2 (4 entrées de données et 2 entrées de commande)
Sortie S
c2 c1 c0
Entrées de commande
Comparateur
16
Génération de fonctions
Il est tout à fait possible de générer des fonction de façon extrêmement simple en se servant de circuits
comme le décodeur (DEC) ou le démultiplexeur (DeMUX)
Nous savons que toute fonction booléenne peut être écrite sous la forme :
n−1
2
f (e n−1 , e n−2 , ... , e0 )=∑ v i . mi
i=0
Nous savons par ailleurs que les sorties d’un décodeur correspondent aux mintermes composés des
variables d’entrée (en-1, en-2, …, e0).
En considérant les variables de commandes comme les variables de notre fonction, il suffit de faire un OU
Logique entre les sorties si du décodeur qui correspondent aux mintermes pour lesquels la fonction est à
« 1 ».
Exemple :
Nous avons ici 3 variables pour notre fonction f. Nous allons donc nous servir de 3 variables d’entrée du
décodeur comme suit : ce qui nous donne le circuit suivant :
17
Chapitre 2 : Les circuits logiques séquentiels
La logique combinatoire permet certes de synthétiser des circuits pour réaliser des fonctions comme des
additions ou des comparaison, mais reste insuffisants pour concevoir des fonctions comme la
mémorisation ou le comptage. Nous allons découvrir, dans ce chapitre, ce que c’est qu’un circuits logiques
séquentiel, l’élément fondamental qui est à la base de sa conception (la bascule) et nous présenterons
quelques circuits séquentiels : le compteur, le registres et la mémoire.
2.1 Définition
Un circuit séquentiel peut être
défini comme un circuit
combinatoire englobant des
éléments de mémoire. Son
Sorties extrenes
schéma général est comme suit:
Un circuit séquentiel asynchrone est caractérisé par le fait que l’allure du changement de ses états de
sortie dépend de l’ordre selon lequel les signaux apparaissent en entrée. Autrement dit, seule le
changement des entrées externes ou de l’état interne (mémoire / rétroaction) peut provoquer le
changement des sorties externes du circuit.
18
Une horloge (ou signal d’horloge) est un signal électrique oscillant qui rythme les actions d'un circuit. Sa
période est appelée cycle d’horloge.
À chaque cycle d'horloge, des calculs peuvent être effectués en utilisant les sorties de bascules. L'horloge
permet d'assurer que les données sont valides au cycle d'horloge suivant, c'est-à-dire que les calculs sont
terminés et les résultats stabilisés. La durée du
cycle doit donc être choisie en fonction de la
durée maximale possible de chacun des calculs.
Délai de propagation des signaux : La conception des circuits logiques séquentiels prend en compte une
propriété que nous avons ignorée dans les circuits combinatoires. Il s’agit du délai de propagation des
signaux électriques à travers les portes logiques. En effet, nous avons supposé que dès qu’un changement
se produits dans les entrées d’un circuit combinatoire, immédiatement les sorties sont affectées. En
réalité c’est faux, chaque porte logiques (selon son procédé de fabrication) mettra toujours un certain
temps (dit temps de propagation) pour fait passer un signal électrique depuis son entrée vers sa sortie.
Vérifions cela à travers l’exemple suivant :
a
0 1 1 1 1 1 1 1 1
a1
1 1 0 0 0 0 0 0 0
a2
0 0 0 1 1 1 1 1 1
a3
1 1 1 1 0 0 0 0Aléa 0
b
0 0 1 1 1 0 0 0 0
Instant t0 τ 2τ 3τ 4τ τ τ τ τ
• Ce n’est qu’à l’instant (t0+τ ) que « a1 » passe à 0 (puis « a1 » est l’inverse de « a »).
• à l’instant (t0+2τ ) que « a2 » passe à 1 (puis « a2 » est l’inverse de « a1 »).
• à l’instant (t0+3τ ) que « a3 » passe à 0 (puis « a3 » est l’inverse de « a2 »).
• Il faut remarquer qu’entre (t0 ) et (t0+3τ ) « a » et « a3 » sont tous les 2 à « 1 » au même temps ce
qui donne une situations particulière pour « b » égale à « 1 » .
Remarque : Le schéma temporelle indiqué ci-dessus est appelée « chronogramme ». Il est souvent utilisé
pour montrer les fonctions des circuits logiques séquentiels.
19
2.2 Les bascules
Une bascule est un circuit logique capable, dans certaines circonstances, de maintenir les valeurs de ses
sorties malgré les changements de valeurs d'entrées, c'est-à-dire de mémoriser sont état « mémoire ». Il
s'agit de l'élément de mémorisation à la de la logique séquentielle.
• les bascules asynchrones que l'on nomme verrous (ou latch en anglais)
• et les bascules synchrones (dépendant d’un signal d’horloge) que l'on nomme simplement
bascules (ou flip-flop en anglais ).
Dans ce qui suit, nous allons d’abord découvrir le principe des bascules en présentant ce que j’appellerai ici
la bascule fondamentale RS. Vous allez voir que je l’ai appelé ainsi, car elle sera la base de constructions
de tous les autres types de bascules (D, T, JK, etc.). Je présenterai aussi les bascules D et JK largement
utilisées pour réaliser des registres (groupes de bascules mémorisant un mots d’information) et des
compteurs.
Bascule RS
Dans le nom de cette bascules vous remarquez 2 lettres : « R » et « S ».
Ce sont les entrées de cette bascule (« R » pour reset ou mise à zéro et
« S » pour set ou mise à « 1 »). Bien évidement, cette bascule va avoir
un sortie que l’on appellera Q. En réalité, nous aurons toujours 2
sorties : Q et Q̄ .
• deux vannes R et S
• une bascules
• la sortie Q (tuyau de sortie) est à « 0 » veut dire qu’il ne fait pas sortir de l’eau
• la partie droite de la bascule est liée à une tige qui actionne une vanne pour fermer ou ouvrir le
tuyau de sortie Q.
20
Situation 2 : j’ouvre la vanne « S » en
laissant la vanne R fermée (donc S=1 et
R=0) : la bascule penche vers la gauche
soulevant la vanne Q qui permet à l’eau de
couler en sortie. Nous aurons donc Q=1. On
dira qu’on a mis à « 1 » notre bascule.
Remarque : Il n’est pas du recommandé d’ouvrir au même temps les deux vannes R et S, car on ne saura
pas vers quel coté la bascule va se pencher, donc l’état de la vanne Q sera indéterminé !
21
Voyons maintenant une véritable bascule RS. On peut la construire en se basant sur des portes NANDs ou
des portes NORs. La Figure suivante en est une illustration:
P1
P2
Rappelez-vous que le but d’une bascule est de remplir la fonction de mémorisation. Nous utiliserons les 2
entrées R et S pour mettre à « 1 » ou mettre à « 0 » cette bascule. Lorsque R et S sont à « 0 » toutes les
deux, la bascule doit mémoriser sont état (précédent). Vous allez voir qu’on va éviter de mettre R et S au
même temps à « 1 » (mettre à « 1 » et mettre à « 0 » au même temps n’a pas de sens!). Vérifions ce
fonctionnement en analysant le circuit de la base RS à base des portes NOR ci-dessus :
On peut représenter la fonction Q par deux états : Q+ et Q. Q+ indiquant l’état future de la bascule et Q
indiquant son état présent. Ainsi, nous pourrons écrire Q + =f(R, S Q). Nous pourront donc représenter la
fonction Q de notre bascule par la table caractéristique suivantes :
A compléter…
Bascule RSH
Il peut être très intéressant de pouvoir cadencer les changements d’états d’une bascule avec un signal
d’horloge.
Un signal d’horloge est un signal basculant d’un état à son inverse périodiquement. La caractéristique
fondamentale de ce signal est sa fréquence ou sa période. Schématiquement le signal d’horloge est
représenté comme suit :
1 1 1
0 0 0 0 ..…....
----- -----
t
Sachant que l’état mémorisation coïncide avec les entrées R et S à zéro, il suffit de faire un ET logique
entre ses entrées et le signal d’horloge, pour imposer à ce que la prise en considération de ses entrées soit
rythmée par le signal d’horloge.
22
R H Q’
Schématiquement, on représente la bascule RS comme suit:
S Q
Autres bascules
Il existe plusieurs autres types de bascules. On peut citer en particulier, la bascule D, la bascule T et la
bascule JK qui sont souvent utilisées pour la construction de circuits logiques séquentiels tel que les
compteurs et les registres. En général, on peut dire que la bascule est un circuit logique (constitué de
portes logiques) permettant la mémorisation d'une information constituée d'un bit. On peut écrire une
information ("0" ou "1") dans cette bascule grâce à un signal d'écriture. Le schéma suivant en est une
illustration:
Lire
Ecrire
La bascule est l'élément de base permettant la construction de circuits séquentiels (mémoire, registre,
compteur, etc.).
Bascule JK
La bascule J-K permet de lever l'ambiguïté qui existe lorsque R=S=1 dans le cas de la bascule RS. Ceci peut
être obtenu en asservissant les entrées R et S aux sorties Q et selon le schéma logique indiqué sur la
figure suivante.
23
Jn Kn Qn S R Qn+1
Qn
0 0 0 1 0 0 0
0 0 1 0 0 0 1
0 1 0 1 0 0 0
0 1 1 0 0 1 0
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 1 0 1 1 0 1
1 0 1 0 0 1 0
Nous constatons que nous ne rencontrons jamais la combinaison R = S = 1. Cette table peut se résumer
sous la forme suivante :
Jn Kn Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 Qn
Bascule D
24
En synchronisme avec le signal d'écriture W le registre mémorise les états des entrées E0 , E1 , E2 et E3 . Ils
sont conservés jusqu'au prochain signal de commande W. Dans cet exemple les états mémorisés peuvent
être lus sur les sorties Q0 , Q1 , Q2 et Q3 en coïncidence avec un signal de validation R.
Registre à décalages
Dans un registre à décalage, les bascules sont interconnectées de façon à ce que l'état logique de la
bascule de rang i puisse être transmis à la bascule de rang i+1 quand un signal d'horloge est appliqué à
l'ensemble des bascules. L'information peut être chargée de deux manières dans ce type de registre.
• Entrée parallèle : comme dans le cas d'un registre de mémorisation. En général une porte
d'inhibition est nécessaire pour éviter tout risque de décalage pendant le chargement parallèle.
• Entrée série : l'information est présentée séquentiellement bit après bit à l'entrée de la première
bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux déjà mémorisés
sont décalés d'un niveau dans le registre. La Figure 54 schématise le chargement d'un registre 4
bits en quatre coups d'horloge.
De même l'information peut être lue en série ou en parallèle. D'autre part, certains registres peuvent être
capables de décaler à gauche et à droite. Un registre à décalage universel serait donc constitué des
entrées, des sorties et des commandes suivantes :
25
Entrée série - Sortie parallèle
La figure suivante donne un exemple de registre de 4 bits à entrée série et sortie parallèle réalisé avec des
bascules D.
Ce type de registre permet de transformer un codage temporel (succession des bits dans le temps) en un
codage spatial (information stockée en mémoire statique).
La sortie série peut également être utilisée. L'intérêt d'utilisation d'un registre à décalage en chargement
et lecture série réside dans la possibilité d'avoir des fréquences d'horloge différentes au chargement et à
la lecture. Le registre constitue alors un tampon.
La suivante présente un exemple de registre à décalage à entrée parallèle ou série et sortie série. Si X = 1
l'entrée parallèle est inhibée et l'entrée série est validée. Si X = 0 l'entrée série est bloquée par contre le
chargement par l'entrée parallèle est autorisé.
Un registre à décalage à entrée parallèle et sortie série transforme un codage spatial en codage temporel.
La suivante présente un exemple de registre à décalage avec entrées série et parallèle et sorties série et
parallèle réalisé avec des bascules de type D.
26
La commande permet de sélectionner le mode de chargement et d'inhiber le signal d'horloge en cas de
chargement parallèle. Si X = 0 nous avons Pr = Cr = 1, ce qui garantit le fonctionnement normal des
bascules. Si X = 1 alors selon l'état de chacune des entrées nous avons :
Ei = 1 (Pr = 0, Cr = 1) Pr = 0, Cr = 1) Qi = 1
Ei = 0 (Pr = 0, Cr = 1) Pr = 1, Cr = 0) Qi = 0 Qi = Ei
27
Considérons par exemple (figure suivante) un compteur modulo 8 suivant le code binaire pur constitué de
trois bascules J-K maîtres-esclaves.
Supposons les trois bascules à zéro à l'instant t = 0. Nous avons vu que pour une bascule maître-esclave la
sortie change d'état juste après le passage du signal d'horloge de l'état 1 à l'état 0 (front descendant).
L'évolution temporelle des trois sorties Q0 , Q1 et Q2 par rapport aux impulsions d'horloge est
représentée sur la suivante. La sortie Q0 bascule sur chaque front descendant du signal d'horloge. La
sortie Q1 change d'état à chaque transition 1 vers 0 de la sortie Q0.
De même le basculement de la sortie Q2 est déclenché par une transition 1 vers 0 de la sortie Q1.
A partir de ce chronogramme nous pouvons écrire la liste des états successifs des trois sorties :
Impulsion Q2 Q1 Q0
État initial 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
…. 0 0 0
Nous avons réalisé un compteur s'incrémentant d'une unité à chaque top d'horloge, avec un cycle de huit
valeurs de 0 à 7 (modulo 8).
28
Nous constatons que les sorties Q0, Q1 et Q2 fournissent des signaux périodiques de fréquences
respectivement 2, 4 et 8 plus faibles. La division de fréquence est une des applications des compteurs.
• X = 1 compteur;
• X = 0 décompteur.
Prenons l'exemple d'un compteur synchrone 3 bits, fonctionnant selon le code binaire pur. Nous pouvons
dresser un tableau précisant les valeurs des entrées J et K permettant d'obtenir chaque transition
(passage d'une ligne à la suivante). Pour qu'une bascule change d'état il faut que ses deux entrées soient à
1.
29
#Top Q2 Q1 Q0 J2=K2 J1=K1 J0=K0
0 0 0 0 0 0 1
1 0 0 1 0 1 1
2 0 1 0 0 0 1
3 0 1 1 1 1 1
4 1 0 0 0 0 1
5 1 0 1 0 1 1
6 1 1 0 0 0 1
7 1 1 1 1 1 1
8 0 0 0
Chaque ligne de cette table correspond à une même tranche de temps. Il est assez facile d'en déduire les
expressions logiques reliant les entrées aux sorties :
J0 = K0 = 1
J1 = K1 = Q0
J2 = K2 = Q0. Q1
De manière générale nous pouvons vérifier que les équations de commutation satisfont les relations de
récurrence suivantes :
J0 = K0 = 1
Ji = Ki = Q0. Q1 …. Qi-1
ou encore :
J0 = K0 = 1
Ji = Ki = Ji-1. Qi-1
A compléter…
30
2.6 Synthèse d’un circuit logique séquentiel (automates)
A compléter…
A compléter…
31
Chapitre 3 : Les circuits intégrés (CI)
3.1 Définition
Voici ce que nous donne Wikipédia comme définition pour un circuit intégré :
• puce électronique
• composants électroniques
• semi-conducteur
• fonctions électroniques
• complexité
Puce électronique : Ces juste un nom familier utiliser pour qualifier le circuit intégré
Composants électroniques : On en distingues deux types : les numériques et les analogiques. Les
numériques correspondent aux différentes portes et circuits logiques (combinatoires et séquentiels qui
sont tous construits à base des transistors. Les composants analogique correspondent aux éléments
comme les diodes, les condensateurs, les bobines, les transistors (utilisé en mode analogique) etc.
Semi-conducteurs : Ce nom me rappel la chimie. En fait il s’agit d’un groupe d’éléments chimiques
composant la matière et caractérisés par le fait qu’il soit non métallique et qu’il conduit imparfaitement
l'électricité. En générale, on utilise le silicium comme base sur laquelle on grave des circuits (transistors
notamment) pour réaliser des circuits intégrés.
Fonctions électroniques : C’est ce qui permet de répondre à des besoins réels en utilisant des
composants électroniques. Elle peuvent consister en des calculs, des communication, de la mémorisation,
de l’affichage, de l’impression, du traitement du signal etc.
Complexité : Se mesure en nombre de transistors intégrés au sein d’une seul puce (substrat de silicium).
Elle varie de quelques centaines à des milliards de transistors. Un autre facteur influent sur la complexité
est le nombre de liaisons entre les portes logiques et la façon dont est réalisée ces connexion. Par
exemple, elles sont plus régulières (donc plus simple) dans le cas d’une mémoire que dans le cas d’un
microprocesseur.
32
Intégration de composants électroniques de base : Il s’agit du processus de rassembler de plusieurs
composants aux sein d’une même substrat de silicium (puce). On parle aussi de miniaturisation car, on
essai au maximum d’intégrer le maximum de composants dans une puce.
Miniaturisation : Sur les substrat de silicium des CI on grave des traits (ligne conductrice de courant). Plus
ces traits sont fin, plus on pourra mettre de transistors ! L'industrie est passée d'une largeur de traits de 8
micromètres (μm) en 1970 à 2 μm enm) en 1970 à 2 μm) en 1970 à 2 μm enm en
1980, puis à 0,10 μm) en 1970 à 2 μm enm en 2004.
L'intégration des circuits a augmenté
très car la surface disponible de
silicium a été mieux utilisée et,
d'autre part, la taille des puces a crû
aussi, dans l'intervalle, de 10 à 200
mm2 environ. En 2016, on a pu
réduire la taille des gravures à 1nm.
Facilité de mise en œuvre : Les circuits intégrés ont révolutionné les technologies en permettant plus de
facilités dans la réalisation des fonctions de différents appareils électroniques. La possibilité d’intégrer
des milliers pour ne pas dire des millions de fonctions logiques aux sein d’une seule puce permet de
réaliser des circuits électroniques très simples impactant ainsi sur les circuits imprimés.
Circuits intégrés analogiques : Ce sont les plus simples. Il regroupe, en générale, de simples transistors
encapsulés les uns à cotés des autres sans liaisons entre eux, ou des assemblages de composants réalisant
les fonctions requise par un appareil électronique.
Circuits intégrés numériques : Ils vont des plus simples aux plus complexes. Les plus simples peuvent
englober quelques portes logiques de base. Les plus complexes peuvent englober toutes les fonctions
booléennes d’un microprocesseur ou d’une mémoire.
Caractéristiques comportementales :
• Délai entre changement des entrées et mise à jour de la sortie (délai de propagation)
33
Caractéristiques de performances :
• consommation électrique
Puce de silicium
3.3 Composition d’un CI Support
34
Exemples de circuits intégrés
Voici un exemple de d’un CI est représentant 4 portes NAND. Il s’agit du HEF 4011. Il est composé de 14
broches. Il faut noter que tous les CI possèdent une broche pour l’alimentation (Vcc ou Vdd) et une broche
pour la masse (GND) Comme toutes les broches se ressembles, on utilise un repère (en général un petit
creu dans un des 4 bord du CI et un petit rond à coté. Ce petit identifier la broche numéro 1. Ainsi, on
pourra identifier toutes les autres broche en se référant au data-sheet (descriptif) du CI. Dans le cas du FEF
4011 (voir schéma ci-dessous), on peut facilement identifier les entrées de la première porte NAND
(broches 1 et 2) et sa sortie (broche 3). Bien évidement, nous identifions facilement les broche Vdd et GND
qui son, en générale sur les bords.
GND
Vcc
Broche 1
Vcc
Broche 1
GND
35