Jump to content
ELFORUM - Forumul electronistilor
Guest musaraf

Placa de dezvoltare cu FPGA

Recommended Posts

Guest musaraf

Salut

 

Am citit cate ceva despre FPGA - putere de calcul enorma :tonqe: , procesoare softcore (ar merge si cu ucLinux) etc.

 

M-as gandi sa fac o placa pentru un FPGA, dar:

- se recomanda cel putin 4 straturi (desi am vazut si cu 2)

- pe Net nu se prea gasesc proiecte

 

Un proiect cam cum mi-ar trebui este la:

http://www.belanger.pwp.blueyonder.co.u ... artan3.htm

 

 

Are cineva experienta cu placi de dezvoltare cu FPGA cumparate/construite?

Se poate face cablaj pentru TQFP cu tehnica de amator (imprimanta laser si fotosensibil-UV), sau trebuie la firma?

Se poate lipi fara statie de aer cald?

Si are rost sa ma apuc, sau o sa dau de atatea probleme ca nu se merita?

:rolleyes:

 

Multumesc!

Link to comment
Share on other sites

Se poate face optic si lipi de mana, dar nu te astepta sa fie usor. In plus nu stiu cum faci rost de Xilinx in Romania in cantitati mici, pe mine erau sa ma scuipe in fata cand i-am intrebat asta (e drept ca acu mult timp). Una peste alta, bafta maxima, ca vei avea nevoie.

Link to comment
Share on other sites

Musaraf, documenteaza-te bine, deoarece un CPLD sau suratele lor mai mari, FPGA-urile sunt doar dispozitive programabile, ele nu au putere de calcul deloc, nici mare nici mica. Sunt doar o multime de blocuri logice si de trasee programabile aruncate pe o pastila de siliciu, iar job-ul tau e sa il programezi cu ceea ce vrei. Asta se face fie in limbaje de programare VHDL, Verilog, fie schematic, insa e mai complicat asa. Nu trage un egal intre un microcontroller/microprocesor si un dispozitiv logic programabil, ca nu e aceiasi chestie.Pentru inceput, e preferabil sa iti faci rost de o placa de dezvoltare, iti recomand o placa cu spartan 3, gasesti la Anzi. E de preferat asa, deoarece primesti si ceva cd-uri cu tot ce iti trebuie, ceva manuale, si un cablu de programare. Eu am prins ceva promotie, si am primit gratis un devkit pentru CPLD-uri. E preferabil sa lucrezi pe un devboard, pentru ca cel putin elimini din start probleme de signal integrity si alte necazuri datorate cablajelor. La frecvente mari, nu e de joaca cu subiectul asta, si crede-ma ca nu vrei sa te intrebi de ce nu merge montajul tau, de la cablaj sau de la program. Cel putin asa elimini una din probleme.Tot la Anzi sau la Ecas gasesti si cipuri din seria Spartan 3, acum nu mai e asa mare problema. Mai demult, intr-adevar, nu prea era pe la noi asa ceva./pisoiu

Link to comment
Share on other sites

Eu am un devboard mai vechi pentru un Spartan-II, si nu am regretat deloc ca am cumparat-o, chiar daca la vremea respectiva mi s-a parut scumpa. Probabil as fi iesit cu maxim 5$ mai ieftin daca m-as fi decis sa o fac acasa, dar zau ca nu merita, prea mult chin.Si da, FPGA-urile au o putere imensa de calcul, cu conditia sa gasesti o aplicatie pentru ele. Daca le iei doar ca sa iti "arzi" in ele un procesor, iti cam scapa ideea de baza: procesoare poti sa cumperi de oriunde, in FPGA merita sa pui ceea ce nu poti sa faci usor/rapid/deloc cu un procesor (tinand cont si de pret in ecuatie, desigur).

Link to comment
Share on other sites

Guest musaraf

Asa deci...

 

Am gasit la Anzitech placa cu Spartan 3 (cu XC3S200):

http://www.anzitech.ro/special.php/vers ... /desc/id/5

descrisa la:

http://www.digilentinc.com/Products/Det ... od=S3BOARD

 

Are 200k de porti, si cineva pe un site zicea ca ar fi bine cam 1M de porti

(varianta cu XC3S1000 este cu vreo 50$ mai scumpa). Ce mi-ati recomanda?

Link to comment
Share on other sites

Pai tu ce vrei sa faci? 1M porti e destul de mult, bagi o gramada de chestii acolo. S-ar putea sa te descurci perfect cu 200k porti. In principiu, daca ai o aplicatie in minte, incerci sa o sintetizezi pentru diverse device-uri mai intai, ca sa vezi cam cat ocupa (macar estimativ), si dupa aia te decizi ce-ti trebuie. Daca nu poti asa si vrei o placa de experimentare generala, dai cat te tine buzunaru :)

Link to comment
Share on other sites

Eu am implementat un solver logic (Stalmark) intr-un FPGA ca parte a proiectului de diploma; o chestie de vis, care mergea mai repede intr-un FPGA pe la 50MHz (pe vremea aia era mult) decat pe superpentiumu pe care lucram. Si acu incerc sa bag un PID paralel de mare viteza.

Link to comment
Share on other sites

Guest musaraf

Chiar ca-si merita banii ...Si in plus se pare ca asta-i tehnologia viitorului. In 10 anii, probabil or sa fie cum sint acum microcontrolerele.Ce sa mai zic, tre sa-ncep sa pun bani deoparte :smt048 .

Link to comment
Share on other sites

Guest musaraf

Softul ar fi cealalta jumatate a problemei.Cu pachetul care vine gratis de la Xilinx (ISE Webpack), se poate lucra cat de cat sau este mai mult demo? Altera nu stiu ce da pe gratis, dar oricum nu este de prima alegere. Si ca limbaje, care este mai bun, VHDL :smt017 , Verilog :rolleyes: sau C :smt007 ?

Link to comment
Share on other sites

ISE Webpack e de obicei suficient pentru clase intermediare de FPGA-uri, gen Spartan. Nu prea e bun pentru clase superioare, acolo ai nevoie de varianta comerciala.In ce priveste limbajul, asta cred ca pana la urma e o chestie de optiune personala, depinde cu ce esti obisnuit sau ce ti se pare mai ok ca si sintaxa. Prin Europa se foloseste mai mult VHDL, prin US mai mult Verilog. C-ul nu e pentru structuri logice programabile, desi am auzit ca exista ceva compilatoare in sensul asta, insa nu pot sa zic cat de bun sau de ne-bun e. In ISE poti programa VHDL, Verilog sau schematic./pisoiu

Link to comment
Share on other sites

Guest zuzurelu

Am vazut ca te interesa cum sa-ti construiesti cablajul imprimat acasa.

 

In afara de fabrica, unde (teoretic) poti realiza in multe straturi PCB-ul tau, presupunand ca il ai intr-un format oarecare CAD, il poti realiza si acasa in conditii decente. Spun teoretic intrucat nu o data, PcBoards mi-au facut balamuc ( trasee de 10 milsi care sunt intrerupte, gauri cu metalizare proasta, etc) pe placile 4 straturi cat si pe cele de 2 sau 1. Tipic romanesc pentru o groaza de bani.

 

Acasa poti face 1 strat in regim absolut profesional, iar 2 ( fata-verso ) depind de indemanarea si experienta ta.

 

Asadar, ai nevoie de urmatoarele :

 

- o imprimanta LASER cu toner bun, fara sa lase dare

- niste foi "gen" calc A4 ( industria tipografica )

- un spray BLACK COVER ( intaritor de negru din industria tipografica )

- un neon CHIOR de 20W cu tot dichisul ( starter, carcasa, etc )

- o bucata de geam de 6mm, putin mai mare decat A4

- niste soda caustica ( 1Kg iti ajunge toata viata plus sa omori cativa vecini )

- clorura ferica

- niste castroane din plastic

- bucati de cablaj fotosensibile ( Conex Electronic )

 

1. Printezi pe foaia de calc in MIRROR

 

2. Dai cu spray-ul tinand coala verical ( sa se poata scurge ) si apoi orizontal un strat subtire, cu pauze de uscare

 

3. Cureti geamul foarte bine de praf, fire de par, impuritati cu fas-fas din ala de sters geamurile

 

4. Scoate capacul de plastic al neonului, sa fie vizibil tubul, si aseaza smecheria pe jos ( pe o masa ) astfel ca lumina neonului sa radieze in sus

 

5. Asezi geamul peste neon, cu niste distantiere ( doua borcane, ceva )

 

6. De preferat noaptea sau intr-o camera obscura, dezlipesti folia de plastic protectiva de pe cablaj, asezi calc-ul pe geam cu partea imprimata IN SUS ( deci nu spre geam ), apoi asezi cablajul peste calc ( logic, cu partea fotosensibila in jos, spre calc ) si in final, peste cablaj pui o greutate sa presezi totul ( nu prea mare sa nu spargi geamul )

 

7. Distanta de la geam la neon sa nu fie mai mare de 10cm

 

8. Aprinzi neonul si cronometrezi 15 minute. In acest timp, razele UV emise de neon ( neon chior, nu UV, emite si ala stai linistit ) trec prin geam-ul de 6mm ( da, stiu ca geamul e gros si contine quartz deci retine UV dar o mare parte din UV trec ca prin branza oricum ) si apoi trec prin foaia de calc, doar prin zonele unde NU este tonner negru.

 

9. In alea 15 minute, iei 1L de apa calduta si dizolvi 2 lingurite de cristale de soda caustica. ATENTIE !!! Este foarte toxica, nu pune mana, fereste ochii, nu folosi linguritza inapoi la bucatarie, etc.

 

10. Dupa ce au trecut 15 minute, legi cablajul cu o bucata de sarma, nu pune mana pe partea expusa si il cufunzi in solutia de soda. Nu pleci de langa el, agiti usor placa in lichid si te uiti incontinuu pe partea expusa... traseele ar trebui sa apara in 1-2 minute ( depinde de concentratia de soda )

 

11. Nu speli placa, nu o stergi cu nimic, pur si simplu o introduci direct in clorura ferica si o lasi acolo la corodat. In 15 minute ar trebui sa fie gata, mai ales daca incalzesti usor clorura pe calorifer, si daca ea este noua. Verifici periodic daca placa s-a corodat.

 

12. Speli placa cu apa si o freci cu detergent pana apare cuprul.

 

Poate ti se pare complicat dar nu este, daca faci cateva probe inainte, nu ar trebui sa ai nici o problema. Daca doresti 2 straturi, expunerea se va face simultan, facand un sandwich intre doua geamuri de 6mm si desigur, iti trebuie 2 neoane.

 

Desemenea, trebuie sa potrivesti la mare arta cele 2 foi de calc pe cele doua fete de cablaj. Poti sa dai doua trei gauri de ghidaj de 0.8mm atat in placa cat si in calc-uri, urmand sa le ghidezi cu o mica sarmulitza.

 

Conexiunile intre straturi le vei face prin gauri de conexiune, in care lipesti o sarma si pe fata si pe verso. Deisgur, poti face oricate straturi doresti ( ca un sandwich ) dar in regim de casa nu prea ai cum sa faci conexiunile la straturile din mijloc, asa cum fabrica face gaurile metalizate (via-uri).

 

Sper ca te-am lamurit cat de cat,

 

Uite un exemplu de cablaj facut acasa, are 50 x 100 mm

http://yo3.hcv.ro/cablaje_codec.jpg

 

Eddy,

Link to comment
Share on other sites

S-au facut si experimente in C. Preferatul meu la capitolul asta e HandelC (http://www.celoxica.com) care extinde limbajul cu constructii specifice pentru hardware (blocuri paralele, canale de comunicatie, clock-uri samd). E realmente o placere sa lucrezi cu el, din pacate e scump bine. O alternativa este ImpulseC (http://www.impulsec.com) pe care nu l-am testat personal, doar m-am uitat peste el, ideea de lucru e extinderea compilatorului printr-o serie de directive personalizate tip #pragma ce folosesc la sinteza. Nu mi-a placut deloc la fel de mult ca HandelC. Ultima varianta pe care ocunosc este SystemC (http://www.systemc.org) care pleaca de la ideea folosirii unor librarii externe C++ pentru simulari hardware (din cate stiu se poate face si sinteza). Asta e de departe cel mai ciudat si cel mai greu de solosit, foloseste constructii avansate C++ care in cea mai mare parte din timp se pupa ca nuca in perete cu ce vrei tu sa faci.

Din punctul meu de vedere combinatia ideala este HandelC + Verilog sau VHDL pentru secventele critice ce trebuie optimizate la sange (exact cum in programare ai folosi un compilator de C si assembler pentru rutinele critice). Am folosit combinatia HandelC + VHDL si a functionat extrem de bine.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.






×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines