-
21. Data: 2018-03-02 10:06:52
Temat: Re: GAL
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Adam Wysocki" napisał w wiadomości grup
dyskusyjnych:p7b1kh$jrh$1$g...@n...chmurka.net...
J.F. <j...@p...onet.pl> wrote:
>>> Tym bardziej, że raczej nie planuję dużo używać tych układów. Na
>>> razie mam
>>> jeden pomysł na jedno zastosowanie -- na tyle proste, że da się je
>>> zrobić
>>> na TTL-ach, ale na tyle złożone (pod względem liczby pinów, nie
>>> funkcjonalności), że IMO lepiej będzie wrzucić układ
>>> programowalny.
>
>> To moze jednak CPLD ?
>Jest jeszcze jeden argument -- zawsze chciałem dowiedzieć się, z czym
>się
>je GAL-e. CPLD to swoją drogą.
One akurat dosc podobne wewnetrznie, wiec nauka po czesci wspolna.
>Chcę generalnie zrobić układ, który pozwoli odłączyć równoległą
>pamięć
>flash (małą, nie więcej niż 128kB) od magistrali i przeprogramować ją
>w
>układzie (taki ISP), a do tego będzie robił bank switching, bo szyna
>adresowa może zaadresować tylko 32kB.
>Samo przełączanie tradycyjnie robi się na TTL-ach, ale skoro i tak
>wrzucę GAL-a, to chcę to (może też w ramach praktyki) zrobić na nim.
>http://atariusa.com/Famicom_Schematics/FC%20UNROM%2
0Schematics.png
cala logika tam to na oko faktycznie sie do 16V8 zmiesci, ale ja tam
nie widze tego odlaczania od magistrali.
Jak ma byc cos wiecej i jeszcze jakies programowanie z zewnetrznego
zrodla, to i CPLD moze nie starczyc, nawet jesli bufory beda w
osobnych kosciach.
>Chyba że są równoległe flashe, które mają osobne piny do tego celu :)
Poszukac z Jtagiem ?
J.
-
22. Data: 2018-03-02 10:36:14
Temat: Re: GAL
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Mateusz Viste" napisał w wiadomości grup
dyskusyjnych:5a9906d2$0$3313$4...@n...free.fr..
.
>On Fri, 02 Mar 2018 07:36:11 +0100, J.F. wrote:
>> Wiedza na temat programowania GAL, ktore lada moment znikna z rynku
>> ?
>Pewnie - dla hobbysty DYI priorytety są często inne niż dla
>profesjonalisty. Mi do dziś zdarza się wertować książki o
>programowaniu z
>API Windows 3.x. Wcale nie dlatego że liczę na robotę w tym temacie,
>a po
>prostu uważam że to ciekawe poznawać "co było przedtem" i jak ludzie
>rozwiązywali problemy które dziś ponoć wymagają gigaherców.
IMO - durny pomysl.
Zeby to Win 3.x bylo jakims dobrym wzorem, ale przeciez nie :-)
J.
-
23. Data: 2018-03-02 11:11:08
Temat: Re: GAL
Od: Piotr Gałka <p...@c...pl>
W dniu 2018-03-01 o 23:28, Adam Wysocki pisze:
> Poza tym szczerze mówiąc chciałbym najpierw wypełnić sobie lukę w głowie,
> dotyczącą GAL-i. Pamiętam że to zawsze była dla mnie czarna magia. Teraz
> koncepcyjnie już nie jest, ale praktycznie nadal jest :)
Użyliśmy GALi tylko w dwu projektach.
1. Klucz do zabezpieczenia oprogramowania HAK1 (+- 1991) w postaci
przejściówki Centronix przezroczystej dla drukarki.
W GALu zrobiliśmy maszynkę sekwencyjną mieszającą 5 bitowy stan z 5
bitową daną w nowy 5 bitowy stan. 1-bitowa funkcja stanu była sygnałem
zwrotnym. Działanie polegało na podaniu sekwencji 16-tu 5 bitowych liczb
i weryfikacji, czy kolejno odczytane bity są takie jak mają być. Można
to rozumieć jako 16 bitowy podpis 80 bitowych danych.
Klient dostawał swój indywidualny program który pozwalał mu ustalić
odpowiedź jego klucza na dowolne dane i w różnych miejscach programu
mógł testować obecność klucza sprawdzając podpis innych danych.
Problemem było ile i które fuse przepalić. Napisałem symulator pracy tej
maszynki i zauważyłem, że czasem maszynka ma tendencję trafiania w jakiś
jeden czy kilka stanów znacznie częściej niż w inne. Uznałem (nie wiem
czy słusznie), że tak nie powinno być więc nałożyłem jakieś ograniczenia
na liczbę kombinacji prowadzących do tego samego stanu i inne na
minimalną liczbę fuse różniących poszczególne klucze i zapuściłem
generowanie kolejnych kluczy. Komputer z 286-ką przez 3h wygenerował mi
(losowanie fuse i sprawdzenie warunków) 20 kluczy (generował też te
programy o których wspomniałem wcześniej). Szło mu coraz wolniej głównie
z powodu narzuconej liczby różnic między dowolnymi dwoma kluczami. Nie
męczyłem go dalej i uznałem, że na razie 20 wystarczy.
Gal potrzebował 5V i dość dużego prądu a w Centronix nie ma zasilania.
Diody z wszystkich linii i potrajacz napięcia (podwajacz nie zawsze się
sprawdzał) ładujący kondensator i potem praca z tego kondensatora.
Efektem ubocznym (nie zamierzonym) było to, że nie dało się łamać
zabezpieczenia puszczając program krokowo bo kondensator się
rozładowywał i wszystko siadało. Zauważył to jeden z odbiorców jak
próbował debuggować swój własny program i uznał za dużą zaletę.
Przy tym projekcie nie użyliśmy żadnego kompilatora GALi tylko stan
wszystkich fuse ustaliliśmy sami.
2. Dydaktyczny System mikroprocesorowy DSM-51. Tam były dwa GALe
dlatego, że pierwsza wersja systemu (1993) powstała na zamówienie
Politechniki Gdańskiej do laboratorium układów programowalnych.
Jeden był dekoderem adresów, a drugi sterownikiem przerwań. Fuse też
ustaliliśmy ręcznie, ale potem zrobiliśmy zapis równaniami z których
Palasm generował te nasze fuse, aby studenci mogli modyfikować
zachowanie dekodera adresów i sterownika przerwań (GALe były w podstawkach).
P.G.
-
24. Data: 2018-03-02 12:39:52
Temat: Re: GAL
Od: g...@s...invalid (Adam Wysocki)
J.F. <j...@p...onet.pl> wrote:
>>Jest jeszcze jeden argument -- zawsze chciałem dowiedzieć się, z czym
>>się je GAL-e. CPLD to swoją drogą.
>
> One akurat dosc podobne wewnetrznie, wiec nauka po czesci wspolna.
Oby :)
Gale z jakiegoś powodu wydają mi się prostsze. Taki "pierwszy etap" nauki,
zanim rzucę się na CPLD. Chociaż to wrażenie nie jest niczym poparte i
może być zupełnie błędne.
> cala logika tam to na oko faktycznie sie do 16V8 zmiesci, ale ja tam
> nie widze tego odlaczania od magistrali.
Bo tam go nie ma. To schemat cartridge do Pegasusa. Ja chcę zrobić sobie
developerski, żeby wrzucić go do konsoli, podłączyć po USB do peceta i
napisać na to jakąś prostą grę albo kilka. Wydaje się ciekawe.
Wiem, że są emulatory, ale to nie to samo.
> Jak ma byc cos wiecej i jeszcze jakies programowanie z zewnetrznego
> zrodla, to i CPLD moze nie starczyc, nawet jesli bufory beda w
> osobnych kosciach.
Ale do szeregowego programowania flasha tak naprawdę powinien wystarczyć
tylko licznik (adresów) i rejestr przesuwny (do magistrali danych), a na
upartego nawet jeden długi rejestr przesuwny, żeby ustawić bity (adres i
dane) i puścić strobe. To się może nie zmieścić nawet w CPLD?
>>Chyba że są równoległe flashe, które mają osobne piny do tego celu :)
>
> Poszukac z Jtagiem ?
Myślałem o tym, ale to nie będzie miało waloru edukacyjnego, a tu wydaje
się idealne -- bardziej skomplikowane od migania diodą, ale na tyle
proste, że nie powinno przerosnąć przy pierwszym podejściu.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
25. Data: 2018-03-02 13:10:47
Temat: Re: GAL
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Adam Wysocki" napisał w wiadomości grup
dyskusyjnych:p7bd67$nu3$1$g...@n...chmurka.net...
J.F. <j...@p...onet.pl> wrote:
>>>Jest jeszcze jeden argument -- zawsze chciałem dowiedzieć się, z
>>>czym
>>>się je GAL-e. CPLD to swoją drogą.
>
>> One akurat dosc podobne wewnetrznie, wiec nauka po czesci wspolna.
>Oby :)
>Gale z jakiegoś powodu wydają mi się prostsze. Taki "pierwszy etap"
>nauki,
>zanim rzucę się na CPLD. Chociaż to wrażenie nie jest niczym poparte
>i
>może być zupełnie błędne.
Prostsze, ale typowe CPLD nie wiele wiecej niz kilka/nascie gali.
>> cala logika tam to na oko faktycznie sie do 16V8 zmiesci, ale ja
>> tam
>> nie widze tego odlaczania od magistrali.
>Bo tam go nie ma. To schemat cartridge do Pegasusa. Ja chcę zrobić
>sobie
>developerski, żeby wrzucić go do konsoli, podłączyć po USB do peceta
>i
>napisać na to jakąś prostą grę albo kilka. Wydaje się ciekawe.
Ale schemat sie rozrasta.
>Wiem, że są emulatory, ale to nie to samo.
Eee tam, na Androida napisz, bardziej sie przyda :-)
Chociaz ... Symbiana juz nie ma, Windows Mobile prawie nie ma ...
trzeba dobrze wybrac platforme :-)
>> Jak ma byc cos wiecej i jeszcze jakies programowanie z zewnetrznego
>> zrodla, to i CPLD moze nie starczyc, nawet jesli bufory beda w
>> osobnych kosciach.
>Ale do szeregowego programowania flasha tak naprawdę powinien
>wystarczyć
>tylko licznik (adresów) i rejestr przesuwny (do magistrali danych), a
>na
>upartego nawet jeden długi rejestr przesuwny, żeby ustawić bity
>(adres i
>dane) i puścić strobe. To się może nie zmieścić nawet w CPLD?
Pamietasz Atlantira - raptem 24 bity, a wyszlo na to, ze srednie CPLD
zzera.
W zaleznosci od wersji - moze i jak piszesz, jeden rejestr przesuwny
bez bufora na adres i dane, strobe w dogodnym momencie.
Ale jak licznik, to przydalby sie z buforem ... a nie, w sumie nie
musi byc z buforem, moze byc licznik i rejestr w jednym :-)
A potem sie okaze, ze zasobow zabraknie, bo wielobitowe liczniki moga
potrafia byc wredne ... ale w tym przypadku chyba wyjatkowo nie.
J.
-
26. Data: 2018-03-02 13:19:01
Temat: Re: GAL
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Piotr Gałka" napisał w wiadomości grup
dyskusyjnych:p7b7vn$mbc$1$P...@n...chmurka.ne
t...
>Użyliśmy GALi tylko w dwu projektach.
Kolega kiedys robil taka troche bardziej skomplikowana plytke, ja mu
pomagalem, to skonczylismy na kilkunastu galach.
Na zasadzie:
-kazdy kawalek logiki bramkowej - w galu, co sie meczyc z laczeniem
bramek.
-liczniki - tez na galach, po cholere sie wczytywac w te katalogi i
dopasowywac uklady, zaprogramuje sie taki, jaki bedzie potrzebny
Prawde mowiac trzeba to bylo zrobic na FPGA, ale bylo w tamtym czasie
za drogie,
albo wlasnie na CPLD ... ale wtedy to taki troche meteor w Polsce -
niby jest,
niby tanie, a jak przychodzi do kupna, to nie ma, albo drogie,
albo program do programowania niepewny, albo interfejs drogi.
No i plytka do gali mniej wymagajaca, i sie latwiej laczy kynarkiem
:-)
J.
-
27. Data: 2018-03-02 19:17:34
Temat: Re: GAL
Od: Mateusz Viste <m...@n...pamietam>
On Fri, 02 Mar 2018 10:36:14 +0100, J.F. wrote:
> IMO - durny pomysl.
> Zeby to Win 3.x bylo jakims dobrym wzorem, ale przeciez nie :-)
Durny pomysł mieć hobby? Skoro tak uważasz...
OP kombinuje w ciekawym kierunku stworzenia programowalnego cartridge'a
dla Famicoma - ale i to pewno wg ciebie durny pomysł, skoro istnieją
przecież lepsze konsole. Może to po prostu wątek nie dla ciebie :)
Mateusz
-
28. Data: 2018-03-04 18:43:03
Temat: Re: GAL
Od: Piotr Wyderski <p...@n...mil>
J.F. wrote:
> Niekoniecznie z powodu ceny - potrzebujesz prostej logiki, a tu ci 44
> piny wciskaja.
> Co prawda te 44 piny to prawie jak DIP22 duze :-)
Się ciesz, że wciąż piny, a nie kulki. A 44 piny w QFN to
w ogóle maleństwo, choć ciągle do polutowania w domu (hotairem).
Pozdrawiam, Piotr
-
29. Data: 2018-03-07 13:27:05
Temat: Re: GAL
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Mateusz Viste" napisał w wiadomości grup
dyskusyjnych:5a99953e$0$7178$4...@n...free.fr..
.
On Fri, 02 Mar 2018 10:36:14 +0100, J.F. wrote:
>> IMO - durny pomysl.
>> Zeby to Win 3.x bylo jakims dobrym wzorem, ale przeciez nie :-)
>Durny pomysł mieć hobby? Skoro tak uważasz...
Durny pomysl to miec durne hobby.
Doszukiwac sie sensu w Windows 3 ...
>OP kombinuje w ciekawym kierunku stworzenia programowalnego
>cartridge'a
>dla Famicoma - ale i to pewno wg ciebie durny pomysł, skoro istnieją
>przecież lepsze konsole. Może to po prostu wątek nie dla ciebie :)
Jest to jakis pomysl ... ale moze jednak jednak lepiej dac tej konsoli
nalezne jej miejsce ... czyli w muzeum lub smietniku :-)
Albo ... symulator zrobic w jakims duzym FPGA, to sie czlowiek wiecej
nauczy :-)
P.S. To taki symulator EPROM ma byc ?
-mozna kupic gotowy, ale kablownia sie robi,
-i radze przemyslec zasilanie, kartridge musi byc zasilany, zeby dane
zaladowac, a potem trzeba konsole wystartowac ... jesli nie ma
przycisku reset, tylko wlacza sie zasilanie, to jak je wylaczyc na
chwile ...
No chyba, ze ma tam byc naprawde pamiec Flash, i po wgraniu nowej gry
mozna wylaczac zasilanie do woli ...
J.