Sunteți pe pagina 1din 71

Capitolul 7

2010

Proiectarea sistemelor digitale

Sinteza unor registre i numrtoare


2010 Proiectarea sistemelor digitale 2

Sinteza unui latch tip D


Un latch este un element de memorie binar cu o intrare de date i o intrare de validare, care permite preluarea informaiei de la intrarea de date i transferul la ieire numai pe durata activrii intrrii de validare. Dac intrarea de validare este dezactivat, la ieire se pstreaz ultima valoare citit, indiferent ce se ntmpl pe intrarea de date.

2009-2010

PDSD

Sinteza unui latch tip D

2009-2010

PDSD

Sinteza unui latch tip D

2009-2010

PDSD

Sinteza unui bistabil (flip-flop) tip D


Un bistabil preia informaia de la intrare i o transmite la ieire numai pe durata frontului activ al impulsului de tact.

2009-2010

PDSD

Sinteza unui bistabil (flip-flop) tip D


Varianta 1

2009-2010

PDSD

Sinteza unui bistabil (flip-flop) tip D


Varianta 2

2009-2010

PDSD

Sinteza unui bistabil (flip-flop) tip D

2009-2010

PDSD

Sinteza unui bistabil tip D cu Reset asincron

2009-2010

PDSD

10

Sinteza unui bistabil tip D cu Reset asincron

2009-2010

PDSD

11

Sinteza unui bistabil tip D cu Reset asincron

2009-2010

PDSD

12

Sinteza unui registru paralel-paralel

2009-2010

PDSD

13

Sinteza unui registru paralel-paralel

2009-2010

PDSD

14

Sinteza unui registru paralel-paralel

2009-2010

PDSD

15

Sinteza unui registru de deplasare dreapta


Pentru a evita orice confuzie vom defini deplasare dreapta transferul de informaie de la celula cu indice minimctre celula cu indice maxim i deplasare stnga transferul de informaie de la celula cu indicele maxim ctre celula cu indicele minim.

2009-2010

PDSD

16

Sinteza unui registru de deplasare dreapta

2009-2010

PDSD

17

Sinteza unui registru de deplasare dreapta

2009-2010

PDSD

18

Sinteza unui registru multifuncional


ISDS ISDD D0
0
0 1 2

D1
Q1
3

D2
Q0 Q2 0
0 S1 1

D3
Q1 Q3
2 3

0
0 S1 1

0
0 S1 1

Q2
2 3

C1 C0

S1 S0

S0

S0

S0

TACT

CLK

CLK

CLK

CLK

Q0

Q1
C1 C0

Q2
operatia stergere sincrona incarcare paralela deplasare dreapta deplasare stanga

Q3

0 0 1 1 2009-2010 PDSD

0 1 0 1

19

Sinteza unui registru multifuncional

2009-2010

PDSD

20

Sinteza unui registru multifuncional

2009-2010

PDSD

21

Sinteza unui registru multifuncional

2009-2010

PDSD

22

Sinteza unui registru multifuncional

2009-2010

PDSD

23

Sinteza unui bloc de registre


Va fi considerat un bloc de 4 registre (paralel-paralel) cu nscriere sincron pe frontul pozitiv al impulsului de tact i cu iniializare asincron. Fiecare registru are o adresa (sunt necesare adrese pe W=2 bii). Lungimea registrului este B=8 bii. nscrierea unei noi date n registrul selecta este posibil numai dac a fost activat (1 logic) intrarea de validare scriere, Write_enable. Citirea este posibil n orice moment. Iniializarea asincron afecteaz simultan toate registrele din bloc.

2009-2010

PDSD

24

Sinteza unui bloc de registre

2009-2010

PDSD

25

Sinteza unui bloc de registre

2009-2010

PDSD

26

Sinteza unui bloc de registre

2009-2010

PDSD

27

Sinteza unui bloc de registre

2009-2010

PDSD

28

Sinteza unui bloc de registre

2009-2010

PDSD

29

Sinteza unui numrtor binar direct

2009-2010

PDSD

30

Sinteza unui numrtor binar direct

2009-2010

PDSD

31

Sinteza unui numrtor binar direct

2009-2010

PDSD

32

Sinteza unui numrtor binar reversibil

2009-2010

PDSD

33

Sinteza unui numrtor binar reversibil

2009-2010

PDSD

34

Sinteza unui numrtor binar reversibil

2009-2010

PDSD

35

Sinteza unui numrtor Johnson


00000
IS TACT

00001 00011

RESET Qn-1

Q1

Q0

00111 01111 11111 11110 11100 11000 10000


2009-2010 PDSD 36

Sinteza unui numrtor Johnson

2009-2010

PDSD

37

Sinteza unui numrtor Johnson

2009-2010

PDSD

38

Sinteza unui numrtor n inel


INIT
TACT IS

00000001 00000010

INIT Qn-1 Qn-2

Q1

Q0

...

00000100 00001000 00010000 00100000 0100000 10000000

2009-2010

PDSD

39

Sinteza unui numrtor n inel

2009-2010

PDSD

40

Sinteza unui numrtor n inel

2009-2010

PDSD

41

Sinteza FSM

2009-2010

PDSD

42

Modele Mealy
x(t)
m n

z(t) TACT

SLC
k

s(t) INIT

BM

s(t+1)

x(t)

z(t) REG

z*(t)

SLC

INIT

TACT

s(t+1)

BM
k

s(t)

2009-2010

PDSD

43

Sinteza unui recunosctor de secven

INIT 0/0 S0

0/0

1/0 1/0 0/0 0/0 0/0 1/0 0/0 1/0 0/1

1/0

S1

S2

S3

S4

S5

2009-2010

PDSD

44

Sinteza unui recunosctor de secven

2009-2010

PDSD

45

Sinteza unui recunosctor de secven

2009-2010

PDSD

46

Sinteza unui recunosctor de secven

2009-2010

PDSD

47

Sinteza unui recunosctor de secven

2009-2010

PDSD

48

Sinteza unui recunosctor de secven


Varianta 2

2009-2010

PDSD

49

Sinteza unui recunosctor de secven

2009-2010

PDSD

50

Sinteza unui recunosctor de secven

2009-2010

PDSD

51

Sinteza unui recunosctor de secven

2009-2010

PDSD

52

Sinteza unui recunosctor de secven

2009-2010

PDSD

53

Sinteza unui recunosctor de secven


m x(t) n

SLC
excitatie y(t) k

BM

SLC
iesiri

z(t)

TACT

INIT 1 S0 0

1 1

0 S1 0 0 0 S2 0

1 S3 0

0 S4 0

1 S5 0

0 S6 1 1

0 0

2009-2010

PDSD

54

Sinteza unui recunosctor de secven

2009-2010

PDSD

55

Sinteza unui recunosctor de secven

2009-2010

PDSD

56

Sinteza unui recunosctor de secven

2009-2010

PDSD

57

Sinteza unui recunosctor de secven

2009-2010

PDSD

58

Sinteza unui numrtor Gray


m x(t) n

SLC
excitatie y(t) k

BM

z(t)

x0
TACT

S0 000

00 x1
S1 001

S7 100

00

01

00

01

01

1X

1X

S6 101

1X

S2 011

1X

01
S3 010

S5 111

01 00
S4 110

01

2009-2010

PDSD

00

00
59

01 00

1X

Sinteza unui numrtor Gray


Varianta 1

2009-2010

PDSD

60

Sinteza unui numrtor Gray

2009-2010

PDSD

61

Sinteza unui numrtor Gray

2009-2010

PDSD

62

Sinteza unui numrtor Gray


Varianta 2

2009-2010

PDSD

63

Sinteza unui numrtor Gray

2009-2010

PDSD

64

Sinteza unui numrtor Gray

2009-2010

PDSD

65

Emularea unei memorii ROM


Modulele SPARTAN xc3s400-4ft256 nu dispun de o memorie EPROM ci doar de blocuri de memorie RAM cu nscriere sincron. Un astfel de bloc poate fi uor folosit pentru a juca n aplicaii rolul de memorie ROM;

Pentru exemplificare vom considera un convertor de cod din cod binar n cod 7segmente pentru afior cu LED cu anod comun. Afiorul va afia 16 cifre hexazecimale (0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F);
Pentru implemntare vom crea o memorie ROM cu organizarea 16x7;

Adresa se modific sincron, pe frontul pozitiv al impulsului de tact. Ieirea este disponibil permanent.

2009-2010

PDSD

66

Emularea unei memorii ROM

2009-2010

PDSD

67

Emularea unei memorii ROM

2009-2010

PDSD

68

Emularea unei memorii ROM

2009-2010

PDSD

69

Emularea unei memorii ROM

2009-2010

PDSD

70

2009-2010

PDSD

71