Procesor wejscia-wyjscia w FPGA

Witam,

mam pytanie podobne do zadanego niedawno przez Petersa, ale wymagania sa troche inne. Buduje urzadzenie oparte na zmiennoprzecinkowym DSP mogace sie wydajnie komunikowac z komputerem przez popularny interfejs IO. Poniewaz DSP ma co robic, chcialbym zlecic obsluge peryferiow osobnemu ukladowi. Musi on zawierac nastepujace rzeczy:

- 4 szeregowe porty synchroniczne 32-bitowe min. 33Mbit/s wspolbiezne (tj. wszystkie pracuja na tej samej baud rate i zaczynaja/koncza transmisje w tych samych momentach).

- 1 szeregowy port synchroniczny 24-bitowy 33Mbit/s potrafiacy w razie potrzeby stac sie 16-bitowym portem rownoleglym (tzn. linie sa dzielone).

- 16-bitowy interfejs do DSP.

- kontroler USB (front-end w FPGA albo podlaczany z zewnatrz), zdolny pracowac co najmniej w trybie 12Mbit/s, ale USB2.0 byloby wspaniale.

- interfejsy IDE (tryb 16-bitowy, CF, dyski twarde) oraz SD.

Poza tym malo wymagajace "bzdurki":

- komunikacja z wyswietlaczem graficznym LCD przez

8-bitowy interfejs rownolegly.

- obsluga klawiatury matrycowej 4x4 (moze ona dzielic linie z wyswietlaczem) i kilka diod LED.

- kilka portow szeregowych realizujacych podzbior standardu SPI.

- jedno wyjscie PWM 8bit.

Warunki "brzegowe" sa takie:

- mam zegar F = 66 MHz (oraz F/2, F/4 i F/8),

- uklad zasilany z 3,3V (+2,5V core, jesli jest potrzeba),

- obudowa SMD "lutowalna", tj. np. xQFP (x = T, L, M, P itd.), BGA odpada, PLCC niemile widziane,

- mozna kupic jedna sztuke w detalu.

Jaki uklad byscie mi polecili do zrealizowania powyzszych celow albo co nalezy zmienic w zalozeniach, by sie dalo te cele osiagnac?

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski
Loading thread data ...

On Sat, 1 Jan 2005 13:35:14 +0100, "Piotr Wyderski" snipped-for-privacy@ii.uni.wroc.pl> wrote: [.....]

Konkretnego układu to Ci nie podam, ale sugerowałbym najpierw opisanie całej funkcjonalności w jakimś HDL-u, syntezę, symulację, a następnie dobranie układu w którym projekt się zmieści - fitter informuje o tym że nie może upakować projektu w zadanym układzie. Z częstotliwością, zasilaniem i obudową raczej nie będzie problemu - na pewno coś sobie dobierzesz. CPLD i FPGA Xilinxa można kupić w małych ilościach w gliwickim Memecu, aczkolwiek nie wiem czy sprzedają oni osobom fizycznym czy tylko "na firmę". Nie wiem jak jest z układami Altery.

Front-end USB upakowany w FPGA może nawet działać, ale takie rozwiązanie chyba nie będzie spełniać *wszystkich* wymagań elektrycznych, czyli nie będzie się nadawać do masowej produkcji/sprzedaży. Gdzieś w Sieci widziałem nawet projekt z kontrolerem Ethernet w FPGA gdzie transformator separujący jest podłączony bezpośrednio do pinów FPGA. :-)

BTW. Co rozumiesz przez N-bitowy synchroniczny port szeregowy?

Regards, /J.D.

Reply to
Jan Dubiec

IMO całkiem naturalna. :-)

To, które jest (bezpłatnie) dostępne: ISE Webpack do kości Xilinxa lub Quartus II do Altery. Ten soft nie obsługuje topowych FPGA w/w producentów, ale to chyba Ci na razie nie będzie przeszkadzało.

AFAIR w BTC mają tylko CPLD i to raczej te "mniejsze", więc BTC raczej odpada. :-(

W USB (na razie) nie siedzę, więc nic nie poradzę. Jestem na poziomie kości FTDI. :-) BTW. FT245BM jest USB 2.0, ale implementuje tylko "full speed device", czyli owe 12Mbit/s.

OK. Przez chwilę to mi się z HDLC pomyliło. A to trochę wyższa warstwa. :-)

Też tak sądzę. Bez USB powinno to się dać zmieścić w jakimś większym CPLD, np. Xilinxa np. XC95288XL w 100 lub 144 pinowej TQFP. Gdyby był za mały, to jest są jeszcze CPLD z rodziny CoolRunner.

Regards, /J.D.

Reply to
Jan Dubiec

A kto handluje tym w Polsce ? (w ilościach detalicznych)

Reply to
Zbych

No popatrz, a ja właśnie będę walczył z GAL-ami jeśli Greg podeśle mi kości. :-)

[.....]

oznaczeniach. Drogie mają te kości, ale dobrze wiedzieć że coś takiego jest i można sobie bezproblemowo kupić 1 sztukę. Do tej pory znałem tylko Memeca i BTC. A może ktoś wie gdzie można kupić na sztuki Cyclone'a Altery? W Jawi? Gdzieś jeszcze?

Tak. Z tym że element pamiętający to raczej nie jest goły przerzutnik D, ale coś więcej. Np. w CoolRunnerach Xilinxa ów element może być jednocześnie taktowany zboczem narastającym i opadającym (XC9500 tego nie potrafi). Więcej informacji znajdziesz oczywiście w dejtaszitach.

Liczysz dobrze, ale makrocela CPLD to zupełnie coś innego niż CLB[*] w FPGA. Zajrzyj do dejtaszita. :-) Np. w CPLD potrzebujesz co najmniej 16 makrocel aby zrealizować 16-bitowy rejestr przesuwający, a w FPGA na 1 CLB możesz zrealizować 2 takie rejestry (i zostanie Ci jeszcze sporo wolnej logiki); największy z CoolRunnerów (CPLD) ma 512 makrocel, a najmniejszy ze Spartanów-3 (FPGA) ma 192 CLB. Ponadto FPGA mają wbudowany RAM, układy mnożące oraz inne gadżety.

[*] Configurable Logic Block wg. nomenklatury Xilinxa; Altera używa innej nomenklatury i sposobu podziału FPGA na mniejsze bloki funkcjonalne

Regards, /J.D.

Reply to
Jan Dubiec

Takie składanie "graficzne" to raczej słaby pomysł - nadaje się tylko do trywialnych projektów. Przy większych naklika się człowiek jak wół, a schemat i tak będzie nieczytelną plątaniną kresek. :-) Poza tym po co się męczyć i odwalać robotę za syntezer skoro to on ma odwalać robotę za nas. :-)

Regards, /J.D.

Reply to
Jan Dubiec

W *polskim* EBV? W ubiegłym tygodniu dzwoniłem do nich ponieważ chcę sobie kupić evalboard-a z Cyclonem. Zepchneli mnie do Jawi. W zasadzie dla mnie to nawet i lepiej, ale aż strach pomyśleć co by było gdybym chciał kupić np. tylko 10 gołych Cyclonów. :-)

Regards, /J.D.

Reply to
Jan Dubiec
Reply to
Piotr Wyderski

Ja tak bardzo nie sugerowałbym się tą ceną. Raz że Lattice z jakichś powodów jest drogi - zauważ że układ Lattice'a jest na Tranzystorze około 2 razy droższy od kości Xilinxa o zbliżonej ilości makrokomórek. Dwa że Xilinxa mozesz kupić w Memecu kupić około 2 razy taniej. Wyjdzie coś pomiędzy 10 a 20 gr za makrokomórkę. Z moich obserwacji wynika że Memec przy małych ilościach ma ceny takie jak w sklepie internetowym Xilinxa + 5% + VAT.

Następna sprawa to to, że układy stare (czyli 5V CPLD i FPGA) są znacznie droższe od ich nowszych wersji. Widać to też po cenach na Tranzystorze.

Nie wszędzie jest sens wstawiać FPGA. Nawet 74* nadal się produkuje i używa. :-)

To co tam mają w ofercie to jakieś zabytki. XCS* to rodzina Spartan, a XC52* to już wogóle jakaś prehistoria. W każdym bądź razie Xilinx się do nich już nie przyznaje. :-) Współczesne "małe" FPGA Xilinxa to rodziny Spartan IIE i Spartan 3 ze wskazaniem na tą drugą. Ewentualnie możesz użyć Virtex-a i wsadzić tam parę Twoich układów razem z DSP. ;-)

Regards, /J.D.

Reply to
Jan Dubiec

Dostepny tylko w "Jawi"?

Wyglada BARDZO zachecajaco i rozwiazuje kilka malych problemow o ktorych nie wspomnialem. :-) Dzieki!

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

Dnia 2005-01-01 19:48, Użytkownik Zbych napisał:

Być może AVT będzie jeszcze coś miało - zrobili na tym konwerter USB->IDE i wprowadzili ten układ do swojej oferty.

Reply to
badworm
Reply to
Piotr Wyderski

i jest calkiem popularny komercyjne = Pinnacle PCTV Deluxe = powinien byc tani

Pozdrawiam.

Reply to
RusH

Jan Dubiec napisal(a):

Tez mnie to zaskoczylo. To jest hurtownik i jednorazowa dostawa u nich musi miec cos kolo 2k i iles tam dziesiatek euro dla linijki zamowienia. Male zamowienia spychaja na Semos i innych.

Reply to
Marcin E. Hamerla

Jan Dubiec napisal(a):

To nie jest takie oczywiste. Poczytaj dyskusje na fpga. Schemat rysowany jest uznawany za czytelniejszy.

Reply to
Marcin E. Hamerla

Marcin E Hamerla wrote on Mon, 03 Jan 2005 11:44:42 +0100:

[.....]

IMO dla *każdego* człowieka istnieje pewna granica, od której opis w HDL jest bardziej czytelny niż schemat układu. Jak dla mnie, schemat zwykłego układu kombinacyjnego implementującego np. 10 nietrywialnych funkcji 10 zmiennych jest mniej czytelny od opisu w (V)HDL-u.

Regards, /J.D.

Reply to
Jan Dubiec

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.