System do FPGA

Jun 03, 2005 61 Replies

A pytalem czy jestes absolutnie pewny. Ja na razie jestem na etapie ze mi Jawi nie chce przeslac cennika Altery :-(

Hm, czy mi sie wydaje czy najtanszy zestaw jest za 295$ ?

A nawet i 1000 .. powiedzmy ze nie jest nieosiagalne, ale z mojego punktu widzenia musiala by sie inwestycja zwrocic, co tez nie jest takie nierealne. Najchetniej to bym jednak uzyl jakis sprawdzony procek i dokupil mniejsze FPGA za 20 zl :-)

Jest jeszcze jedna kwestia - to przeciez nie musi byc dokladnie NIOS. Prosty procesor to jest kawalek roboty, ale znow nie taki niewykonalny. A mozna wziasc jakis dobry wzor - pdp-11, p-code, ktoregos RISCa, jakis uproszczony ARM, moze java-machine sie zmiesci ?

Ciekawe jak uda sie zoptymalizowac konstrukcje .. zeby nie wyszlo

10k LE

J.

P.S. a nie da sie tak delikatnie shackowac tego quartusa .. tfu, jak ja niepolitycznie pisze, wstydze sie :-)

Pyta³e¶ o rozmiary NIOSa oraz sens stosowania procka w FPGA zamiast do³±czenia zewnêtrznej kostki. A tu wszystkie argumenty podtrzymujê.

Bo trzeba pytaæ o konkretne uk³ady. :-(

Dok³±dnie o tym piszê -- 3 tys. z³. to nie s± bardzo du¿e pieni±dze i gdybym na tym zarabia³, to kupi³bym sobie NIOSa. Ale zajmujê siê tym hobbystycznie, wiêc nie zamierzam wydaæ na niego nawet 1/50 tej kwoty.

Tylko kompilator trzeba na niego przenie¶æ, a z tym trochê roboty jest...

Pozdrawiam Piotr Wyderski

Ograniczenia te, trzeba uczciwie powiedzieæ, s± widoczne jedynie dla studentów/hobbystów, bo dla profesjonalistów, jak ju¿ wspomnia³em, s± one znikome - licencjê mo¿na nawet dostaæ za darmochê od dystrybutora Altery gdy siê wystarczaj±co du¿o u¿ywa ich chipsów rocznie... Popatrzcie na to tak - sprzeda¿ 1000 urz±dzeñ rocznie i Ci siê licencja zwróci w ci±gu jednego roku z kosztem dolara na urz±dzenie... Czy to naprawdê tak du¿o ? Dodatkowo za t± kwotê masz solidnie wykonan± p³ytê prototypow± zawieraj±c± bardzo du¿y uk³ad FPGA Altery, pamiêæ SRAM, FLASH i wiele innych urz±dzeñ na p³ycie... Naprawdê jest od czego zacz±æ pracê. Ja jestem zadowolony.

W opencores.org maja sporo malych procesorkow w VHDLu, na pewno znajdzie sie jakis gotowiec w stylu 8051 lub AVRa:

formatting link

I moim zdaniem z tego powodu powinni to oprogramowanie daæ za darmo. I tak na nim wiele nie zarabiaj±, bo p³aci siê za zakupiony zestaw, a nie wykorzystane w swoich projektach kopie NIOSa, wiêc w pewnym momencie wszyscy zainteresowani kupi± sobie DevKity i zarobek Altery siê urwie.

To jest oczywiste, pisa³em o tym samym ju¿ w innym li¶cie. Z punktu widzenia profesjonalisty przekonanego, ¿e mu siê zakup tego narzêdzia zwróci, 3 tys. z³. to niewielki wydatek, mo¿na tyle zap³aciæ od rêki. Jednak z punktu widzenia hobbysty jest to kwota ogromna, bo nigdy siê nie zamortyzuje, wiêc je¶li jakiemu¶ amatorowi wpadnie do g³owy my¶l dokonania takiego zakupu, to lepiej tê kwotê przeznaczyæ na dobrego psychiatrê...

Z drugiej strony nie ka¿dy tego potrzebuje, np. ja wolê programowaæ _ka¿dy_ chip w uk³adzie docelowym.

Pozdrawiam Piotr Wyderski

O istnieniu ma³ych wiem, ale mnie jest potrzebny 32-bitowiec, i to mo¿liwie wydajny. Idealny by³by procesor o dwukana³owym ALU SIMD 2x24 bity, ale w±tpiê w znalezienie gotowca.

BTW, Adamie, czytam sobie PDF do AT91SAM7S64 i jestem bardzo pozytywnie zaskoczony stosunkiem mo¿liwo¶ci/cena (choæ kana³u DMA bezpo¶rednio na GPIO nie ma...). Chêtnie bym siê z t± rodzin± bli¿ej zapozna³, ale jak wygl±da kwestia dostêpno¶ci darmowego oprogramowania (kompilator C++, najlepiej port GCC oraz oprogramowanie do ISP) oraz jak zbudowaæ/ile kosztuje programator?

Pozdrawiam Piotr Wyderski

arm-elf-gcc jest darmowy i calkiem skuteczny gdy sie go polaczy z ulubionym edytorem i odpowiednim zestawem Makefile'ow. W Windows uzywam pakietu gnuarm dzialajacego pod cygwin'em.

Programator kosztuje kilka zl i sklada sie z jednego bufora. Pewnie go dobrze znasz, identyczny z Altera ByteBlaster. To w koncu standardowy JTAG.

Soft do programowania przez JTAG jest darmowy np. armtool, mozna przy jego pomocy zaladowac plik binarny do wewn. RAMu procesora i go uruchomic. Reszta zalezy od twojej inwencji, program dzialajacy w RAMie moze wciagnac np. przez UARTa dane, ktorymi zaprogramuje wewn. pamiec Flash (programowanie pamieci Flash jest dokladnie opisane w dokumentacji procka). Oczywiscie nic nie stoi na przeszkodzie aby wykorzystal do tego inny interfejs, np. USB.

Wg mnie AT91SAM7S64 to absolutne minimum do rozpoczecia zabawy, ale wkrotce przestaniesz sie w nim miescic. To w koncu ARM, tu glupi NOP zajmuje 4 bajty a binaria programu przyrastaja w zastraszajacym tempie jak sie cos konkretnego implementuje (w Thumba jeszcze nie przeskoczylem). Malo ma tez RAMu. Fajnie jest dopiero uzywac AT91SAM7S256 i nie szczypac sie z programem czy danymi. :)

BTW: Kanalow DMA brakuje nie tylko do GPIO. Chlopaki z Atmela postanowili zaoszczedzic kilka bramek (na czyms pewnie bylo trzeba, AT91SAM7Sxx to w wiekszosci funkcji mocno przyciety AT91RM9200) i nie dali np. DMA (PDC) dla modulu USB. Przez to obsluga szybkich transferow (kilkaset KB/s) przez USB potrafi zajac polowe mocy CPU (@ 48 MHz) spedzana w przerwaniu USB. A na inne rzeczy tez powinien w koncu byc czas.

Na OC masz gotowy procesor OpenRISC1000, 32b, ze wsparciem dla DSP. To nie jest tylko zabawka kilku zapalencow, bo procesor zostal zaimplementowany w krzemie. Na stronie projektu sa linki do narzedzi GNU, linuxa, uclinuxa itd. Moze to Ci sie spodoba?

pzdr. j.

Dziêkujê za informacjê, przyjrzê siê mu dok³adniej.

Pozdrawiam Piotr Wyderski

[...]

No i o to chodzi! :-)

Powinienem siê zmie¶ciæ, nic wielkiego w niego wk³adaæ nie chcê: rysowanie kresek na graficznym LCD monochromatycznym 128x64, obs³uga zewnêtrznego FIFO i prosta komunikacja przez USB i RS232 z pecetem. Najwiêksz± rzecz±, jaka mu "grozi" to liczenie 128-punktowej DFT off-line.

16KB -- dla mnie to du¿o.

Ale ich w Seguro nie mo¿na kupiæ.

O, tego nie zauwa¿y³em, w pewnych zastosowaniach to rzeczywi¶cie mo¿e byæ problemem. Widzê jeszcze jeden problem: SSC potrafi obs³ugiwaæ ramki tylko do 16-bitów, a ja mam pewien chip, który potrzebuje 32-bitowych. :-(

Pozdrawiam Piotr Wyderski

To jeszcze link:

formatting link
pzdr. j.

I jeszcze jeden ciekawy link:

formatting link
Powodzenia :)

pzdr. j.

Niez³e. :-) Ciekawe, czy jest dostêpna jaka¶ maszyna do MSIL zamiast bajtkodu Javy, mia³bym wsparcie ca³ej infrastruktury .NET.

Pozdrawiam Piotr Wyderski

Nigdzie nie widzialem. Ale moze ktos juz napisal :) A tak BTW. Myslalem ze OpenCores znasz juz na pamiec:)

pzdr. j.

Przede wszystkim brak pamieci wirtualnej. Z tego wynika caly szareg ograniczen nieobecnych w systemach korzystajacych z MMU. Zeby wymienic najwazniejsze: - proces nie moze zwiekszyc zajetosci pamieci. Do dyspozycji ma jedynie tyle, ile zostanie mu przydzielone na starcie - brak mozliwosci realokacji procesow w pamieci. W efekcie moze to doprowadzic do fragmentacji wolnej pamieci w systemie. - brak fork(), dostepny jest jedynie vfork(). Roznica jest taka, ze proces potomny korzysta ze stosu rodzica. Rodzic jest zawieszany dopoki proces potomny sie nie zakonczy badz uruchomi przez exec() inny program (co nie znaczy ze w ucLinuksie nie ma wielozadaniowosci). Obydwa procesy maja tez wspolny segment danych

Jesli zainteresowal Cie temat, polecam na poczatek

formatting link
pzdr. j.

Woleæ to mo¿na du¿o... zw³aszcza gdy siê jest studentem lub hobbyst± któremu nie zale¿y na krótkim "time to market". W warunkach przemys³owych mo¿liwo¶æ rozpoczêcia testowania koncepcji ju¿ na dev-kicie jest nieoceniona, bo p³ytki zwykle przychodz± tu¿ przed 'dead line' dla prototypu...

Prawdopodobnie masz racjê, nigdy nie pracowa³em w biurze konstrukcyjnym. Dotychczas jednak nie mia³em wiêkszych problemów z zaprojektowanymi przez siebie urz±dzeniami cyfrowymi, zazwyczaj wystarcza³o takie postêpowanie:

a) dok³adnie przeczytaæ datasheety kostek i wynotowaæ pytania. b) sprecyzowaæ pomys³. c) powtórnie przeczytaæ datasheety, zadaæ pytania na grupê lub producentowi. d) dok³adnie przemy¶leæ zasadê dzia³ania urz±dzenia, wprowadziæ zmiany. e) je¶li trzeba, przesymulowaæ koncepcjê. f) zrobiæ p³ytkê, zlutowaæ, oprogramowaæ, cieszyæ siê dzia³aj±cym urz±dzeniem.

W przypadku urz±dzeñ analogowych tak ró¿owo nie jest i zwykle budujê egzemplarz "przedprototypowy" istotnego fragmentu danego uk³adu. Tu by siê development kity rzeczywi¶cie przyda³y. Do cyfrówki i programów jednak wystarcza³a mi zazwyczaj g³owa -- gdy co¶ by³o dobrze przemy¶lane, to rusza³o od pierwszego uruchomienia, nie lubiê dochodzenia do dzia³aj±cego rozwi±zania metod± Macajewa.

Pozdrawiam Piotr Wyderski

On Sun, 5 Jun 2005 01:02:57 +0000 (UTC), "Jacek R. Radzikowski" snipped-for-privacy@spamer.die.die.die.piranet.org> wrote: [.....]

Hehe, ja też tak myślałem to i nawet się nie odzywałem. :-)

Regards, /J.D.

I ma w srodku 'bombe zegarowa' - znaczy timer ktory go zatrzymuje po godzinie.

Ale dla Ciebie przeciez tez kit moze byc _za_darmo_. Robisz cos ciekawego, wiec zapisz sie do Altera University Program. Ograniczenia sa tylko do kompilowania hardware do Niosa, bo oprogramowanie jest darmowe (gcc).

Jak sie raz Niosa zakupilo, to potem szkoda czasu na dokladanie prockow :-)

Niepolitycznie... ale w domu moze byc niepolitycznie :-)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required