Systemes Digitaux6_II

Embed Size (px)

Citation preview

Chapitre 6 :2me PartieChapitre 1 Chapitre 2 Chapitre 3 Chapitre 4 Chapitre 5 Chapitre 6 Chapitre 7 Chapitre 8 Chapitre 9 Chapitre 10 : Systmes Binaires : Algbre de Boole et Portes Logiques : Simplification des Fonctions Logiques : Logique Combinatoire : Logique Squentielle Synchrone : Registres et Compteurs : Logique Programmable et Mmoires : Niveau Transfert entre Registres (RTL) : Logique Squentielle Asynchrone : Circuits Intgrs Digitaux

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

1

Registres et Compteurs6.1 6.2 6.3 Introduction Registres Registres de dcalage 6.3.1 Transfert srie - Transfert parallle 6.3.2 Registres de dcalage universel 6.4 Compteurs 6.4.1 Compteurs ondulation 6.4.2 Compteurs synchrones 6.4.3 Autres Compteurs 6.5 HDL pour Registres et Compteurs(c) Hiver 2003, Rachid Beguenane DSA-UQAC 2

Chapitre 6

6.4.2 Compteurs SynchronesPour un compteur synchroneContrairement un compteur ondulation, pour le compteur synchrone une Horloge commune dclenche toutes les flipflops simultanment

La procdure de conceptionLa mme procdure des circuits squentiels sapplique MAIS le compteur synchrone est plus simple concevoir quun circuit squentiel gnral car ses tats suivent un(0000 0001 0010 0011 etc.)

cheminement prdfinit

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

3

Exemple: Compteur synchrone 4-bits

Un compteur synchrone binaire 4-bit contientCNT_EN. A0

4 flip-flops capables de stocker chaque bit de sortieCNT_EN. A0. A1

Exemple: Avec les flip-flops JKNote: Avec les flip-flops T il suffit de connecter J et K la mme entre T (= Count Enable dans ce cas) Voir le schme page suivanteCNT_EN. A0. A1 . A2

CNT_EN. A0. A1 . A2 . A3

(Mano)(c) Hiver 2003, Rachid Beguenane DSA-UQAC

4

Un compteur synchrone binaire 4-bit Avec les flip-flops TCNT_EN CLK

T

CNT_ENA0

CLK

T

A0

T

A1

T

A1

T

A2

T

A2

T

A3

T

A3

CNT_EN_P

tage_suprieur

CNT_EN_P

tage_suprieur

Compteur Incrmental

Compteur Dcrmental5

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

Un compteur synchrone binaire 8-bit (incrmental) avec les flip-flops TCNT_EN

T

A0

Q[3:0]TA1

T

A2

TCNT_EN_P

A3 tage_suprieur CNT_EN

T

A0

Gnralisation: Un compteur synchrone binaire 16-bit 4 compteurs synchrones binaires 4-bit en CASCADE. etc.

T

A1

Q[7:4]

T

A2

TCNT_EN_P

A3 tage_suprieur

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

6

Un compteur synchrone binaire 4-bit incrmental & dcrmental

Note:UP et DOWN doivent tre mutuellement exclusifs. si UP = DOWN = 1 UP possde la priorit. Si linverse est dsir, on inverse plutt lentre DOWN le

Down

Up

Down . A'0 Up . A0

Down . A'0 . A'1Up . A0 . A1

Down . A'0 .A '1 .A '2

Up . A0 . A1 . A2

(Mano)(c) Hiver 2003, Rachid Beguenane DSA-UQAC

7

Compteur BCD synchrone 4-bits

(Mano)

En mettant X = 1 dans le tableau-K ou cest ncessaire pour plus de simplifications logiquesquations dtats: TQ1 quations de sortie: 1 TQ8 TQ2 Q8.Q1 Q8 .Q1 + Q4.Q2.Q1 y = Q8 .Q1 TQ4 Q2.Q1

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

8

Compteur BCD synchrone 4-bitsCNT_EN T Q Q Q2 Q1

Q4

Q8

CLK(c) Hiver 2003, Rachid Beguenane DSA-UQAC

YCNT_EN_Next

9

Autre approche: Avec le RESET Asynchrone des FFs TReprenant le compteur synchrone Incrmental de la page 4, et modifiant la dernire porte AND comme suit:CNT_EN CLK

T

CLEAR

A0

Q1

T

CLEAR

A1

Q2

TCLEAR

Q4A2

T

CLEAR

A3

Q8 YCNT_EN_Next

Analyser cette approche avec les formes dondes et dire cest quoi son inconvnient?(c) Hiver 2003, Rachid Beguenane DSA-UQAC 10

Compteur synchrone 4-bits avec Chargement Parallle

(Mano)

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

11

Count . Load

CNT_EN

Rappel:J=0, K=0: Qt+1 = Qt (Pas de changement) J=0, K=1: Qt+1 = 0 (Mise Zro par K)

load

c_en . A0

J=1, K=0: Qt+1 = 1 (Mise Un par J)

J=1, K=1: Qt+1 = Qt (Inversion de la sortieasync

(Mano)(c) Hiver 2003, Rachid Beguenane DSA-UQAC

12

Nous pouvons gnrer nimporte quelle squence de comptage, a partir du compteur prcdent (Compteur synchrone 4-bits avec Chargement Parallle).

Exemple: Compteur BCD Counter w/ parallel load

(Mano)(c) Hiver 2003, Rachid Beguenane DSA-UQAC

13

6.4.3 Autres Compteurs

Les compteurs:Peuvent tre conus pour gnrer une squence dsire (quelconque) dtats

Un compteur modulo-N (Diviseur-par-N)Est un compteur qui rpte indfiniment une squence de N tats La squence peut tre binaire or peut tre une squence arbitraire quelconque(c) Hiver 2003, Rachid Beguenane DSA-UQAC 14

Un compteur modulo-Nn flip-flops 2n tats binairesLes tats non utiliss Sont des tats non spcifis dans la FSM Ces tats peuvent tre traits comme des conditions X ou qui on assigne des tats futurs spcifiques Pour concevoir un compteur auto-correcteur Il faut sassurer que quand le circuit entre dans lun des tats nonutiliss, il revient automatiquement un tat valide aprs un ou plusieurs cycles dhorloge. Ainsi, il pourra reprendre son cheminement (opration) normal. pour cela, une fois le circuit est conu il convient de lanalyser et dterminer ltat futur partir dun tat non-utilis X(c) Hiver 2003, Rachid Beguenane DSA-UQAC 15

EXEMPLE

(Mano)

Rappel: La table caractristique FFs JK

J K0 0 0 1 1 1 0 1

Q(t+1) Q(t) 0 1 Q(t)

Il existe 2 tats non utiliss: 011 & 111 Les quations dentres des flip-flops JK sont ainsi: JA = B, KA = B JB = C, KB = 1 JC = B, KC = 1(c) Hiver 2003, Rachid Beguenane DSA-UQAC

T 0 1

Q(t+1) Q(t) Q(t)

16

Le diagramme logique et le diagramme dtat du circuit:

(Mano)(c) Hiver 2003, Rachid Beguenane DSA-UQAC

17

Compteur RING

Un compteur Ring:Est un registre de dcalage circulaire avec seulement une flip-flop mise 1 chaque cycle dhorloge, les autres sont mises 0. La valeur initiale des FFs est toujours =1000 Un bit est dcal dune FF vers la prochaine pour produire la squence des signaux temporels dsirs.(c) Hiver 2003, Rachid Beguenane DSA-UQAC 18

Exemple: Compteur Ring 4-bit

4 tats distingus

A3 1 0 0 0 1

A2 0 1 0 0 0

A1 0 0 1 0 0

A0 0 tat 1 0 tat 2 0 tat 3 1 tat 4 0

Mano

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

19

Application typique des compteurs Ring

Gnration des signaux temporels (timing signals) pour contrler la squence des oprations dans un systme digital.Les deux approches pour gnrer 2n signaux temporels

1. Avec un registre dcalage (2n flip-flops) 2. Ou avec un compteur binaire n-bit combin avec un dcodeur n x 2n

Mano

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

20

Gnration de 4 (22) signaux temporels

Mano

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

21

Compteur JOHNSONCompteur Ring & Compteur Switch-Tail Ring Compteur Ring

Compteur Ring k-bitCompteur Switch-tail ring

k tats distingus 2.k tats distingus

Compteur Ring k-bit

De mme cest un registre de dcalage circulaire avec la Q de la dernire FF connecte lentre de la premire FF Ainsi un Compteur Switch-tail ring de k-bit va travers une squence de 2k tats distingus. (La valeur initiale des FFs est toujours = 0 0 0)(c) Hiver 2003, Rachid Beguenane DSA-UQAC 22

Exemple: Compteur Switch-Tail Ring K=4-bits

Mano

(c) Hiver 2003, Rachid Beguenane DSA-UQAC

23

Compteur JOHNSON k-bits est constituee de: Un Compteur Switch-tail ring k-bits + une logique de dcodage en sortie constitu de 2.k portes AND 2 entre. Les sorties de la logique de dcodage permet ainsi de gnrer 2k signaux temporels (car il existe 2k tats distingues au lieu de k pour le compteur Ring) Exemple: Compteur JOHNSON 4-bits

Mano

la logique de dcodage suit un chemin rgulier: Ou chaque porte de dcodage (AND) contient 2 entres. Noter que les 4 derniers chemins sont complmentaires au 4 premiers.(c) Hiver 2003, Rachid Beguenane DSA-UQAC 24

Ainsi Un compteur Johnson gnrant N squences (signaux) temporelles, est constitu de: Un nombre des flip-flops = N/2 signaux temporels N portes de dcodage = N des signaux temporels Chaque porte possde 2 entres Inconvnient des Compteurs Jonhson (donc des switch-tail ring) Sil se trouve dans un tat non-utilis, il reste indfiniment dans des tats invalides et jamais il ne trouvera son chemin vers un tat valide. La procdure de correction Solution de Mano qui consiste a dconnecter la sortie de la FF_B de lentre de FF_C, avec : DC = (A + C) B(c) Hiver 2003, Rachid Beguenane DSA-UQAC 25