Po anglijsku: http://www.doulos.com/knowhow/vhdl_designers_guide/aktus pisze:A czy ktoś z Was ma może takie coś jak manuale do vhdla ( najlepiej po polskiemu lub po angielsku ).
Układy FPGA - parę pytań.
-
ZbeeGin
- gwozdex
- Użytkownik
- Posty: 879
- Rejestracja: 24 lut 2006, 10:04
- Lokalizacja: Czechowice-Dziedzice
- Kontakt:
Witam!
Interesuje mnie czy jest możliwość zaprogramowania układu PLD: 16R8 przy użyciu programatora którego budowę przedstawia artykuł traktujący o gumowej logice w elportalu- strona wskazana parę postów wyżej przez gawła. Co prawda jest tam wyraźnie napisane ze jest to programator układów Xilinx a układ 16R8 jest produkcji Cypress'a, ale wolę zapytać dla pewności.
Może macie jakiś prosty programator w/w układu. Dziekuję.
Interesuje mnie czy jest możliwość zaprogramowania układu PLD: 16R8 przy użyciu programatora którego budowę przedstawia artykuł traktujący o gumowej logice w elportalu- strona wskazana parę postów wyżej przez gawła. Co prawda jest tam wyraźnie napisane ze jest to programator układów Xilinx a układ 16R8 jest produkcji Cypress'a, ale wolę zapytać dla pewności.
Może macie jakiś prosty programator w/w układu. Dziekuję.
Wymieniony układ jest najprawdopodobniej układem PAL a te podobnie jak typowe układy GAL nie są programowalne w układzie (znam tylko jeden wyjątek: układy ispGAL), czyli scalaczka trzeba wyjąć z układu, włożyć do programatora i po zaprogramowaniu włożyć do docelowego układu. Jest bardzo prawdopodobne, że ten układ Cypress'a nie jest reprogramowalny (typowe układy PAL takie były) ale to musisz sprawdzić na stronie producenta i może się okazać, że jeżeli jest z odzysku, to nadaje się na ... breloczek do kluczy.
Trudno jest mi wskazać jakiś tani programator do takich układów. Ja posługuję się programatorem LabTool 48 a on praktycznie programuje "wszystko co się rusza" więc nigdy nie poszukiwałem innych rozwiązań bo ich nie potrzebowałem.
Trudno jest mi wskazać jakiś tani programator do takich układów. Ja posługuję się programatorem LabTool 48 a on praktycznie programuje "wszystko co się rusza" więc nigdy nie poszukiwałem innych rozwiązań bo ich nie potrzebowałem.
- gwozdex
- Użytkownik
- Posty: 879
- Rejestracja: 24 lut 2006, 10:04
- Lokalizacja: Czechowice-Dziedzice
- Kontakt:
Pozwolę sobie zamieścić "listing"- konfigurację układu 16R8.
rozumiem ze nie jest to takie programowanie jak np. AVR- nie mamy tutaj instrukcji do wykonania, a w zamian za to jest opis konfiguracji urządenia:
I moje pytanie jak to wsadzić w układ PAL?
PS. nie mam takiego układu- chciałem zbudować pewien układ w którym użyto takiego układu. Pozdrawiam
Kod: Zaznacz cały
}
MODULE QuadDivider;
TITLE QuadDivider V1.0;
COMMENT Device: 16R8;
TYPE MMI 16R8;
INPUTS;
RESET NODE[PIN2] INVERTED;
X4 NODE[PIN3];
P0 NODE[PIN4]; { Phi0 }
P90 NODE[PIN5]; { Phi90 }
INDX NODE[PIN6];
{ Feedback pins }
S2 NODE[PIN12];
S4 NODE[PIN13];
P0D NODE[PIN14];
P90D NODE[PIN15];
CntUp NODE[PIN18];
CntDn NODE[PIN19];
UP NODE[PIN16];
COUNT NODE[PIN17] INVERTED;
OUTPUTS;
S2 NODE[PIN12];
S4 NODE[PIN13];
P0D NODE[PIN14];
P90D NODE[PIN15];
CntUp NODE[PIN18];
CntDn NODE[PIN19];
UP NODE[PIN16];
COUNT NODE[PIN17] INVERTED;
TABLE;
S2 := P0D & !RESET;
S4 := P90D & !RESET;
P0D := P0 & !RESET;
P90D := P90 & !RESET;
CntUp := COUNT & UP;
CntDn := COUNT & !UP;
COUNT :=
( P0D & S2 & !P90D & S4 & X4{ C1 }
+!P0D & !S2 & P90D & !S4 { C2 }
+!P0D & S2 & !P90D & !S4 & X4{ C3 }
+ P0D & !S2 & P90D & S4 & X4{ C4 }
+ P0D & S2 & P90D & !S4 & X4{ C5 }
+ P0D & S2 & P90D & S4 { C6 }
+!P0D & S2 & P90D & S4 & X4{ C7 }
+ P0D & !S2 & !P90D & !S4 & X4{ C8 }
) & !RESET;
UP :=
(
!P0D & S2 & !P90D & S4
+!P0D & S2 & P90D & S4
+!P0D & S2 & P90D & !S4
+ P0D & S2 & P90D & !S4
+ P0D & !S2 & P90D & !S4
+ P0D & !S2 & !P90D & !S4
+ P0D & !S2 & !P90D & S4
+!P0D & !S2 & !P90D & S4
) & !RESET;
END;
END QuadDivider;PS. nie mam takiego układu- chciałem zbudować pewien układ w którym użyto takiego układu. Pozdrawiam
To ja też pozwolę sobie zacytować fragment "gumowej logiki":
Można ewentualnie zaproponoać następujące rozwiązanie:
- użyć układu GAL, jest to funkcjonalny odpowiednik układów PAL ale bardziej współczesny, same układy są bardziej dostępne programatory są bardziej dostępne (o ile dobrze sobie przypominam, to chyba ZbeeGin podawał jakiegoś linka na prosty programator),
- zainteresować się pakietem WinCupl dostępny na stronie www.atmel.com (na tym forum był taki temat poruszony),
- pakiet WinCupl może to kupić wprost lub po drobnych poprawkach lub ewentualnie napisać po swojemu jeżeli wiadomo dokładnie co to ma robić
lub zrobić tak
- kupić majmniejszy układ CPLD (np XC9536XL),
- narysować to jako schemat w programie WebPack
- skompilować i wynik zaprogramować programatorem zaprezentowanym w "gumowej logice".
- Specyfiką układów PLD jest to, że wytworzony przez człowieka zbiór (jak opis w języku HDL: Hardware Description Language) nie jest programem, zapisy w języku HDL nie są instrukcjami do wykonania. W żadnym wypadku nie należy szukać analogii do języków programowania mikroprocesorów.
Można ewentualnie zaproponoać następujące rozwiązanie:
- użyć układu GAL, jest to funkcjonalny odpowiednik układów PAL ale bardziej współczesny, same układy są bardziej dostępne programatory są bardziej dostępne (o ile dobrze sobie przypominam, to chyba ZbeeGin podawał jakiegoś linka na prosty programator),
- zainteresować się pakietem WinCupl dostępny na stronie www.atmel.com (na tym forum był taki temat poruszony),
- pakiet WinCupl może to kupić wprost lub po drobnych poprawkach lub ewentualnie napisać po swojemu jeżeli wiadomo dokładnie co to ma robić
lub zrobić tak
- kupić majmniejszy układ CPLD (np XC9536XL),
- narysować to jako schemat w programie WebPack
- skompilować i wynik zaprogramować programatorem zaprezentowanym w "gumowej logice".