Opţiuni de procesor pentru FPGA-uri (I)

by donpedro

Procesoarele şi FPGA-urile (field-programmable gate arrays) merg adesea mână în mână la proiectarea unui sistem. Acest lucru oferă inginerului flexibilitate atât în ceea ce priveşte software-ul cât şi hardware-ul. În 2002, Xilinx a adus împreună cele două dispozitive prin lansarea familiei sale Virtex II Pro.

de Tony Storey, Application Engineer, Digi-Key

Fiecare Virtex II Pro FPGA conţine nu unul, ci două microprocesoare seria PowerPC 400 implementate în logica hardware mai degrabă decât în porţile programabile. A fost o mutare vizionară ce a crescut flexi­bilitatea FPGA-ului, oferind o cale eficientă de a aduce software-ul în materialul programabil. Procesorul PowerPC poate furniza baza pentru construirea de maşini complexe sau pentru găzduirea de sisteme de operare în timp real. Acest lucru a permis existenţa unui subsistem independent într-un design mai mare.
Astăzi, densităţile FPGA sunt atât de mari, încât un singur dispozitiv poate fi inima unui sistem embedded complet. Aceste dispozitive suportă cu uşurinţă atât spaţiul, cât şi performanţele pentru procesor, memorie şi logică particularizată. Deşi un procesor cablat stând pe lângă materialul FPGA va lua mai puţin spaţiu pe pastila de siliciu, mulţi proiectanţi pun acum unul sau mai multe nuclee de procesor în logica programabilă pentru a beneficia de masiva flexibilitate.

În anii din urmă, realizatorii de FPGA-uri au stabilit pe scară largă arhitectura ARM ca aceea care să adopte procesoarele embedded cablate.
Microsemi a fost prima companie care a asigurat suport pentru arhitectura ARM pentru succesul FPGA. Arhitectura SmartFusion a companiei combină ARM Cortex-M3 cu materialul nevolatil FPGA bazat pe tehnologie flash. Acest lucru permite părţilor hardware ale sistemului să fie active imediat ce alimentarea revine, fără a mai fi nevoie să aştepte configurarea FPGA din ROM extern.
Înalt performantul Cortex-A9 formează inima a două familii mari de FPGA-uri, fiind lansat recent de Altera şi Xilinx. În ambele dispozitive Altera Cyclone SoC şi Xilinx Zynq există două procesoare ARM, permiţând dispozitivelor să fie utilizate ca motoare de calcul înalt performante.
După cum a adus Cortex-M3 pe piaţa FPGA, Microsemi a introdus cu succes un MCU ARM seria M pentru utilizare în logica programabilă standard. Optimizat pentru implementare în cadrul materialului progra­mabil al FPGA, Cortex-M1 este versiunea simplificată a Cortex-M3. Cortex M1 este proiectat pentru a nu necesita un spaţiu de plăcuţă de siliciu mai mare decât un nucleu de procesor 8051, în ciuda faptului că este bazat pe 32 de biţi şi nu pe 8 biţi.
Ca şi M3, M1 rulează setul de instrucţiuni Thumb2, dar cu îndepărtarea unor instrucţiuni şi caracteristici. Structura de întreruperi a M1 a fost simplificată pentru a economisi spaţiu; el suportă 32 de surse de întreruperi versus cele 256 ale M3.
Disponibilitatea uneltelor de dezvoltare open-source a ajutat la aducerea altor arhitecturi de nuclee de procesoare în FPGA-uri. Altera, Lattice şi Xilinx au propriile arhitecturi de procesoare precum RISC. Fiecare a fost optimizat pentru utilizare în materialul logicii programabile. Prin aducerea compilatoarelor lor şi a uneltelor de legături într-un mediu gratuit precum Eclipse, vânzătorii de FPGA-uri fac mai simplă trecerea de la o arhitectură standard la propria lor arhitectură.
Consideraţiile legate de licenţiere pot influenţa ce nucleu de procesor şi ce FPGA este dorit de un proiectant atunci când scopul proiectării tinde către o celulă standard ASIC. Unele software-uri de microcontrolere sunt licenţiate numai pentru utilizare cu dispozitivul FPGA al furnizorului. Acest lucru limitează posibilitatea proiectantului de a migra un proiect către un ASIC. Avantajul acestor nuclee MCU este acela că au un design şi mod de implementare cu suport complet; datorită acestui lucru este foarte simplă inserarea unui IP şi dezvoltarea ulterioară.

LatticeMico32 dispune de o modalitate de licenţiere mai flexibilă, ceea ce a ajutat la promovarea utilizării arhitecturii cu susţinătorii hardware-ului open-source. Lattice permite ca procesorul să fie utilizat în proiecte ce pot migra către ASIC-uri alimentate prin structuri independente sau chiar prin alte arhitecturi FPGA.
Proiectanţii nu trebuie să fie limitaţi la nucleele procesoarelor soft furnizate de vânzător. Având la bază arhitectura Sparc dezvoltată original de Sun Microsystems, acum parte a Oracle, familia de nuclee de procesoare Leon şi OpenRISC 1200 sunt blocuri IP open-source din surse independente.
Nucleele ocupă în mod tipic mai mult spaţiu decât LatticeMico32, Microblaze sau Nios – tipic de 1,5 până la 2 ori mai mare în termeni de elemente logice utilizate într-o arhitectură ce utilizează tabele de căutare convenţionale cu patru intrări – dar furnizează alternative flexibile la nucleele de procesoare furnizate de distribuitori.

Continuare în numărul următor.

Digi-Key Corporation
www.digikey.com

S-ar putea să vă placă și