41 43

background image

GALER − programator GAL−i do Amigi

41

Elektronika Praktyczna 2/2002

P R O J E K T Y

GALER − programator
GAL−i do Amigi, część 2

AVT−5049

Programy dla GALERa

Zabierzmy siÍ teraz do opisa-

nia uk³adu, ktÛry chcemy zreali-
zowaÊ w†GAL-u. Uruchamiamy
edytor z†menu (Tools/Call Editor)
lub naciskaj¹c praw¹ AmigÍ+E.
NastÍpnie wpisujemy opis przy-
k³adowego uk³adu (list. 1). Jak
widaÊ na listingu, w†pierwszej
linii okreúlamy typ uk³adu GAL,
w†drugiej sygnaturÍ (maks. 8†zna-
kÛw), ktÛra zostanie wpisana do
uk³adu. SygnaturÍ moøna odczy-
taÊ wybieraj¹c z†menu GAL-Disas-
sembler/Read signature
.

W†kolejnych liniach wpisujemy

etykiety pinÛw (identyfikatory syg-
na³Ûw wejúciowych i†wyjúciowych)
poczynaj¹c od 1. Niøej znajduj¹
siÍ rÛwnania opisuj¹ce dzia³anie
uk³adu. Wszystko co znajdzie siÍ
za s³owem kluczowym Description
nie bÍdzie interpretowane. W†kaø-
dej linii moøna umieúciÊ komen-
tarz po znaku úrednika. Zestaw
dostÍpnych komend kompilatora
jest doúÊ skromny. Mamy do dys-
pozycji nastÍpuj¹ce operacje:
- OR - w†opisie ürÛd³owym ozna-

czan¹ jako ì#î lub ì+î,

- AND - w†opisie ürÛd³owym

oznaczan¹ jako ì&î lub ì*î,

- NOT - w†opisie ürÛd³owym

oznaczan¹ jako ì!î lub ì/î.

Za pomoc¹ powyøszych opera-

cji moøna zapisaÊ dowoln¹ funkcjÍ
prze³¹czaj¹c¹. Otrzymamy po
skompilowaniu plik do programo-

W†drugiej czÍúÊ artyku³u

przedstawiamy jÍzyk opisu

uk³adÛw implementowanych

w†strukturach PLD.

Omawiamy rÛwnieø

oprogramowanie steruj¹ce

prac¹ programatora oraz jego

obs³ugÍ.

wania moøna po zapi-

saniu w GAL-u zabezpieczyÊ
przed odczytem wybieraj¹c w†me-
nu GAL/set security bit.

Wyjúcia uk³adu GAL mog¹ byÊ

trÛjstanowe. WÛwczas nazwÍ wyj-
úcie deklarujemy z†rozszerzeniem
.T. Potrzebna jest teø deklaracja
wejúcia steruj¹cego wyjúciem trÛj-
stanowym. Przy nazwie sygna³u
wpisuje siÍ wÛwczas rozszerzenie
.E. Przyk³ad takiego zapisu moøna
zobaczyÊ na list. 1. Wyjúcie ANDT
przyjmie stan trzeci, jeúli wejúcie
En znajdzie siÍ na poziomie L.

Wyjúcia GAL-a mog¹ byÊ typu

rejestrowego. Pozwala to tworzyÊ
liczniki, zatrzaski, rejestry prze-
suwne itp. Przyk³ad opisu liczni-
ka zamieszcono na list. 2.

Synchronicznie z†narastaj¹cym

zboczem sygna³u Clock zwiÍksza siÍ
zawartoúÊ licznika o†1. Przy po-
ziomie H†na wejúciu Clear i†naras-
taj¹cym zboczu zegarowego sygna³u
zeruje siÍ licznik, natomiast przy
wysokim poziomie na wejúciu Set
i†aktywnym zboczu Clock zostan¹
przepisane dane z†wejúÊ usta-

Rys. 11. Okno z widokiem
rozmieszczenia wyprowadzeń
projektowanego układu.

background image

GALER − programator GAL−i do Amigi

Elektronika Praktyczna 2/2002

42

wiaj¹cych na wyjúcia. Wejúcie Clear
ma wyøszy priorytet niø wejúcie Set.
Wyjúcia rejestrowe mog¹ przyj¹Ê
stan trzeci (wysokiej impedancji) za
spraw¹ sygna³u /OE EN. Na list. 3
pokazano opis uk³adu 74574. Zalet¹
GAL-a jest m.in. to, øe moøna doúÊ
dowolnie rozmieszczaÊ wyprowa-
dzenia projektowanego uk³adu, co
uczyniono w†tym przyk³adzie. DziÍ-
ki moøliwoúci prawie dowolnego
rozmieszczenia wyprowadzeÒ moø-
na znacznie uproúciÊ uk³ad úcieøek
obwodu drukowanego.

W†pliku zawieraj¹cym archiwum

(dostÍpny w†Internecie na stronie
www.ep.com.pl w†dziale Download
oraz na CD-EP1/2002B) w†katalogu
ìExamplesî znajduj¹ siÍ wszystkie
przedstawione tu opisy i†wiele in-
nych. Znajdziecie tam m.in. opis
transkodera z†kodu BCD na kod
wyúwietlacza 7-segmentowego.
DziÍki moøliwoúci zmiany roz-
mieszczenia wyprowadzeÒ, zarÛ-
wno wejúciowych jak i†wyjúcio-
wych, bez problemu moøna do
transkodera pod³¹czyÊ dowolny
licznik i†dowolny wyúwietlacz, za-
chowuj¹c bezpoúrednie po³¹czenia
na p³ytce. Ponadto moøna dowol-
nie zmieniaÊ wygl¹d znakÛw.

W†trybie rejestrowym umiejs-

cowienie wyprowadzeÒ dla sygna-
³Ûw Clock i†Enable jest úciúle
okreúlone. W†tab. 1 zestawiono
wszystkie moøliwe funkcje pe³-
nione przez poszczegÛlne wypro-
wadzenia w†rÛønych trybach.

Standardowo (Mode 1) wypro-

wadzenia mog¹ teø pe³niÊ funkcjÍ
wejúÊ, poza dwoma wyprowadze-
niami, ktÛre mog¹ byÊ tylko wyj-
úciami. Jeúli wykorzystamy moøli-
woúÊ pracy trÛjstanowej (Mode 2),
wszystkie wyprowadzenia mog¹
byÊ wejúciami poza dwoma.
W†trybie rejestrowym (Mode 3)
wejúcie sygna³u zegarowego i†ste-
rowania wyjúciem trÛjstanowym
jest przypisane na sta³e do wypro-
wadzeÒ 1 i†13 dla GAL20V8 (11
dla GAL16V8). Przerzutniki s¹
prze³¹czone zboczem narastaj¹cym.
Jeúli chcielibyúmy, aby by³y prze-
³¹czane zboczem opadaj¹cym, na-
leøa³oby wprowadziÊ w†uk³adzie
negator i†jego wyjúcie po³¹czyÊ
z†wyprowadzeniem 1 uk³adu. Kaø-
de wyjúcie moøe byÊ wyjúciem
rejestrowym trÛjstanowym, wyj-
úciem kombinacyjnym trÛjstano-
wym lub wyjúciem kombinacyj-
nym. Naleøy zaznaczyÊ, øe dla
wyjúÊ rejestrowych stan trzeci jest
wy³¹czany sygna³em z†wyprowa-
dzenia 13 dla GAL20V8 (11 dla
GAL16V8) - wyjúcia w†stanie trze-
cim przy poziomie H. Wyjúcia,
ktÛre nie s¹ wyjúciami rejestrowy-

mi mog¹ przechodziÊ w†stan trzeci
za spraw¹ sygna³u z†dowolnego
wejúcia i†dowolnym poziomem (ak-
tywny poziom niski lub wysoki).

Zosta³o do opisania jeszcze kilka

funkcji menu, o†ktÛrych nie wspo-
mnia³em. Menu ìproject/Aboutî wy-
úwietli okno z†adresem kontakto-
wym do autora programu. W†menu
ìGalî moøna wybraÊ typ obs³ugiwa-
nego uk³adu. Menu ìGAL/Copyî
kopiuje uk³ad. Najpierw jesteúmy
proszeni o†umieszczenie uk³adu
ürÛd³owego, a†po odczycie jego za-
wartoúci - docelowego. ìGAL/Eraseî
kasuje zawartoúÊ pamiÍci uk³adu,
ìGAL/Compareî umoøliwia porÛw-
nanie zawartoúci dwÛch uk³adÛw.
ìGAL/Blank testî sprawdza czy
uk³ad nie jest zapisany, ìGAL/Test
security bitî sprawdza stan bitÛw
zabezpieczaj¹cych. W†ìGAL/Write
Accessî moøemy ustawiÊ jakie ope-
racje bÍd¹ wykonywane:
- przy programowaniu uk³adu:

- ìwith blank testî - sprawdza-

nie przed programowaniem
czy czysty - polecam ustawiÊ
tÍ opcjÍ, poniewaø przed za-
programowaniem GAL-a musi
byÊ on kasowany;

- ìwith verifyî- weryfikacja po-

prawnoúci zapisu;

- podobnie przy kopiowaniu,
- przed kasowaniem: ìwith blank

testî- sprawdzenie, czy uk³ad
jest czysty.

Rys. 12. Widok okna optymalizatora
równań.

Rys. 13. Sposób umieszczenia
układu w podstawce.

List. 1.

GAL20V8

;Typ układu

Bramki

;Sygnatura (max. 8-char.)

NC A B C D E F G H I J GND

;Deklaracja pinów

NC EN ANDT NC EXNOR EXOR NOR OR NAND AND NC VCC

AND = A*B

;Równanie opisujące bramkę AND

/NAND = C*D

;Równanie opisujące bramkę NAND

OR = E + F

;Równanie opisujące bramkę OR

/NOR = G + H

;Równanie opisujące bramkę NOR

EXOR = I*J + /I*/J

;Równanie opisujące bramkę EXOR

/EXNOR = I*J + /I*/J ;Równanie opisujące bramkę EXNOR

ANDT.T = A*B

;Bramka and w wyjście trójstanowym

ANDT.E = EN

;Sterowanie wyjściem trójstanowym ANDT

DESCRIPTION:
Na podstawie artykułu “Układy PLD” (EP 19/93 str.28) List 2a
*: AND
+: OR
/: NEGACJA

List. 2.

GAL20V8 ; 4-Bit-Counter first line: used GAL
Counter ; second line: any text (max. 8 char.)

Clock D0 D1 D2 D3 Set Clear NC NC NC NC GND
/OE NC NC NC NC Q3 Q2 Q1 Q0 NC NC VCC

Q0.R = /Clear * Set * D0
+ /Clear * /Set * /Q0

Q1.R = /Clear * Set * D1
+ /Clear * /Set * /Q1 * Q0
+ /Clear * /Set * Q1 * /Q0

Q2.R = /Clear * Set * D2
+ /Clear * /Set * Q2 * /Q1
+ /Clear * /Set * Q2 * /Q0
+ /Clear * /Set * /Q2 * Q1 * Q0

Q3.R = /Clear * Set * D3
+ /Clear * /Set * Q3 * /Q2
+ /Clear * /Set * Q3 * /Q1
+ /Clear * /Set * Q3 * /Q0
+ /Clear * /Set * /Q3 * Q2 * Q1 * Q0

DESCRIPTION
this is a 4-Bit-Counter
registered outputs are signed with the postfix.R
Pin 'Set' HIGH while clock signal (LOW-HIGH) at pin 'Clock':
load Q0-Q3 with state of D0-D3
Pin 'Clear' HIGH while clock signal:
Q0-Q3 are cleared

Clock signal while pins 'Set' and 'Clear' are LOW:
increment counter

background image

GALER − programator GAL−i do Amigi

43

Elektronika Praktyczna 2/2002

Menu ìGAL-Disassembler/Gal-In-

foî wyúwietla informacjÍ o†produ-
cencie uk³adu i†zastosowanym al-
gorytmie programowania. ìGAL-Di-
sassembler/Generate JEDEC fileî od-
czytuje zawartoúÊ GAL-a i†zapisuje
do pliku z†rozszerzeniem ì.jedî.
Plik ten moøe pos³uøyÊ do za-
programowania innego uk³adu lub
do desasemblacji. ìGAL-Disassem-
bler/JEDEC file parametrî pozwala
ustawiÊ opcje zapisu pliku (czy ma
dodaÊ sumy kontrolne, itp). Pro-
gram jest wyposaøony w†deasemb-
ler. Z†plikÛw z†rozszerzeniem ì.jedî
(plik wynikowy do programowania
GAL-a) generuje pliki ürÛd³owe
z†rozszerzeniem ì.pldî. Po wybra-
niu tej pozycji menu, pojawi siÍ
okno z†moøliwoúci¹ przypisania ety-
kiet (identyfikatorÛw sygna³Ûw) do
fizycznych wyprowadzeÒ uk³adu
(patrz rys. 11). W†menu ìToolsî
dostÍpne jest polecenie ìClear pi-
nenamesî, ktÛre kasuje etykiety
z†okna programu. Natomiast pole-
cenie ìShow pinenamesî wyúwietla

List. 3.

GAL20V8 ; 8-Bit-Latch
74574 ;
Clock Reset D0 D1 D2 D3 D4 D5
D6 D7 NC GND
/OE NC Q0 Q1 Q2 Q3 Q4 Q5
Q6 Q7 NC VCC

/Q0.R = /D0
+ /Reset
/Q1.R = /D1
+ /Reset
/Q2.R = /D2
+ /Reset
/Q3.R = /D3
+ /Reset
/Q4.R = /D4
+ /Reset
/Q5.R = /D5
+ /Reset
/Q6.R = /D6
+ /Reset
/Q7.R = /D7
+ /Reset

DESCRIPTION
------\___/------
Clock | 1 24 | VCC
| |
Reset | 2 23 | NC
| |
D0 | 3 22 | Q7
| |
D1 | 4 21 | Q6
| |
D2 | 5 20 | Q5
| |
D3 | 6 19 | Q4
| |
D4 | 7 18 | Q3
| |
D5 | 8 17 | Q2
| |
D6 | 9 16 | Q1
| |
D7 | 10 15 | Q0
| |
NC | 11 14 | NC
| |
GND | 12 13 | /OE
-----------------

etykiety. Interesuj¹c¹ opcj¹ jest op-
timizer wybierany z†menu ìTools/
Optimizerî. Jeúli projektowany
uk³ad nie mieúci siÍ w†GAL-u, ten
program moøe nas uratowaÊ. Po
wskazaniu pliku do optymalizacji
wyúwietli siÍ okno (rys. 12), w†ktÛ-
rym jest wyúwietlone rÛwnanie
w†postaci w†jakiej znajduje siÍ
w†pliku ürÛd³owym (old equation)
oraz w†postaci zoptymalizowanej
(optimized equation), poniøej zos-
tanie wyúwietlona zuøyta na ten
cel liczba bramek matrycy AND
i†OR. Jeúli po optymalizacji liczba
bramek jest mniejsza, zmianÍ warto
zaakceptowaÊ naciskaj¹c ìuse itî.
Po optymalizacji wybieramy plik
do zapisu.

Uwagi koÒcowe

Program posiada wbudowan¹

pomoc. Jeúli nie wiemy co dany
requester, gadøet, czy opcja menu
robi, wystarczy wskazaÊ opcjÍ
w†menu (czy teø okno/gadøet)
myszk¹ i†nacisn¹Ê klawisz ìHelpî

Tab. 1.

GAL16V8:

Mode 1 

Mode 2

Mode 3

Mode 1  

Mode 2  

Mode 3

In

In

Clock

1

20

+5V

+5V

+5V

In

In

In

2

19

In/C

T*

In/T/R

In

In

In

3

18

In/C

In/T

In/T/R

In

In

In

4

17

In/C

In/T

In/T/R

In

In

In

5

16

C

In/T

In/T/R

In

In

In

6

15

C

In/T

In/T/R

In

In

In

7

14

In/C

In/T

In/T/R

In

In

In

8

13

In/C

In/T

In/T/R

In

In

In

9

12

In/C

T*

In/T/R

GND

GND

GND

10

11

In

In

/OE

GAL20V8:

Mode 1  Mode 2  

Mode 3

Mode 1

Mode 2

Mode 3

In

In

Clock

1

24

+5V

+5V

+5V

In

In

In

2

23

In

In

In

In

In

In

3

22

In/C

T*

In/T/R

In

In

In

4

21

In/C

In/T

In/T/R

In

In

In

5

20

In/C

In/T

In/T/R

In

In

In

6

19

C

In/T

In/T/R

In

In

In

7

18

C

In/T

In/T/R

In

In

In

8

17

In/C

In/T

In/T/R

In

In

In

9

16

In/C

In/T

In/T/R

In

In

In

10

15

In/C

T*

In/T/R

In

In

In

11

14

In

In

In

GND

GND

GND

12

13

In

In

/OE

Legenda:

In:

wejście

C:

wyjście

T:

wyjście trójstanowe

T*:

wyjście trójstanowe (wyprowadzenie to nie może być wejściem)

R:

wyjście rejestrowe

Clock:

wejście zegarowe dla komórek rejestrowych

/OE:

wejście sterujące pracą buforów trójstanowych dla wyjść rejestrowych

(standardowe wywo³anie pomocy
w†Amiga OS). Wtedy uruchomi
siÍ program AmigaGuide z†wybra-
nym rozdzia³em, w†ktÛrym opisa-
no interesuj¹ce nas zagadnienie.

Poniewaø podstawka progra-

muj¹ca posiada 24 styki, a†uk³ady
GAL16V8 zaledwie 20 wyprowa-
dzeÒ, naleøy zwrÛciÊ uwagÍ na
montaø tych uk³adÛw w†podstaw-
ce. SposÛb umieszczenia takiego
uk³adu w†podstawce przedstawio-
no na rys. 13.

Do programu steruj¹cego prac¹

programatora do³¹czono pliki z†ko-
dami ürÛd³owymi. Program moøna
ìúci¹gn¹Êî z†Aminetu. Jest on sha-
reware'owy. RejestracjÍ naleøy
przeprowadziÊ u†autora:

Christian Habermann

Asamstr. 17

85356 Freising, Germany

Christian.Habermann@t-online.de

Za pomoc¹ programatora pre-

zentowanego w†artykule zaprogra-
mowa³em juø wiele GAL-i. Przy
jakichkolwiek problemach proszÍ
o†kontakt.
S³awomir Skrzyñski, AVT
slawomir.skrzynski@ep.com.pl

Wzory p³ytek drukowanych w for-

macie PDF s¹ dostÍpne w Internecie
pod adresem: http://www.ep.com.pl/
?pdf/luty02.htm
oraz na p³ycie
CD-EP02/2002B w katalogu PCB.


Wyszukiwarka

Podobne podstrony:
41 43
41 43
41 43
41 43
41 43
41 43
03 1996 41 43
Odwilż i kryzys (41-43), Polityka (politologia)
41 43
03 1995 41 43
41 43
41 43
41 43 406 pol ed02 2003
03 1996 41 43
41 43 308cc pol ed01 2009
03 1995 41 43
41 43 bipper pol ed01 2009

więcej podobnych podstron