Dom > Razstava > Vsebine

Polje s programirljivimi vrati Arhitektura

Mar 11, 2019

Logični bloki

Poenostavljeni primer logične celice (LUT - pregledna tabela, FA - polni seštevalnik, DFF - flip-flop tipa D)

Najpogostejša FPGA arhitektura je sestavljena iz niza logičnih blokov, [opomba 1] I / O blazinic in usmerjevalnih kanalov. Na splošno imajo vsi usmerjevalni kanali enako širino (število žic). Več I / O blazinic se lahko prilega višini ene vrstice ali širini enega stolpca v matriki.


Aplikacijsko vezje mora biti preslikano v FPGA z ustreznimi viri. Medtem ko je potrebno število CLB / LAB in I / O, ki se zahtevajo, je mogoče zlahka določiti iz zasnove, se lahko število potrebnih poti usmerjanja bistveno razlikuje tudi pri modelih z enako količino logike.


Na primer, stikalo za prečko zahteva veliko več poti kot sistolični niz z istim številom vrat. Ker neuporabljene usmerjevalne poti povečujejo stroške (in zmanjšujejo zmogljivost) dela brez kakršne koli koristi, proizvajalci FPGA poskušajo zagotoviti ravno dovolj skladb, tako da je večina modelov, ki bodo ustrezali preglednim tabelam (LUT) in I / O, lahko preusmerjen. To določajo ocene, kot so tiste, ki izhajajo iz pravila o najemu ali poskusov z obstoječimi modeli. Od leta 2018 se razvijajo omrežne arhitekture za usmerjanje in medsebojno povezovanje.


Na splošno je logični blok sestavljen iz nekaj logičnih celic (imenovanih ALM, LE, rezina itd.). Tipična celica je sestavljena iz 4-vhodnega LUT [časovnega okvira?], Polnega seštevalnika (FA) in flip-flopa tipa D, kot je prikazano zgoraj. Na tej sliki so LUT razdeljeni na dva LUT-a s 3 vnosi. V običajnem načinu se levi združijo v 4-vhodni LUT preko levega multipleksorja (mux). V aritmetičnem načinu se njihovi izhodi napajajo do seštevalnika. Izbira načina je programirana v srednji MUX. Izhod je lahko sinhroni ali asinhroni, odvisno od programiranja MUX na desni, na sliki. V praksi se celotni ali deli seštevalnika shranijo kot funkcije v LUT, da bi prihranili prostor.


Trdi bloki

Sodobne družine FPGA razširijo zgoraj navedene zmožnosti, da vključijo višjo raven funkcionalnosti, ki je fiksirana v siliciju. S temi skupnimi funkcijami, ki so vgrajene v vezje, se zmanjša zahtevano območje in se tem funkcijam poveča hitrost v primerjavi z gradnjo logičnih primitivov. Primeri za to so množitelji, generični bloki DSP, vgrajeni procesorji, logika vhodnih / izhodnih hitrosti in vgrajeni pomnilniki.


Višji konec FPGA-jev lahko vsebuje hitre več-gigabitne oddajnike in trde jedra IP, kot so procesorska jedra, enote za nadzor dostopa Ethernet, krmilniki PCI / PCI Express in zunanji krmilniki pomnilnika. Ta jedra obstajajo poleg programabilne tkanine, vendar so zgrajena iz tranzistorjev namesto LUT-jev, zato imajo zmogljivost ASIC in porabo energije, ne da bi porabili veliko količino tkanin, kar pomeni, da je večji del tkanine prost za logiko aplikacije. Večgigabitni oddajniki vsebujejo tudi visoko zmogljivo analogno vhodno in izhodno vezje skupaj s hitrimi serijalizatorji in deserializerji, komponentami, ki jih ni mogoče izdelati iz LUT-ov. Funkcionalna plast višje ravni PHY [definicija potrebna], kot je linijsko kodiranje, se lahko izvaja ali pa tudi ne izvaja skupaj s serijalizatorji in deserializatorji v trdi logiki, odvisno od FPGA.


Ura

Večina vezij, zgrajenih znotraj FPGA, je sinhrono vezje, ki zahteva signal ure. FPGA vsebujejo namenske globalne in regionalne usmerjevalne mreže za ure in ponastavitev, tako da jih je mogoče dostaviti z minimalno asimetrijo. Prav tako FPGAs običajno vsebujejo analogno fazno zaklenjene zanke in / ali komponente z zanko zaklenjene zanke za sintetiziranje novih taktnih frekvenc kot tudi oslabitev trepetanja. Kompleksni načrti lahko uporabljajo več ur z različnimi frekvenčnimi in faznimi razmerji, od katerih vsak oblikuje ločene ure. Te ukaze se lahko generirajo lokalno z oscilatorjem ali pa jih je mogoče obnoviti iz hitrega serijskega podatkovnega toka. Paziti je treba pri gradnji vezja za prehod urne domene, da bi se izognili metastabilnosti. FPGA-ji na splošno vsebujejo blok RAM-e, ki so sposobni delati kot dvojno pristanišče RAM-ov z različnimi urami, pomagati pri gradnji FIFO-jev in dvojnih vmesnih pomnilnikov, ki povezujejo različne ure ure.


3D arhitekture

Da bi zmanjšali velikost in porabo energije FPGA, so proizvajalci, kot sta Tabula in Xilinx, uvedli 3D ali zložene arhitekture. Po uvedbi svojih 28 nm 7-serijskih FPGA, je Xilinx dejal, da bodo nekateri deli z najvišjo gostoto v teh proizvodnih linijah FPGA izdelani z uporabo več orodij v enem paketu, pri čemer bodo uporabljali tehnologijo, razvito za 3D konstrukcijo in zložene matrice.


Pristop Xilinxa je več (tri ali štiri) aktivnih FPGA umre ob strani na silicijevem vmesniku - en kos silicija, ki nosi pasivno povezavo. Konstrukcija multi-die omogoča tudi izdelavo različnih delov FPGA z različnimi procesnimi tehnologijami, saj so procesne zahteve različne med FPGA tkanino in zelo visokimi hitrostmi 28 Gbit / s serijskimi sprejemniki. FPGA zgrajena na ta način se imenuje heterogena FPGA.


Heterogeni pristop podjetja Altera vključuje uporabo ene monolitne FPGA plošče in povezovanje drugih tehnologij z FPGA z uporabo vgrajene tehnologije EMIB.