CHAPITRE 6 COMPTEURS SYNCHRONES

download CHAPITRE 6 COMPTEURS SYNCHRONES

of 19

  • date post

    05-Jan-2017
  • Category

    Documents

  • view

    220
  • download

    2

Embed Size (px)

Transcript of CHAPITRE 6 COMPTEURS SYNCHRONES

  • 95

    CHAPITRE 6COMPTEURS SYNCHRONES

    - Squenceur : Circuit ou systme qui passe travers une srie dtats successifs grce unehorloge synchrone ou asynchrone.Ex : Machine laver.

    - Au chapitre 6, nous allons voir les squenceurs fabriqus laide de Flips Flops tousconnects 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 auchapitre 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 employepour le design.

    - Aussi : registres synchrones.- Avec le chapitre 6, on pourra faire le design de nimporte quel compteur synchrone !

    6.1 Circuit squentiel, tat, horloge

    Circuit synchrone : lment de mmoire : Flip Flop, mme horloge pour tous les Flips FlopsCircuit squentiel : lment de mmoire : latch et Flip Flop

    Rappel : Flip Flop, lhorloge est "edge-sensitive" et Latch, lhorloge est "level-sensitive".

    6.2 tat et sortie

    - Pour dterminer ltat futur : Circuit combinatoire : il faut connatre : les entres prsentes + diagramme des portes

  • 96

    Circuit squentiel : il faut connatre : - lhistoire des entres- les entres- le diagramme du circuit

    "Lhistoire des entres" = sorties courantes des Flips Flops, cest ltat du circuit.

    Si N Flip Flop au maximum 2N diffrents tats.

    Ltat du circuit nest pas toujours gal la sortie des Flips Flops (si logique combinatoire ensortie).

    Exemple :

    Exemple : Shift register.

    La sortie = dernier FF seulement.

    Les Flips Flops ne sont pas directement relis la sortie. Ils sont dits cachs ("hidden").

    Si on veut une machine M tats (cycles de M tats) avec N Flip Flop (Parfois on peut mettre plus de FF que le minimum requis).

    Schma gnral dune "Machine de Moore"

    MN 2

    Signaux deFeed-back

    (First In - First Out)

  • 97

    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 verraplus tard.

    6.3 Frquence maximum avec 1 seule horloge

    - On emploie 1 seule frquence dhorloge pour tous les FF et tous les FF sont du mmetype ou .

    - Lhorloge ne doit pas tre retarde par des portes logiques, ceci causerait des arrives decoups dhorloge des instants diffrents cause du "Skew" de lhorloge.

    - cause des avantages de synchronisme, plus de 90 % des circuits emploient une seulehorloge 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 :

    priode minimum

    Ici thold = 0 (ngligeable)Ex : 1 ns pour 74F175

    Lhorloge doit tre stable aussi

    Ex : pour une montre, on emploie un cristal de quartz.

    Dlai C Dlai f + Set uptime+ hold time

    holdsetupfCMIN ttt +++=

    min1

    Tf =

  • 98

    Circuit de communication 9600 bits par seconde (BPS), on emploie un cristal de 11.059 Mhz(dans le microcontrleur 8051, par exemple).

    Fan-Out (Distribution Maximale)

    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 :

    - linversion naffecte pas le systme- permet de maintenir un "fast rise time" (horloge nest pas "skewed")

    3) Emploi des Schimitt trigger : "transform slowly changing input signals into sharply definedsignals". Il y a donc une bonne immunit au bruit.

  • 99

    6.4 tapes danalyse et de design

    A- tapes danalyse (circuit synchrone avec Flips Flops, sans entre)

    1. Sparer les Flips Flops et la logique combinatoire de stimulation.2. tudier la logique de stimulation et obtenir une quation boolenne pour chacune des entres

    des Flips Flops.3. Assumer quau dbut, le circuit est dans un tat zro, donc, mettre "0" dans les quations

    boolennes.4. Obtenir les nouvelles valeurs de sortie et les mettre dans les quations pour dterminer ltat

    suivant.5. Reprendre ltape 4 jusqu ce que tous les tats suivants soient dtermins. Indiquer les tats

    dans des tables de Karnaugh, diagramme en anneaux.

    B- tapes de design (circuit synchrone avec Flips Flops, sans entre)

    1. Exprimer chaque nombre de la squence en binaire. Chaque nombre correspondra un tat.2. Dterminer une mthode pour assigner les tats M aux sorties des Flips Flops.3. tablir la table tat-Prsent tat Suivant.4. Choisir le type de Flip Flop : T, JK, D (D par dfaut).5. tablir les relations entre les tats.6. Employer les tats prsents comme entres dans les tables de vrit.7. Assigner ltat de retour aux tats inemploys.8. Trouver les quations partir des tables de vrit du point 6.9. Monter les sorties comme combinaison des sorties des Flips Flops.10. Raliser la logique combinatoire de stimulation partir des quations.

    C- tapes de design (registres dcalage cyclique cyclic shift register)

    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)

    JK Flip-FlopQN + 1 QN 1

    D Flip-FlopD

    Toggle Flip-FlopENABLE J K J K

    0 10 0 0 0

    0 00 X

    1 00 1 1 1

    1 11 X

    0 11 0 0 1

    1 1X 1

    0 01 1 1 0

    1 0X 0

    Exemple 1 : (sera fait en classe)

    Tir de "Digital Design", J. D.Daniels, 1ere dition, p.313,Fig. 6.10

  • 101

    Exemple 2 : (sera fait en classe)

    6.5 Design de compteurs synchrones

    - Maintenant : tant donn la squence quel est le design ?- considrer : minimisation/optimisation des tats

    choix du Flip Flop (habituellement "D") assignation des noms des variables viter les tats non dsirs "lock out" Auto-correcteur

    Considrations pratiques

    1. Sil y a M tats au moins N Flip Flop, MN 22. Parfois pratique davoir + dtat que le minimum.3. Cas extrme : 1 FF/tat4. Prvoir un tat retour ou "ground state" : point de retour pour tous les tats inemploys.

    Souvent 0000.Si tats inemploys = "X" dans le design des tables, pas sr quon pourra revenir en cas dedfaillance (attention !).

    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 FFcomme sortie.Ces spcifications ne donnent pas beaucoup de choix au designer.

    Tir de "Digital Design", J. D.Daniels, 1ere dition, p.315,Fig. 6.12

  • 102

    tape 1 et 2 : La sortie des Flips Flops est dtermine par les spcifications.

    # Q3 Q2 Q1 Q00 0 0 0 03 0 0 1 16 0 1 1 09 1 0 0 112 1 1 0 0

    tape 3 :

    tat prsent tat suivantQ3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 D3 D2 D1 D0

    0 0 0 0 0 0 0 1 1 0 0 1 1 3 0 0 1 1 0 1 1 0 0 1 1 06 0 1 1 0 1 0 0 1 1 0 0 19 1 0 0 1 1 1 0 0 1 1 0 012 1 1 0 0 0 0 0 0 0 0 0 0

    tape 4 : On emploie FF D (Avantage des FF-D, le design est plus ais).

    tape 5 : Relation entre les tats : facile avec FF-D.Si 0011DDDD0000QQQQ 01230123 == etLtat futur sera 0011QQQQ 0123 =

    tape 6 : Obtenu de la table de ltape 3 :

  • 103

    tape 7 : Il est sage de laisser des zros dans les tables de Karnaugh (T-K) prcdentes pouravoir un tat de retour connu "ground state".

    tape 8 : On obtient les quations.

    012301230 QQQQQQQQD +=

    tape 9 : Les sorties sont directement les sorties des FF.

    6.6 Compteurs codage positionnel

    - Ce sont des compteurs dont la sortie sincrmente ou dcrmente chaque coup dhorloge.- tat des Flips Flops directement la sortie du circuit.

    012301231 QQQQQQQQD +=

    012301232 QQQQQQQQD +=

    012301233 QQQQQQQQD +=

    On a choisi unereprsentation genrePAL ici.

  • 104

    6.7 Compteur dcade dcrmental avec FF-D Toggle

    Ce sont des compteurs de type 9---0---9---0---9 : 10 tats compteur dcade.

    6.8 Compte suprieur en employant le "Ripple Carry output" (RCO)

    - On peut raliser des compteurs 8, 12, 16 bits avec la mthode prcdente, mais le cot estlev cause de la logique dexcitation combinatoire approche pas intressante.

    - Approche plus intressante : cascade de circuits de compteur MSI (Medium ScaleIntegration). Exemple : CB4CLED de Xilinx.CB4CLEB : compteur 4 bits up/down avec external load, 2 Enable. Permet de raliser encascadant N units, des compteurs 4 N tats.

    - Le Rco peut tre employ pour crer un bit supplmentaire en lenvoyant un "toggleenable" dun FF externe.

    Exemple :

    - Que faire pour cascader des compteurs 4 bits ?On a pas accs au contrle de lentre du 1er FFSi on a seulement accs lhorloge, alors on propage RCO sur CK2

  • 105

    - 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).

    6.9 Registre dcalage pour le design de compteurs synchrones

    - On va voir quelles sont les squences disponibles avec un "Shift register" (MSI).

    Df : ensemble de bascules "D" edge-triggened connectes dos dos, horloge commune.

    DIN = vient de lextrieur ou peut-tre gnr de lintrieur (cas des compteurs).