Automaty w GAL16V8
Masz problem? Zapytaj na forum elektroda.pl z bramką pl.misc.elektronika!
From: "Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net>
Subject: Automaty w GAL16V8
Date: Sun, 19 Oct 1997 11:43:32 +0100
Witam!
Od kilku dni probuje zrobic w GAL16V8 jakis automat i cos
nie chce nic dzialac. Nawet najprostsze rzeczy. Dzialaja
jedynie uklady kombinacyjne. Probowalem w Cupl-u i w Palasmie.
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
CLOCK ma jakies specjalne wymagania??? Przesylam przykladowy
program dla automatu, ktory nie chcial funkcjonowac:
/* ----------------------------------------------------
/* Licznik modulo 8 liczacy do przodu
name automat;
partno 01;
device g16v8;
pin 1 = clk;
pin 2 = we;
pin 12 = wa;
pin 13 = wb;
pin 14 = wc;
pin 19 = wy;
wy = !we;
field count = [wa,wb,wc];
$define S0 'b'000
$define S1 'b'001
$define S2 'b'010
$define S3 'b'011
$define S4 'b'100
$define S5 'b'101
$define S6 'b'110
$define S7 'b'111
sequence count {
present S0 next S1;
present S1 next S2;
present S2 next S3;
present S3 next S4;
present S4 next S5;
present S5 next S6;
present S6 next S7;
present S7 next S0;
}
/* --------------------------------------------------
pozdrawiam
pga
--
_/_/_/ _/_/_/ _/_/_/ Pawel Grzegorz Angerman
_/ _/_/ _/ _/ DS T-17 "Ikar" p.504 Adres domowy:
_/_/_/ _/ _/_/_/_/_/_/ Wroblewskiego 27 J.Kazimierza 7/9 m9
_/ _/ _/_/ _/ 51-627 Wroclaw 98-220 Zdunska Wola
_/ _/_/_/ _/ _/ tel:(0-71)48-66-10 tel:(0-43)823-49-78
POLAND
e-mail: PGA_at_nospam_ikar.t17.ds.pwr.wroc.pl
PGA-Electronics_at_nospam_usa.net
URL : http://www.t17.ds.pwr.wroc.pl/~pga
http://www.t17.ds.pwr.wroc.pl/~pga/psubraty
From: amart_at_nospam_pol.JUNKMAILPROTECTION.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Automaty w GAL16V8
Date: Sun, 19 Oct 1997 18:16:58 GMT
"Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net> wrote:
Witam!
<snip>
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
Napisz na priv i podaj rownania w PALSAM, bo CUPL nie uzywam.
--------
Jaroslaw Cichorski Jr.
e-mail amart_at_nospam_pol.JUNKMAILPROTECTION.pl
UWAGA Adres niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
This message was not tested on animals.
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Automaty w GAL16V8
Date: 20 Oct 1997 12:53:30 GMT
Pawel G. Angerman <PGA-Electronics_at_nospam_usa.net> wrote:
Od kilku dni probuje zrobic w GAL16V8 jakis automat i cos
nie chce nic dzialac. Nawet najprostsze rzeczy. Dzialaja
jedynie uklady kombinacyjne. Probowalem w Cupl-u i w Palasmie.
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
CLOCK ma jakies specjalne wymagania???
Na oko prawidlowo to robisz, i moj Cupl na oko prawidlowo to rozwija.
Jak to sie zachowuje w praktyce, bo mam dwa podejrzenia:
1) Cupl nie przestawil gala w tryb rejestrowy,
2) masz dzwonki na clocku, i dlatego na oko tak glupio dziala.
[P.S. i nie zapomnij o kondensatorku na zasilaniu]
J.
From: "Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net>
Subject: Re: Automaty w GAL16V8
Date: Tue, 21 Oct 1997 12:06:51 +0100
Jaroslaw Lis wrote:
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
CLOCK ma jakies specjalne wymagania???
Na oko prawidlowo to robisz, i moj Cupl na oko prawidlowo to rozwija.
Jak to sie zachowuje w praktyce, bo mam dwa podejrzenia:
Niezaleznie od sygnalu na wejsciu clock (obojetnie, czy podaje
go z generatorka 26kHz zbudowanego na dwoch NOR-ach, czy podaje
ten sygnal recznie poprzez zwieranie do masy) na wyjsciach
rejestrowych jest stan wysoki. Wyjscie kombinacyjne zachowuje sie
poprawnie - neguje sygnal z wejscia. I jeszcze jedno - zauwazylem, ze
nie moge na wyjscie kombinacyjne podac sygnalu CLK - przypisanie:
wy = !clk;
powoduje blad kompilacji
1) Cupl nie przestawil gala w tryb rejestrowy,
slyszalem, ze to sie zdarza i czasem trzeba pogrzebac w tym recznie
-(
2) masz dzwonki na clocku, i dlatego na oko tak glupio dziala.
co masz na mysli???
[P.S. i nie zapomnij o kondensatorku na zasilaniu]
nigdy o nich nie zapominam :-)
pga
--
_/_/_/ _/_/_/ _/_/_/ Pawel Grzegorz Angerman
_/ _/_/ _/ _/ DS T-17 "Ikar" p.504 Adres domowy:
_/_/_/ _/ _/_/_/_/_/_/ Wroblewskiego 27 J.Kazimierza 7/9 m9
_/ _/ _/_/ _/ 51-627 Wroclaw 98-220 Zdunska Wola
_/ _/_/_/ _/ _/ tel:(0-71)48-66-10 tel:(0-43)23-49-78
POLAND
e-mail: PGA_at_nospam_ikar.t17.ds.pwr.wroc.pl
PGA-Electronics_at_nospam_usa.net
URL : http://www.t17.ds.pwr.wroc.pl/~pga
http://www.t17.ds.pwr.wroc.pl/~pga/psubraty
From: amart_at_nospam_pol.JUNKMAILPROTECTION.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Automaty w GAL16V8
Date: Tue, 21 Oct 1997 22:06:44 GMT
"Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net> wrote:
<snip>
poprawnie - neguje sygnal z wejscia. I jeszcze jedno - zauwazylem, ze
nie moge na wyjscie kombinacyjne podac sygnalu CLK - przypisanie:
wy = !clk;
powoduje blad kompilacji
Chyba jednak powinienes zajrzec do dokumentacji GAL'a, bo tam jest
napisane jakie sygnaly jak sa rozprowadzone. CLK mozna wprowadzic
tylko przez dodatkowe wejscie (najlatwiej 2). Podobnie jest ze
sprzezeniami z wyjsc 12 i 19 - nie mozna wykorzystywac tych sprzezen
w rownaniach o ile pracuja jako COMB (chociaz nie zawsze kompilator
generuje blad - ale dlaczego tak jest nie sprawdzalem)
I jeszcze jedno - FITTER Palasma w jego nowszej wersji (sic!)
dopuszczal rownania, ktore zawieraly wiecej niz 8 PT (product termow)
dla wyjsc 16V8 i nie generowal przy tym bledu. Dlatego uzywam starego
FITTER'a ktory to wykrywa. Sprawdz czy Twoj nie robi tego samego
bledu.
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
e-mail amart_at_nospam_pol.JUNKMAILPROTECTION.pl
UWAGA Adres niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
This message was not tested on animals.
From: k.rozniak_at_nospam_xxx.ien.gda.pl (Krzysztof Rozniak)
Subject: Re: Automaty w GAL16V8
Date: Mon, 20 Oct 1997 14:40:34 GMT
On Sun, 19 Oct 1997 11:43:32 +0100, "Pawel G. Angerman"
<PGA-Electronics_at_nospam_usa.net> wrote:
Witam!
Od kilku dni probuje zrobic w GAL16V8 jakis automat i cos
nie chce nic dzialac. Nawet najprostsze rzeczy. Dzialaja
jedynie uklady kombinacyjne. Probowalem w Cupl-u i w Palasmie.
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
CLOCK ma jakies specjalne wymagania??? Przesylam przykladowy
program dla automatu, ktory nie chcial funkcjonowac:
/* ----------------------------------------------------
/* Licznik modulo 8 liczacy do przodu
name automat;
partno 01;
device g16v8;
pin 1 = clk;
pin 2 = we;
pin 12 = wa;
pin 13 = wb;
pin 14 = wc;
pin 19 = wy;
wy = !we;
field count = [wa,wb,wc];
$define S0 'b'000
$define S1 'b'001
$define S2 'b'010
$define S3 'b'011
$define S4 'b'100
$define S5 'b'101
$define S6 'b'110
$define S7 'b'111
sequence count {
present S0 next S1;
present S1 next S2;
present S2 next S3;
present S3 next S4;
present S4 next S5;
present S5 next S6;
present S6 next S7;
present S7 next S0;
}
/* --------------------------------------------------
pozdrawiam
pga
Na podstawie twojego opisu trudno wydać jednoznaczną opinię. Co to
znaczy "nie chciał funkcjonować" ? Czy symulacja działała ? Program
wygląda poprawnie, ale ja używam PALASM'a, więc nie mam pewności co do
niuansów składni CUPL'a. Czy podłączyłeś nogę 11 do masy - w układach
rejestrowych otwiera ona trójstanowe wyjścia.
Szybkość narastania (i monotoniczność) sygnału zegarowego ma
oczywiście znaczenie, ale typowy zegar TTL nadaje się w zupełności.
Pozdrawiam
Krzysztof
--
Krzysztof Rożniak, Gdańsk
E-mail: k.rozniak_at_nospam_XXX.ien.gda.pl
Usuń XXX. z adresu przed wysłaniem poczty
From: amart_at_nospam_pol.JUNKMAILPROTECTION.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Automaty w GAL16V8
Date: Mon, 20 Oct 1997 15:55:13 GMT
k.rozniak_at_nospam_xxx.ien.gda.pl (Krzysztof Rozniak) wrote:
<snip>
Czy podłączyłeś nogę 11 do masy - w układach
rejestrowych otwiera ona trójstanowe wyjścia.
Ale sprzezenia sa brane sprzed bufora trojstanowego, wiec uklad bedzie
dzialal (tylko ze sie o tym nie dowiesz, bo masz wyjscia w trzecim
stanie :-))
Zalecam jeszcze dodefiniowanie ukladu (w tym przypadku to nie jest
konieczne bo masz 8 stanow - ale to uwaga ogolna) tzn. jezeli
opisujesz automat ktory ma np. 5 stanow i uzywasz trzech sygnalow do
kodowania, to nalezy dodac jeszcze 3 stany i dodac bezwarunkowe
przejscia z nich do ktoregos ze stanow Twojego automatu. W przeciwnym
przypadku, jezeli automat wskoczy - np. na skutek zaklocenia lub w
trakcie startu - w jeden z nieopisanych stanow to jego zachowanie
bedzie nieokreslone - w szczegolnosci moze sie zapetlic.
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
e-mail amart_at_nospam_pol.JUNKMAILPROTECTION.pl
UWAGA Adres niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
This message was not tested on animals.
From: k.rozniak_at_nospam_XXX.ien.gda.pl (Krzysztof Rozniak)
Subject: Re: Automaty w GAL16V8
Date: Mon, 20 Oct 1997 19:14:37 GMT
On Mon, 20 Oct 1997 15:55:13 GMT, amart_at_nospam_pol.JUNKMAILPROTECTION.pl
(Jaroslaw Cichorski Jr.) wrote:
Ale sprzezenia sa brane sprzed bufora trojstanowego, wiec uklad bedzie
dzialal (tylko ze sie o tym nie dowiesz, bo masz wyjscia w trzecim
stanie :-))
Typowy problem "czarnej skrzynki" - Nie wiadomo ,czy nie działa w
ogóle (błąd projektu), czy działa, ale nie da się zaobserwować tego na
zewnątrz ;-) Dlatego pytałem o wyniki symulacji.
Zalecam jeszcze dodefiniowanie ukladu (w tym przypadku to nie jest
konieczne bo masz 8 stanow - ale to uwaga ogolna) tzn. jezeli
opisujesz automat ktory ma np. 5 stanow i uzywasz trzech sygnalow do
kodowania, to nalezy dodac jeszcze 3 stany i dodac bezwarunkowe
przejscia z nich do ktoregos ze stanow Twojego automatu. W przeciwnym
przypadku, jezeli automat wskoczy - np. na skutek zaklocenia lub w
trakcie startu - w jeden z nieopisanych stanow to jego zachowanie
bedzie nieokreslone - w szczegolnosci moze sie zapetlic.
Swięta prawda. A ile czasu można stracić na uruchamianiu układu z
takim GAL-em, który na ogół działa, ale czasami nie chce. Szczególnie
przy braku kondensatorów odsprzęgających lub złym prowadzeniu
zasilania. Znam ten ból z autopsji :-( Na szczęście to było dawno
temu.
Pozdrawiam
--
Krzysztof Rożniak, Gdańsk
E-mail: k.rozniak_at_nospam_XXX.ien.gda.pl
Usuń XXX. z adresu przed wysłaniem poczty
From: "Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net>
Subject: Re: Automaty w GAL16V8
Date: Tue, 21 Oct 1997 12:21:08 +0100
Krzysztof Rozniak wrote:
Od kilku dni probuje zrobic w GAL16V8 jakis automat i cos
nie chce nic dzialac. Nawet najprostsze rzeczy. Dzialaja
jedynie uklady kombinacyjne. Probowalem w Cupl-u i w Palasmie.
Moze ktos mi pomoze odkryc, gdzie siedzi blad. Czy sygnal
CLOCK ma jakies specjalne wymagania??? Przesylam przykladowy
program dla automatu, ktory nie chcial funkcjonowac:
Na podstawie twojego opisu trudno wydać jednoznaczną opinię. Co to
znaczy "nie chciał funkcjonować" ? Czy symulacja działała ? Program
akurat symulacji w CUPL-u nie robilem. W PALSM-ie dzialala. A jak sie
zachowywal po uruchomieniu? - na wyjsciach rejestrowych byl stan
wysoki niezaleznie od CLK. A wejscie OE w tej chwili mam nie
wykorzystane.
To znaczy, ze przy pracy rejestrowej nie mozna nogi 11 wykorzystac
jako normalnego wejscia - jeszcze zobacze, jak to jest podlaczone
wewnatrz GAL-a. No i podlacze OE do masy - moze pomoze...
Szybkość narastania (i monotoniczność) sygnału zegarowego ma
oczywiście znaczenie, ale typowy zegar TTL nadaje się w zupełności.
mam zegar generowany przez uklad zbudowany na dwoch NOR-ach.
Wypelnienie jednak nie jest 1:2 ale moze 1:100 na korzysc HIGH.
Czestotliwosc ok 26kHz
pga
--
_/_/_/ _/_/_/ _/_/_/ Pawel Grzegorz Angerman
_/ _/_/ _/ _/ DS T-17 "Ikar" p.504 Adres domowy:
_/_/_/ _/ _/_/_/_/_/_/ Wroblewskiego 27 J.Kazimierza 7/9 m9
_/ _/ _/_/ _/ 51-627 Wroclaw 98-220 Zdunska Wola
_/ _/_/_/ _/ _/ tel:(0-71)48-66-10 tel:(0-43)23-49-78
POLAND
e-mail: PGA_at_nospam_ikar.t17.ds.pwr.wroc.pl
PGA-Electronics_at_nospam_usa.net
URL : http://www.t17.ds.pwr.wroc.pl/~pga
http://www.t17.ds.pwr.wroc.pl/~pga/psubraty
From: k.rozniak_at_nospam_XXX.ien.gda.pl (Krzysztof Rozniak)
Subject: Re: Automaty w GAL16V8
Date: Tue, 21 Oct 1997 23:02:50 GMT
On Tue, 21 Oct 1997 12:21:08 +0100, "Pawel G. Angerman"
<PGA-Electronics_at_nospam_usa.net> wrote:
A wejscie OE w tej chwili mam nie
wykorzystane.
To znaczy, ze przy pracy rejestrowej nie mozna nogi 11 wykorzystac
jako normalnego wejscia - jeszcze zobacze, jak to jest podlaczone
wewnatrz GAL-a. No i podlacze OE do masy - moze pomoze...
Nawet więcej: jeżeli chociaż jedno z wyjść zdefiniujesz jako
rejestrowe, to "tracisz" dwa wejścia 1-CLK i 11-OE. Służą one wtedy
odpowiednio: jako wejście zegara dla wszystkich przerzutników D GAL-a
i jako wejście otwierające bufory trójstanowe wszystkich
przerzutników. Tracisz napisałem w cudzysłowie, bo jak wynika z nazwy
GAL16V8 masz 16 linii wejścia/wyjścia, a z tego max 8 linii
wyjściowych.
mam zegar generowany przez uklad zbudowany na dwoch NOR-ach.
Wypelnienie jednak nie jest 1:2 ale moze 1:100 na korzysc HIGH.
Czestotliwosc ok 26kHz
Wypełnienie nie ma tu znaczenia. Ważne jest tylko, aby czas trwania 0
lub 1 zegara był większy od minimalnego określonego w parametrach
katalogowych. Ale np.: dla PALCE16V8-25 wynosi on min. 15ns. W twoim
przypadku jest to chyba trochę więcej ;))
I jeszcze jedno - zauwazylem, ze
nie moge na wyjscie kombinacyjne podac sygnalu CLK - przypisanie:
wy = !clk;
powoduje blad kompilacji
Jeśli chcesz mieć sygnał CLK wewnątrz matrycy AND/OR to najprościej
jest wykorzystać dodatkowe wejście (np. zewrzeć nogi 1 i 2). Ze
schematu wewnętrznego wynika,że jest możliwe wprowadzenie go
bezpośrednio z nogi nr 1 (clk) nawet w trybie rejestrowym, ale wymaga
to ustawienia dodatkowo globalnego bitu konfiguracji SG0 (????)-
sygnał clk dostaje się wtedy do matrycy jako sygnał sprzężenia
zwrotnego makroceli MC0. Nigdy tego nie robiłem - nawet nie wiem jak z
poziomu PALASM-a można to wykonać.
Mam nadzieję, że układ już działa (11 do masy!!!)
Pozdrowienia
--
Krzysztof Rożniak, Gdańsk
E-mail: k.rozniak_at_nospam_XXX.ien.gda.pl
Usuń XXX. z adresu przed wysłaniem poczty
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: Automaty w GAL16V8
Date: 22 Oct 1997 14:19:05 GMT
Krzysztof Rozniak <k.rozniak_at_nospam_XXX.ien.gda.pl> wrote:
I jeszcze jedno - zauwazylem, ze
nie moge na wyjscie kombinacyjne podac sygnalu CLK - przypisanie:
wy = !clk; powoduje blad kompilacji
Jeśli chcesz mieć sygnał CLK wewnątrz matrycy AND/OR to najprościej
jest wykorzystać dodatkowe wejście (np. zewrzeć nogi 1 i 2). Ze
schematu wewnętrznego wynika,że jest możliwe wprowadzenie go
bezpośrednio z nogi nr 1 (clk) nawet w trybie rejestrowym, ale wymaga
to ustawienia dodatkowo globalnego bitu konfiguracji SG0 (????)-
sygnał clk dostaje się wtedy do matrycy jako sygnał sprzężenia
zwrotnego makroceli MC0. Nigdy tego nie robiłem - nawet nie wiem jak z
poziomu PALASM-a można to wykonać.
Zawsze mozna sprobowac poprawic JEDEC'a, ale sadzac po schemacie to ma
dalsze reperkusje - tracisz mozliwosc zawrocenia Q7 do tablicy [
ta sama linia jest dzielona I1 i Q7], q dodatku SG0 steruje linia
OE q podobny sposob
J.
From: "Pawel G. Angerman" <PGA-Electronics_at_nospam_usa.net>
Subject: Re: Automaty w GAL16V8
Date: Wed, 22 Oct 1997 02:10:10 +0100
Pawel G. Angerman wrote:
Od kilku dni probuje zrobic w GAL16V8 jakis automat i cos
nie chce nic dzialac. Nawet najprostsze rzeczy. Dzialaja
To znaczy, ze przy pracy rejestrowej nie mozna nogi 11 wykorzystac
jako normalnego wejscia - jeszcze zobacze, jak to jest podlaczone
wewnatrz GAL-a. No i podlacze OE do masy - moze pomoze...
Szybkość narastania (i monotoniczność) sygnału zegarowego ma
oczywiście znaczenie, ale typowy zegar TTL nadaje się w zupełności.
mam zegar generowany przez uklad zbudowany na dwoch NOR-ach.
Wypelnienie jednak nie jest 1:2 ale moze 1:100 na korzysc HIGH.
Czestotliwosc ok 26kHz
Automat juz dziala :-)
Powody niedzialania byly dwa:
- stan wysoki na OE
- sygnal zegarowy z generatora na bramkach NOR jednak byl za malo
TTL - moze gdyby go jeszcze przepuscic przez bramki schmitt'a
ale tych akurat nie mam pod reka. Poza tym to o jeden uklad wiecej.
Zmienilem troche projekt i zastosowalem generator zbudowany
w oparciu o 555
po tych poprawkach automat dziala bez najmniejszych zarzutow - zarowno
korzystajac z kodow wygenerowanych przez Cupl'a jak i Palasm'a
dziekuje za pomoc
pga
--
_/_/_/ _/_/_/ _/_/_/ Pawel Grzegorz Angerman
_/ _/_/ _/ _/ DS T-17 "Ikar" p.504 Adres domowy:
_/_/_/ _/ _/_/_/_/_/_/ Wroblewskiego 27 J.Kazimierza 7/9 m9
_/ _/ _/_/ _/ 51-627 Wroclaw 98-220 Zdunska Wola
_/ _/_/_/ _/ _/ tel:(0-71)48-66-10 tel:(0-43)23-49-78
POLAND
e-mail: PGA_at_nospam_ikar.t17.ds.pwr.wroc.pl
PGA-Electronics_at_nospam_usa.net
URL : http://www.t17.ds.pwr.wroc.pl/~pga
http://www.t17.ds.pwr.wroc.pl/~pga/psubraty