Săptămâna #invatFPGA pe scurt (2)

Link-urile de săptămâna asta:

  • ca să nu uităm că blogul este în principal despre FPGA-uri primul link este un scurt clip despre istoria Xilinx. Producătorul meu preferat de FPGA-uri (care s-a rebranduit recent în  „an All Programable Technology company”, dar despre asta în detaliu într-un post viitor) a împlinit 30 ani. Deși știm cu toții cât de mult a evoluat electronica în ultimii 50 ani rămâi fascinat când vezi 30 ani derulați sub ochii tăi în 5 minute;
  • cine zicea ca nu există femei frumoase cu o contribuție în inginerie? Heddy Lamar, a avut o poveste de viață extrem de interesantă care include un rol de pionier în comunicațiile wireless așa cum le știm astăzi. Unii spun chiar că fără ea nu am fi avut internet wireless. Poate e prea mult, dar împreună cu un compozitor, a inventat în timpul celui de-Al Doilea Război Mondial tehnica frequency hopping. Fiind vorba de război tehnica a fost gândită ca o metodă sigură și simplă de comunicație care să fie greu de interceptat, interpretat sau bruiat de către inamici, întreaga poveste aici;
  • un articol scurt și la obiect despre ceea ce înseamnă programarea la un nivel jos, pentru oamenii care au experiență în Java, C#, etc și vor să se apuce de programare embedded;
  • Busul I2C este foarte folosit în intercomunicația dintre un microcontroller și diverse alte componente: senzori, EEPROM-uri, RTC-uri, controllere de motoare. Un articol bun cu tot ce trebuie să știi ca să-nțelegi cum funcționează găsești aici;
  • cea mai simplă metodă de-ați face acasă PCB-uri descrisă pas cu pas;
  • ok, ți-ai construit o plăcuță sau, poate chiar un sistem mai complex. Power-up- ul a mers bine, nu a luat foc totul da’ totuși lucrurile nu merg așa cum te-ai aștepta. Cum identifici problema? Poate o listă cu câțiva pași de urmat ar fi de folos.

Pasul doi

Ştim până acum că FPGA-urile sunt nişte componente minunate pe care noi le putem configura să facă cam ce vrem noi, dar cine le fabrică? Există două companii mari: Xilinx (care a şi făcut primul FPGA în 1985) şi Altera. Nu intru în detalii în legătură cu cauzele acestui cvasi-duopol, o explicaţie puteţi găsi aici. Pe lângă cele două mai există Lattice şi Actel (având împreună o cotă de piaţă de doar 12%). Ca să putem începe să lucrăm pe un FPGA, componenta în sine nu este suficientă, aici intervin aşa numitele development boards. Ele sunt nişte board-uri care au, pe lângă FPGA, o serie de alte componente astfel încât să putem implementa şi testa cam orice aplicaţie trăznită ne trece prin cap. Astfel, în mod uzual ele conţin: conectori pentru tastatura şi mouse, intrări şi ieşiri video şi audio, conector Ethernet, hub USB, CAD(convertor analogic-digital) şi CDA(convertor digital-analogic), diverse switch-uri şi led-uri, etc. Development board-urile sunt făcute de foarte multe firme, de la producătorii de FPGA (în general când apare un nou FPGA pe piaţă producătorul respectiv scoate şi un development board ce îl încorporează), la companii EDA, la mici producători.

Din multitudinea de board-uri de pe piaţă trebuie să alegem unul, alegere care implică şi alegerea FPGA-ului. Aşa că am început să caut pe internet diverse soluţii: Xilinx, Altera, etc până când pe poarta firmei unde lucrez a intrat Minunăţia*:

Altium NanoBoard 3000 este the engineering geek must have. Compararea NB3000 cu orice alt produs de genul ăsta este similară comparaţiei dintre un produs normal si un produs Apple (nu sunt un mare fan dar tre’ sa recunosc că în ceea ce priveşte designul, Apple nu prea are rival), de fapt şi Max este mega-încântat şi el are ceva ani  de FPGA şi ASIC în spate, şi nişte cărţi minunate dacă tot suntem aici :). NB3000 pe lângă faptul că are tot ce ţi-ai dori (toate tipurile de interfeţe imaginabile, 8Mbit flash, touchscreen LCD,  etc.) are şi un design remarcabil care te face să simţi că lucrezi la un proiect adevărat, nu într-un laborator echipat cu aparate din anii ’70, dacă ştiţi ce vreau să spun.  NB3000 este creaţia Altium şi vine alături de un soft cu ajutorul căruia să poţi începe proiectarea imediat, dar şi alături de o librărie remarcabilă de IP cores (IP cores-urile sunt porţiuni de design FPGA care pot fi incluse în proiectul tău, mai multe detalii pe măsură ce avansăm în FPGA design. Pentru acum, de reţinut este că de obicei ele costă, dar în cazul nostru vin odată cu NanoBoard-ul). Softul celor de la Altium este mai complex decât partea de FPGA, el integrând Schematic, PCB şi FPGA design, dar asta este o altă poveste despre care noi nu discutăm. Încă. 🙂

Altium oferă 3 variante: cu FPGA Xilinx Spartan-3AN, Altera Cyclone III sau LatticeECP2 şi poate fi comandat în România de aici. Eu am ales NanoBoard 3000XN, adică varianta cu Spartan, motivele pot fi deduse din începutul acestui post.

Urmează instalarea softului şi apoi putem începe.

*firma la care lucrez este value added reseller Altium în România.