Embedded FPGA: Modificarea chipsurilor Way sunt proiectate

Achronix: Accelerating the Embedded FPGA Market (Mai 2019).

$config[ads_text] not found
Anonim

Embedded FPGA: Modificarea chipsurilor Way sunt proiectate


Aflați cum funcționează FPGA încorporate și ce avantaje le oferă.

Una dintre cele mai importante probleme cu care se confruntă designerii de cipuri este aceea de a reconfigura RTL în orice moment al procesului de proiectare, chiar și în sistem. Din păcate, designerii de cipuri nu au cum să știe dacă vor trebui să facă acest lucru până când va fi prea târziu. Orice schimbare la acel moment se termină cu costuri de milioane de dolari și întârzierea proiectelor cu luni.

Cu FPGA încorporat, această problemă dispare. Chip designerii pot merge în sfârșit într-un proiect știind că au flexibilitatea de a schimba RTL în orice moment în timpul proiectului, lucru care nu a fost posibil niciodată înainte.

Deoarece FPGA încorporat este o tehnologie nouă, vom evidenția mai întâi modul în care aceasta diferă de standardele FPGA, care au fost în jur de zeci de ani. În principiu, un FPGA încorporat este un bloc IP care permite un FPGA complet să fie încorporat într-un SoC sau orice alt tip de circuit integrat. La fel cum RAM, SERDES, PLL și procesoare au trecut de la chips-uri independente la blocuri IP de rutină, FPGA este acum și un bloc IP.

Un FPGA combină o serie de blocuri logice programabile / reconfigurabile într-o țesătură interconectabilă programabilă. Într-un chip FPGA, marginea exterioară a chip-ului constă dintr-o combinație de GPIO, SERDES și PHY specializate, cum ar fi DDR3 / 4. În cazul FPGA-urilor avansate, inelul I / O este de aproximativ 1/4 din cip, iar "țesătura" este de aproximativ 3/4 din cip. "Materialul" în sine este în mare parte interconectat în astăzi chips-uri FPGA în cazul în care 20-25% din suprafața țesăturii este logic programabil și 75-80% este programabil de interconectare.

Un FPGA încorporat este o țesătură FPGA fără inelul din jurul GPIO, SERDES și PHY. În schimb, un FPGA încorporat se conectează la restul chip-ului, folosind semnal digital digital, permițând interconectări foarte largi și foarte rapide pe chip.

În interiorul unui FPGA încorporat: blocurile primitive de construcție

Blocul logic programabil într-un FPGA este o tabelă de căutare (LUT) care poate implementa orice funcție booleană prin programare: 4, 5 sau 6 intrări cu unul sau două ieșiri.

În matricele Flex Logix EFLX, LUT este un dual LUT cu 4 intrări care poate fi combinat pentru a forma un LUT cu 5 intrări. Ieșirile LUT sunt opțional stocabile într-un flip-flop. LUT sunt în mod tipic grupate în grupuri de patru, cu logica de transport pentru a facilita adders și shifters.

Un alt bloc logic programabil este un bloc MAC (multiplicator-acumulator) sau DSP Accelerator.

În matricea Flex Logix EFLX există un pre-adder de 22 de biți, un multiplicator de 22x22 și un post-adder / acumulator pe 4 biți. MAC-urile pot fi combinate sau cascadate pentru a forma funcții rapide DSP.

Blocurile logice programabile sunt programate de biți de configurare care stabilesc valorile LUT-urilor, selectează dacă se folosesc flip-flop-uri, dacă se activează sau nu logica de transfer etc. Biti-urile de configurare programează de asemenea funcționarea MAC-urilor. De obicei, într-un FPGA, biții de configurare sunt încărcați de la un blitz extern.

Pentru FPGA încorporat, este același deoarece aproape toate SoC-urile au un ARM / ARC / MIPS / etc. procesor care este pornit de la bliț extern. Același bliț este utilizat pentru a stoca biții de configurare pentru blițul încorporat.

Blocurile logice programabile primesc intrări și trimit rezultate într-o rețea de interconectare care permite conexiunile să fie făcute programabil din și către orice blocuri logice din țesătura FPGA. Țesătura de interconectare este, de asemenea, programată de biți de configurare. Țesătura de interconectare este de obicei cea mai mare parte a țesăturii FPGA.

Un diferențiator major pentru FPGA-urile încorporate este designul țesăturii de interconectare. Cea mai bună interconectare utilizează mai puțină suprafață și mai puține straturi de metal, asigurând în același timp o utilizare ridicată a resurselor.

Spre deosebire de un cip FPGA, nu există PHYs / SERDES / PLLs într-un embedded FPGA. Există un inel de "I / O", dar este foarte simplu de interconectare digitală cu restul chipului. Un FPGA încorporat va avea sute până la mii de interconectări care pot rula la viteză maximă în interiorul cipului. Această creștere a lățimii de intrare / ieșire și a lățimii de bandă este un avantaj imens de încorporare a FPGA într-un cip.

În interiorul unui FPGA încorporat: construirea oricărei dimensiuni și configurarea array-ului

O complexitate este că clienții doresc o gamă largă de dimensiuni și configurații ale FPGA-urilor încorporate, iar toată lumea dorește ca blocul IP să fie dovedit în siliciu înainte de a-l folosi în chip.

De exemplu, în 16nm, un client ar putea dori doar câteva sute de LUT-uri de logică programabilă pentru o logică de control rapid reconfigurabil care rulează la ~ 1GHz; în timp ce un alt client din același proces ar putea dori 50K-100K LUT-uri pentru un accelerator de procesoare datacenter. Cum pot acești clienți să fie mulțumiți de cel mai mic număr de investiții de proiectare și timp de piață? ""

Fiecare miez IP de tip EFLX are un strat suplimentar superior de interconectare care permite unui singur nucleu să se conecteze automat la vecinii din jur pentru a face o matrice mare până la NxN.

Seturile EFLX-100 de până la 5x5 sau 3000 de LUT-uri (există, de fapt, 120 de LUT într-un EFLX-100).

EFLX-2.5K preia la 2500 LUT și arrays de până la 122.5K LUTs.

O matrice poate fi tot-logică sau tot-DSP sau orice amestec de cele două tipuri de nuclee, cum ar fi:

Este, de asemenea, posibilă încorporarea unor cantități mari de memorie RAM în matricea încorporată. Flex Logix face acest lucru prin utilizarea compilatoarelor standard RAM pentru a genera orice tip de memorie RAM pe care clientul o cere (port unic, port dual, ECC / paritate / niciunul, cât este de mult dorit) și poziționează memoria RAM între nuclee. RAM face parte dintr-o singură matrice EFLX.

Folosind abordarea de mai sus permite câteva nuclee IP pentru a genera o varietate aproape nelimitată de matrice FPGA încorporate pentru a se potrivi oricărei cerințe a clientului.

În interiorul unui FPGA încorporat: dovedirea blocurilor de construcție în siliciu

Flex Logix construiește cipuri de validare pentru a dovedi nucleul IP în siliciu. Mai jos este un exemplu în TSMC 40ULP.

În acest proces, există o gamă largă de combinații VT (mască de prag de tensiune) pe care le utilizează clienții, iar Flex Logix a proiectat matricea EFLX pentru a fi compatibilă cu toate combinațiile posibile. Deci, cipul de validare are cinci matrice: o matrice mare (4x4) în combinația VT cea mai solicitată și patru matrice 2x2 în celelalte patru dimensiuni.

Din moment ce matricele EFLX în 40nm pot funcționa până la 300MHz și GPIO este de încredere doar la ~ 150MHz, există un PLL on-chip pentru a genera ceasuri foarte rapide și precise pentru testarea performanțelor și există SRAM pentru a permite băncilor "vectori de testare "pentru a fi încărcate, apoi rulați la viteză maximă cu ieșire rezultate în altă bancă. Acest lucru oferă un "tester pe un cip", astfel încât funcționarea cu viteză maximă să poată fi verificată la viteze mai mari de GPIO. Există, de asemenea, monitoare pentru temperatură / tensiune pentru a se asigura că testele sunt efectuate în condițiile cele mai nefavorabile.

Concluzie

Embedded FPGA va schimba modul în care sunt proiectate chips-urile și SoC-urile în viitor. Designerii nu mai trebuie să fie blocați într-un proiect și trebuie să cheltuiască milioane de dolari pentru a schimba RTL dacă au nevoie. De asemenea, companiile nu mai trebuie să-și piardă programul, când trebuie să fie actualizate RTL. Cu FPGA încorporat, procesul de proiectare a chip-urilor a devenit mai ușor și mult mai ieftin.


Articolele din industrie reprezintă o formă de conținut care permite partenerilor din industrie să facă schimb de știri, mesaje și tehnologii utile cu cititorii Despre cititori, într-un mod în care conținutul editorial nu este adecvat. Toate articolele din industrie sunt supuse unor reguli editoriale stricte, cu intenția de a oferi cititorilor informații utile, expertiză tehnică sau povestiri. Punctele de vedere și opiniile exprimate în articolele din industrie sunt cele ale partenerului și nu neapărat cele ale lui All About Circuits sau ale scriitorilor săi.