Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE 6
COMPTEURS SYNCHRONES
- Squenceur : Circuit ou systme qui passe travers une srie dtats successifs grce une
horloge synchrone ou asynchrone.
Ex : Machine laver.
- Au chapitre 6, nous allons voir les squenceurs fabriqus laide de Flips Flops tous
connects une horloge commune.
Ex : Compteur (avec comme seule entre extrieure : CK, lhorloge)
+ avec de faon optionnelle : reset, load, halt (mise zro, chargement, arrt).
Si dautres entres sont prsentes, on parlera de machines dtat ("State machine", vus au
chapitre 7).
tat (STATE) : tout moment, les sorties de tous les flips flops constituent son tat.
Une table : tat prsent tat futur (Present-State Next State ou PS-NS) : sera employe
pour le design.
Circuit synchrone : lment de mmoire : Flip Flop, mme horloge pour tous les Flips Flops
Circuit squentiel : lment de mmoire : latch et Flip Flop
Rappel : Flip Flop, lhorloge est "edge-sensitive" et Latch, lhorloge est "level-sensitive".
"Lhistoire des entres" = sorties courantes des Flips Flops, cest ltat du circuit.
Ltat du circuit nest pas toujours gal la sortie des Flips Flops (si logique combinatoire en
sortie).
Exemple :
Signaux de
Feed-back
Les Flips Flops ne sont pas directement relis la sortie. Ils sont dits cachs ("hidden").
Les TATS dun circuit squentiel peuvent aussi avoir un nom : ATTENTE, ACCEPTE,
DMARRE LE MOTEUR, etc.
Un choix judicieux des noms des tats et des variables peut faciliter le design comme on verra
plus tard.
- On emploie 1 seule frquence dhorloge pour tous les FF et tous les FF sont du mme
type ou .
- Lhorloge ne doit pas tre retarde par des portes logiques, ceci causerait des arrives de
coups dhorloge des instants diffrents cause du "Skew" de lhorloge.
- cause des avantages de synchronisme, plus de 90 % des circuits emploient une seule
horloge et sont du type "squentiel". (a limine les courses et le "catching").
- Sorties stables qui ne changent quau coup dhorloge.
- Quelle est la frquence Max de lhorloge ?
On a la topologie suivante :
1
f =
T min
Circuit de communication 9600 bits par seconde (BPS), on emploie un cristal de 11.059 Mhz
(dans le microcontrleur 8051, par exemple).
Puisque lhorloge est distribue tous les FF, lhorloge peut se dgrader.
Solutions :
1) Circuit spcial dhorloge qui fournit beaucoup de courant.
2) Employer des buffers comme suit :
3) Emploi des Schimitt trigger : "transform slowly changing input signals into sharply defined
signals". Il y a donc une bonne immunit au bruit.
99
1. tablir la liste successive des tats dans la table TAT PRSENT TAT SUIVANT
(Present State Nest State).
2. Ajouter le(s) cas dinitialisation pour le dmarrage automatique (e.g. 000 000).
3. Synthtiser lEntre srie (Serialln) comme la somme des mintermes pour lesquels Serialln =
1 dans la liste successive des tats.
100
Table 6.1 State Changes for Three Flip-Flops (Extrait de "Digital Design from Zero to One" p.312)
Considrations pratiques
Exemple : Faire le design dun compteur que rpte la squence 0, 3, 6, 9, 12, 0...
Employer le code binaire pour le codage des FF D, employer les sorties des FF
comme sortie.
Ces spcifications ne donnent pas beaucoup de choix au designer.
102
tape 1 et 2 : La sortie des Flips Flops est dtermine par les spcifications.
# Q3 Q2 Q1 Q0
0 0 0 0 0
3 0 0 1 1
6 0 1 1 0
9 1 0 0 1
12 1 1 0 0
tape 3 :
tape 7 : Il est sage de laisser des zros dans les tables de Karnaugh (T-K) prcdentes pour
avoir un tat de retour connu "ground state".
On a choisi une
reprsentation genre
PAL ici.
- Ce sont des compteurs dont la sortie sincrmente ou dcrmente chaque coup dhorloge.
- tat des Flips Flops directement la sortie du circuit.
104
- On peut raliser des compteurs 8, 12, 16 bits avec la mthode prcdente, mais le cot est
lev cause de la logique dexcitation combinatoire approche pas intressante.
- Approche plus intressante : cascade de circuits de compteur MSI (Medium Scale
Integration). Exemple : CB4CLED de Xilinx.
CB4CLEB : compteur 4 bits up/down avec external load, 2 Enable. Permet de raliser en
cascadant N units, des compteurs 4 N tats.
- Le Rco peut tre employ pour crer un bit supplmentaire en lenvoyant un "toggle
enable" dun FF externe.
Exemple :
- On voit quil faut employer Rco pour des compteurs positive edge triggened.
- Il y aura 1 dlai = tpd (temps propagation dans porte ET synthse Rco .
- Approche moins pire quun "full ripple" compteur avec 8 x tpd (ici 1 seul tpd).
- On va voir quelles sont les squences disponibles avec un "Shift register" (MSI).
On a aussi des "cyclic SR" *SIPO pour lequel la Serial input est une combinaison des sorties des
FF.
* pas dentre externe admise.
Exemple circuit TTL #74164 (SI PO) avec mise zro asynchrone
Registre 8 bits :
Table :
CLR CK DSA DSB Q0 Q1 Q7 Mode
L X X X L L L Clear
H L L L Q0 Q6
H L H L Q0 Q6 Shift
H H L L Q0 Q6
H H H H Q0 Q6
FUNCTION TABLE
INPUTS OUTPUTS
OPERATING MODE
MR CP Dsa Dsb Q0 Q1 . Q7
L X X X L L L Reset (clear)
H l l L q0 q6
H l h L q0 q6
Shift
H h l L q0 q6
H h h H q0 q6
( )
Aprs un certain nb de cycles, 2 N la squence recommence
Ex : CSR
108
Trs simple
Un simple inverseur constitue la logique de Sin
Quelle est la squence ?
On commence avec 0000(contenu des FF).
Solution : le SR va se remplir de 1 puis se vider avec au total 8 tats
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
1- 0 0 0 0 0 1 0 1
2- 1 0 0 0 0 0 1 0
3- 1 1 0 0 1 0 0 1 Switch tailed
4- 1 1 1 0 0 1 0 0 Ring compteur
5- 1 1 1 1 1 0 1 0
6- 0 1 1 1 1 1 0 1
7- 0 0 1 1 0 1 1 0
8- 0 0 0 1 1 0 1 1
8 tats 0 1 0 1
- On peut implanter toute squence qui "se droule avec un patron dcal" (that un folds with a
horizontal shift pattern).
- En faisant le design, voir si on peut avoir un patron qui se droule gauche ou droite.
Ex : - 5 jointures/articulations dun robot qui doivent tre plies en squence comme suit :
A B C D E Serial in
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 1
Solution :
A B C D E
Q0 Q1 Q2 Q3 Q4 SIN
On recommence la squence 0 0 0 0 1 1 ABCDE
Cas dun reset 0 0 0 0 0 1 0000X
- Avec ce design peut importe ltat des FF, aprs 5 coups dhorloge au maximum, un 1 va
circuler dans le systme (tous les 1 sont rinjects 0 cause de la porte NOR).
- Q4 peut tre vu comme un tmoin qui avertit lors quon a accompli un cycle, peut servir
arrter le systme.
- Ce systme est appel "one-hot sequencer".
Assigne 1 FF par tat pas efficace comme usage des FF
Trs employs.
- Si on avait voulu faire circuler un "0" au lieu dun 1
a) mettre des inverseurs cest un "one-cold sequencer"
b) employer une porte NAND (NAND = 0 lorsque toutes les entres sont 1).
Q0 Q1 Q2 Q3 Q4 SIN
1 1 1 1 1 0 - reset
1 1 1 1 1 0 - dbut nouveau cycle
110
- On peut faire circuler plus quun 1 la fois, mais nimporte quel mot dun tat la fois.
1- tablir la liste de la succession des tats prsent tats futurs incluant le "Serial in".
2- Ajouter le (les) cas dinitialisation pour le "dmarrage automatique" ex : 0000 0000.
3- Synthtiser Serial in
Serial in = la somme des mintermes pour lesquels Serial in = 1 dans la liste successive des
tats.
Cest un CSR avec un grand nombre de bascules. Le compteur passe dans beaucoup dtats
(2N au maximum).
On a :
PS
Q1 Q2 Q3 Q4 Sin Sin
Q1 Q2 Q3 Q4 Q3 Q4
0) 0 0 0 0 1 1 1 1 1 0 0 1
8) 1 0 0 0 1 0 1 0
1 1 1 1
12) 1 1 0 0 1 1 0 0
14) 1 1 1 0 0 1 1 1
7) 0 1 1 1 1
11) 1 0 1 1 1
13) 1 1 0 1 0 1111 est un cul-de-sac ici !
6) 0 1 1 0 0
3) 0 0 1 1 1
9) 1 0 0 1 0
4) 0 1 0 0 1
10) 1 0 1 0 0
5) 0 1 0 1 0
2) 0 0 1 0 0
1) 0 0 0 1 0
0) 0 0 0 0 1
111
La sortie du gnrateur pseudo-alatoire peut-tre nimporte quel sortie des FF puisque le patron
nest pas important ici.
Elles peuvent parfois rsoudre le problme lors de la rptition des mmes nombres.
2M N
N = longueur de la squence
M = nb de bits dans le compteur
On peut aussi employer un contrleur microprogramm qui permet en plus de raliser : sauts,
sous-routines, boucles.
Dfinition : Circuit squentiel qui assure la fonction de comptage (binaire ou autre) avec 2N
tats sans aucun dcodeur de sortie. Sorties = tat des FF chaque coup dhorloge.
2- Binaire :
- up/down, sortie en binaire
- ck commune
- la longueur de la squence est le modulo
3- En anneau :
- fait circuler un 1 ou un 0
- possde autant dtats que de FF
- plusieurs cycles sont raliss, un seul est valide initialisation requise
4- Johnson
Ex :
PS NS
QA QB QC DA DB DC QA QB QC
0 1 0 1 0 1 1 0 1
1 0 1 0 1 0 0 1 0