background image

1

Elementy cyfrowe i układy 

logiczne

Wykład 6

2

2

2

2

Legenda

Metody programowania układów PLD

Pamięć ROM

Struktura PLA

Struktura PAL

Przykłady realizacji

Technika cyfrowa ….

background image

2

background image

3

background image

4

background image

5

background image

6

background image

7

background image

8

background image

9

18

18

18

18

Programowanie PLD – po co?

• ustanowić

lub

przerwać

połączenia

w

układzie (3 metody)

• utworzyć komórki pamiętające, tzw. LUT

(ang. Look-Up Tables) (praca własna)

• sterować

załączaniem

tranzystora

(technologie:

wymazywalna,

elektrycznie

wymazywalna, błyskowa – ang. flash) (praca

własna)

background image

10

19

19

19

19

Metody programowania PLD

• stosowanie tzw. bezpieczników

(ang. fuse)

Przyłożenie napięcia znacznie większego od napięcia zasilającego

układ, powoduje przepalenie bezpiecznika (przerwanie połączenia).

• programowanie masek

(ang. mask programming)

Wykonywane

przez

producenta

układów

półprzewodnikowych

podczas

ostatniej

fazy

procesu

wytwarzania

struktury

półprzewodnikowej.

Połączenia

wykonywane

w

warstwach

metalizacji służących jako przewodniki. Struktura tych warstw jest

uzależniona od żądanej funkcji logicznej. Opłacalne tylko w

przypadku dużych ilości tego samego układu PLD.

20

20

20

20

Metody programowania PLD

• stosowanie tzw. antybezpieczników (ang. antifuse)

Element typu antifuse składa się z dwóch przewodników

położonych blisko siebie, odseparowanych materiałem mającym

wysoką rezystancję. Przed programowaniem antybezpiecznik

zachowuje się jak przerwa (ROZWARCIE)

w

obwodzie.

Przyłożenie (do obu przewodników) napięcia nieco wyższego od

napięcia zasilania powoduje, że materiał odseparowujący jest

topiony (jego rezystancja staje się bardzo mała), wobec czego

przewodzi i powstaje połączenie (ZAMKNIĘTA ścieżka).

background image

11

21

21

21

21

Układy PLD

Ź

ródło: „Podstawy projektowania układów logicznych i komputerów”

22

22

22

22

Symbole

konwencjonalny

w schematach 

matryc logicznych

background image

12

23

23

23

23

Pamięć ROM

Pamięć ROM

– programowalna podczas procesu produkcyjnego,

programowanie masek;

Pamięć PROM (programowalna pamięć ROM)

– programowalna

jednorazowo u użytkownika, zastosowanie bezpieczników;

Pamięć EPROM (wymazywalno-programowalna pamięć ROM)

– wymazywanie polega na naświetlaniu układu silną wiązką
promieniowania ultrafioletowego;

Pamięć EEPROM (E

2

PROM – elektrycznie wymazywalna,

programowalna pamięć ROM)

Pamięć Flash

– zmodyfikowany EEPROM.

24

24

24

24

Pamięć ROM

Pamięć ROM (a także jej odmiany) jest strukturą o 2

m

komórkach

adresowanych wektorem złożonym z zmiennych u

1

,…, u

k

i

zawierającą słowa o długości n.

Pamięć ROM 

o organizacji 

2

k

n

k

wejść 

(adres)

n

wyjść 

(dane)

background image

13

25

25

25

25

Pamięć ROM (32 x 8)

połączenia 

programowalne 

(bezpiecznik)

32

wejścia

Przykład:

Pamięć ROM zawiera 32 x 8 = 256

programowalnych połączeń

Pamięć ROM o organizacji 2

k

będzie zawierała 

dekoder na 2

k

linii oraz bramek OR. Każda bramka 

OR ma 2

k

wejść.

bramek OR

26

26

26

26

Przykład

Przykład:

Zaprojektuj układ: wejście – liczba 3-bitowa, wyjście – liczba 

binarna równa kwadratowi liczby wejściowej.

ROM o 3 

wejściach i 

4 wyjściach

background image

14

27

27

27

27

Pamięć ROM - przykład

28

28

28

28

Struktura PLA

Struktura

PLA

(

P

rogrammable

L

ogic

A

rray

) składa się z

programowalnej matrycy AND

oraz

programowalnej matrycy

OR.

Układy PLA nie zapewniają pełnego dekodowania zmiennych i
nie generują wszystkich mintermów. Dekoder (z pamięci ROM)
jest zastąpiony

programowalną matrycą bramek AND

, która

pozwala na generowanie iloczynów zmiennych wejściowych.
Iloczyny są wybiórczo łączone w

matrycy OR

, tworząc sumy

iloczynów.

background image

15

29

29

29

29

Struktura PLA

Programowalna matryca AND

umożliwia tworzenie do k

iloczynów pełnych lub niepełnych, tj. mających do zmiennych

wejściowych u

1

,…, u

m

, prostych lub zanegowanych, przy czym k

jest zwykle znacznie mniejsze niż 2

m

. Tak więc możliwe jest

utworzenie nie wszystkich lecz tylko niektórych iloczynów.

Programowalna matryca OR

umożliwia tworzenie do sum

złożonych z dowolnych iloczynów utworzonych z matrycy AND.

30

30

30

30

Ogólny schemat struktury PLA

. . .

. . .

u

1

u

m

.

.

y

1

y

r

Programowalna 

matryca AND

Programowalna 

matryca OR

k<<2

m

0

1

k-1

background image

16

31

31

31

31

PLA - przykład

C

B

A

AC

B

A

F

+

+

=

1

BC

AC

F

+

=

2

Bezpiecznik 

przewodzący

0 lub 1 aby uzyskać 

wyjście proste lub 

zanegowane

X

X

=

⊕ 0

X

X

=

⊕1

32

32

32

32

Struktura PLA

Rozmiar układu PLA jest określony liczbą wejść, liczbą 

iloczynów oraz liczbą wyjść.

Typowy układ PLA: 16 wejść, 48 iloczynów, 8 wyjść.

W przypadku wejść, iloczynów oraz wyjść wewnętrzna

struktura układu PLA składa się z bramek typu bufor-

inwerter, bramek typu AND, bramek typu OR i bramek

typu EXOR. Jest 2programowalnych połączeń między

wejściami a matrycą bramek AND, programowalnych

połączeń

między

matrycami

AND

i

OR

oraz

m

programowalnych połączeń dla bramek EXOR.

background image

17

33

33

33

33

Struktura PAL

Struktura

PAL

(

P

rogrammable

A

rray

L

ogic

) złożona jest z

programowalnej matrycy AND

i

stałej matrycy OR

złożonej z

bramek OR o różnej liczbie wejść (wejścia bramek OR są

dołączone na stałe do konkretnych linii iloczynu).

Stanowi to oczywiście udogodnienie technologiczne, lecz jest

pewnym ograniczeniem możliwości struktury i prowadzi do zmian

w projektowaniu. Iloczyn wchodzący do kilku sum nie może być

teraz używany wielokrotnie, a musi być tworzony tyle razy, do ilu

bramek OR jest doprowadzany.

34

34

34

34

Struktura PGA

Kolejną z odmian jest struktura

PGA

(

P

rogrammable

G

ate

A

rray

)

złożona z bramek AND. Jest to struktura programowalna
analogiczna do wykonywanej na zamówienie struktury gate array.

Struktury PAL, PLA i PGA są realizowane także ze sprzężeniem
zwrotnym z niektórych wyjść (matrycy OR w PAL i PLA, matrycy
AND w PGA) na wejście.

Matryca 

AND

Matryca 

OR

We.

We/Wy

Wyj.

background image

18

35

35

35

35

Realizacja PLA

5

2

4

2

2

1

3

4

3

4

2

4

3

2

5

1

4

3

2

1

1

x

x

x

x

x

x

y

x

x

x

x

x

x

y

x

x

x

x

x

x

y

+

+

=

+

+

=

+

+

=

y

x

y

x

y

x

x

x

1

1

2

2

3

3

4

5

36

36

36

36

Realizacja PAL

y

x

y

x

y

x

x

x

1

1

2

2

3

3

4

5

background image

19

37

37

37

37

Realizacja PAL

y

x

y

x

y

x

x

x

1

1

2

2

3

3

4

5

38

38

38

38

Matryce PLA - powierzchnia 

krzemu

x

x

x

1

2

n

f

f

f

0

1

-1

m

AND

OR 

P

2n

m

S = (2n + m) * P

background image

20

39

39

39

39

Koniec

Dziękuję za uwagę