Capitolul 7

Sinteza unor CLS folosind VHDL
2010 Proiectarea sistemelor digitale 1

Sinteza unor registre şi numărătoare
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 informaș iei de la intrarea de date ș i transferul la ieșire numai pe durata activǎrii intrǎrii de validare. Dacǎ intrarea de validare este dezactivatǎ, la ieșire se pǎstreazǎ ultima valoare cititǎ, indiferent ce se ș ntș mplǎ pe intrarea de date.

2009-2010

PDSD

3

Sinteza unui latch tip D

2009-2010

PDSD

4

Sinteza unui latch tip D

2009-2010

PDSD

5

Sinteza unui bistabil (flip-flop) tip D
Un bistabil preia informaș ia de la intrare şi o transmite la ieşire numai pe durata frontului activ al impulsului de tact.

2009-2010

PDSD

6

Sinteza unui bistabil (flip-flop) tip D
Varianta 1

2009-2010

PDSD

7

Sinteza unui bistabil (flip-flop) tip D
Varianta 2

2009-2010

PDSD

8

Sinteza unui bistabil (flip-flop) tip D

2009-2010

PDSD

9

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 informaș ie de la celula cu indice minimcǎtre celula cu indice maxim ș i deplasare stș nga transferul de informașie de la celula cu indicele maxim cǎtre 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 multifuncș ional
ISDS IS DD D0
0
0 1 2

D1
Q1
3

D2
Q0 Q 2 0
0 S1 1

D3
Q1 Q 3
2 3

0
0 S1 1

0
0 S1 1

Q2
2 3

2

3

C1 C0

S1 S0

Y

S0

Y

S0

Y

S0

Y

TACT

D

Q

D

Q

D

Q

D

Q

CLK

CLK

CLK

CLK

Q0

Q1

Q2

Q3

C1

C0

operatia stergere sincrona incarcare paralela deplasare dreapta deplasare stanga 19

0 0 1 1 2009-2010 PDSD

0 1 0 1

Sinteza unui registru multifuncș ional

2009-2010

PDSD

20

Sinteza unui registru multifuncș ional

2009-2010

PDSD

21

Sinteza unui registru multifuncș ional

2009-2010

PDSD

22

Sinteza unui registru multifuncș ional

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 inișializare asincronǎ. Fiecare registru are o adresa (sunt necesare adrese pe W=2 biși). Lungimea registrului este B=8 biși. ș 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. Inișializarea 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 numărător binar direct

2009-2010

PDSD

30

Sinteza unui numărător binar direct

2009-2010

PDSD

31

Sinteza unui numărător binar direct

2009-2010

PDSD

32

Sinteza unui numărător binar reversibil

2009-2010

PDSD

33

Sinteza unui numărător binar reversibil

2009-2010

PDSD

34

Sinteza unui numărător binar reversibil

2009-2010

PDSD

35

Sinteza unui numărător Johnson
00000 00001 00011
RESET Q n-1 Q1 Q0 IS TACT

00111 01111 11111 11110 11100 11000 10000

2009-2010

PDSD

36

Sinteza unui numărător Johnson

2009-2010

PDSD

37

Sinteza unui numărător Johnson

2009-2010

PDSD

38

Sinteza unui numărător ș 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 numărător ș n inel

2009-2010

PDSD

40

Sinteza unui numărător ș n inel

2009-2010

PDSD

41

Sinteza FSM

2009-2010

PDSD

42

Modele Mealy
x(t)
m n

z(t)

TACT s(t+1)

SLC
k

k

s(t) INIT

BM

x(t)

m

n

z(t) REG

z*(t)

SLC

INIT

TACT

k

BM
k

s(t+1)

s(t)

2009-2010

PDSD

43

Sinteza unui recunoscător 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 recunoscător de secvenșă

2009-2010

PDSD

45

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

46

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

47

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

48

Sinteza unui recunoscător de secvenșă
Varianta 2

2009-2010

PDSD

49

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

50

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

51

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

52

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

53

Sinteza unui recunoscător de secvenșă
m x(t) n

SLC
excitatie y(t) k

BM
TACT

SLC
iesiri

z(t)

INIT 0 1 S0 0

1 1 0 S1 0 0 0 0 S2 0 1 S3 0 0

1

1 S4 0 S5 0

0 S6 1 1

0

2009-2010

PDSD

54

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

55

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

56

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

57

Sinteza unui recunoscător de secvenșă

2009-2010

PDSD

58

Sinteza unui numărător Gray
m x(t) n

SLC
excitatie y(t) k

BM
TACT

z(t)
S0 000
x1 00

x0

S7
00

01

S1 001
0 0 1 0

100
01

S6 101
01 00

1X 1X

1 X

S2 011

1X

1X

01

S5 111
00 01
01

S3 010
00

S4 110

2009-2010

PDSD

00

59

Sinteza unui numărător Gray
Varianta 1

2009-2010

PDSD

60

Sinteza unui numărător Gray

2009-2010

PDSD

61

Sinteza unui numărător Gray

2009-2010

PDSD

62

Sinteza unui numărător Gray
Varianta 2

2009-2010

PDSD

63

Sinteza unui numărător Gray

2009-2010

PDSD

64

Sinteza unui numărător Gray

2009-2010

PDSD

65

Sinteza unui numărător Gray

2009-2010

PDSD

66

Sinteza unui numărător Gray
Varianta 3

2009-2010

PDSD

67

Sinteza unui numărător Gray

2009-2010

PDSD

68

Sinteza unui numărător Gray

2009-2010

PDSD

69

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 uș or folosit pentru a juca ș n aplicaș ii rolul de memorie ROM; Pentru exemplificare vom considera un convertor de cod din cod binar șn cod 7segmente pentru afișor cu LED cu anod comun. Afișorul va afișa 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. Ieșirea este disponibilǎ permanent.

2009-2010

PDSD

70

Emularea unei memorii ROM

2009-2010

PDSD

71

Emularea unei memorii ROM

2009-2010

PDSD

72

Emularea unei memorii ROM

2009-2010

PDSD

73

Emularea unei memorii ROM

2009-2010

PDSD

74

Intrebări ?
2009-2010 PDSD 75

Sign up to vote on this title
UsefulNot useful