Casa > Exposició > Contingut

Arranjament de portes programable per camps

Mar 11, 2019

Blocs de lògica

Il·lustració simplificada d’exemple d’una cel·la lògica (LUT - Taula de cerca, FA - Suministrador complet, DFF - Flip-flop de tipus D)

L'arquitectura FPGA més comuna consisteix en una matriu de blocs lògics, [nota 1] coixinets d'E / S i canals d'encaminament. En general, tots els canals d'encaminament tenen la mateixa amplada (nombre de cables). Pot ser que hi hagi múltiples coixinets d'E / S que es trobin a l'alçada d'una fila o de l'amplada d'una columna de la matriu.


S'ha de mapar un circuit d’aplicació en una FPGA amb recursos adequats. Mentre que el nombre de CLBs / LABs i E / S requerits es pot determinar fàcilment a partir del disseny, el nombre de pistes d’orientació necessàries pot variar considerablement fins i tot entre els dissenys amb la mateixa quantitat de lògica.


Per exemple, un interruptor de barra transversal requereix molt més enrutament que una matriu sistòlica amb el mateix compte de portes. Atès que les pistes d’encaminament no utilitzades augmenten el cost (i disminueixen el rendiment) de la peça sense proporcionar cap avantatge, els fabricants de FPGA intenten proporcionar pistes suficients perquè puguin ser la majoria de dissenys que s’adapti a les taules de cerca (LUT) i E / S. encaminats. Això es determina per estimacions com les derivades de la regla de Rent o per experiments amb dissenys existents. A partir de 2018, s'estan desenvolupant arquitectures de xarxa en xip per a l’encaminament i la interconnexió.


En general, un bloc lògic consisteix en unes quantes cel·les lògiques (anomenades ALM, LE, slice etc.). Una cel·la típica consisteix en un LUT de 4 entrades [temps?], Un sumador complet (FA) i un flip-flop de tipus D, com es mostra a dalt. Els LUT es troben en aquesta figura dividits en dos LUT de 3 entrades. En mode normal, es combinen en un LUT de 4 entrades a través del multiplexor esquerre (mux). En mode aritmètic, les seves sortides s’introdueixen al sumador. La selecció del mode està programada al MUX mig. La sortida pot ser sincrònica o asíncrona, depenent de la programació del mux a la dreta, a l'exemple de la figura. A la pràctica, les parts senceres de l’adductor s’emmagatzemen com a funcions a les LUT per estalviar espai.


Blocs durs

Les famoses famílies FPGA amplien les capacitats anteriors per incloure funcionalitats de nivell superior fixades en silici. Tenir aquestes funcions comunes incrustades al circuit redueix la superfície necessària i proporciona a aquestes funcions una velocitat més gran en comparació amb la seva construcció a partir de primitives lògiques. Alguns exemples d’aquests inclouen multiplicadors, blocs DSP genèrics, processadors incrustats, lògica d’E / S d’alta velocitat i memòries incrustades.


Les FPGA de major rendiment poden contenir transceptors multi-gigabit d'alta velocitat i nuclis durs IP com nuclis de processador, unitats de control d'accés mitjà Ethernet, controladors PCI / PCI Express i controladors de memòria externs. Aquests nuclis existeixen al costat del teixit programable, però es construeixen a partir de transistors en lloc de LUT, de manera que tenen un rendiment de nivell ASIC i un consum d'energia sense consumir una quantitat significativa de recursos de tela, deixant més del teixit lliure per a la lògica específica de l'aplicació. Els transceptors multi-gigabit també contenen circuits d’entrada i sortida analògics d’alt rendiment juntament amb els serialitzadors d’alta velocitat i els deserialitzadors, components que no es poden construir amb LUT. La funcionalitat de capa de nivell PHY de major nivell, com ara la codificació de línies, pot o no ser implementada al costat dels serialitzadors i deserialitzadors en lògica dura, depenent de la FPGA.


Rellotge

La majoria dels circuits construïts a l'interior d'una FPGA són circuits sincrònics que requereixen un senyal de rellotge. Les FPGA contenen xarxes d’encaminament globals i regionals dedicades per al rellotge i el restabliment, de manera que es poden lliurar amb una inclinació mínima. A més, les FPGA generalment contenen components analògics de bucle en fase i / o bucles de retard per sintetitzar noves freqüències de rellotge i atenuar la fluctuació. Els dissenys complexos poden utilitzar múltiples rellotges amb diferents relacions de freqüència i fase, formant cadascun d'ells dominis de rellotge separats. Aquests senyals de rellotge poden ser generats localment per un oscil·lador o es poden recuperar a partir d’un flux de dades en sèrie d’alta velocitat. S'ha de tenir cura en construir un circuit de creuament del domini del rellotge per evitar la metastabilitat. Els FPGA generalment contenen memòries RAM de memòria capaç de funcionar com a RAM de doble port amb diferents rellotges, ajudant a la construcció de FIFOs i memòries intermèdies de doble port que connectin diferents dominis de rellotge.


Arquitectures en 3D

Per reduir la mida i el consum d'energia de FPGA, els proveïdors com Tabula i Xilinx han introduït arquitectures 3D o apilades. Després de la introducció de les seves FPGAs de set sèries de 28 nm, Xilinx va dir que diverses de les parts de més alta densitat en aquestes línies de productes FPGA es construiran utilitzant múltiples matrius en un sol paquet, emprant tecnologia desenvolupada per a la construcció 3D i muntatges apilats.


L’aproximació de Xilinx apila diversos (tres o quatre) FPGA actius que moren junts al costat d’un interpositor de silici: una sola peça de silici que porta interconnexió passiva. La construcció de múltiples matrius també permet crear diferents parts de la FPGA amb diferents tecnologies de procés, ja que els requisits del procés són diferents entre el propi teixit FPGA i els transceptors sèrie de 28 Gbit / s de molt alta velocitat. Una FPGA d'aquesta manera s’anomena FPGA heterogènia.


L’aproximació heterogènia d’Altera implica l’ús d’un únic die monolític FPGA i la connexió d’unes altres tecnologies amb la FPGA amb la tecnologia de pont d’interconnexió (EMIB) de Intel.