Dom > Izložba > Sadržaj

Arhitektura polja za programiranje polja

Mar 11, 2019

Logički blokovi

Pojednostavnjena ilustrativna ilustracija logičke ćelije (LUT - Tabela za pretraživanje, FA - Full adder, DFF - flip-flop tipa D)

Najčešća FPGA arhitektura sastoji se od niza logičkih blokova, [bilješke 1] I / O jastučića i kanala za usmjeravanje. Općenito, svi kanali usmjeravanja imaju istu širinu (broj žica). Višestruki I / O jastučići mogu se uklopiti u visinu jednog reda ili širinu jednog stupca u nizu.


Aplikacioni krug mora biti mapiran u FPGA sa odgovarajućim resursima. Iako je potreban broj CLB-a / LAB-ova i I / O-a koji se zahtijevaju iz dizajna, broj potrebnih rutnih ruta može značajno varirati čak i među dizajnom s istom količinom logike.


Na primer, prekidač za prečku zahteva mnogo više rutiranja nego sistolički niz sa istim brojem kapija. Budući da neiskorišćene rute za putanje povećavaju troškove (i smanjuju performanse) dijela bez pružanja ikakve koristi, proizvođači FPGA pokušavaju pružiti dovoljno tragova tako da većina dizajna koji će stati u smislu preglednih tablica (LUTs) i I / Os mogu biti preusmjeren. To je određeno procjenama kao što su one izvedene iz Rentovog pravila ili eksperimentima s postojećim dizajnom. Od 2018. godine razvijaju se mrežne arhitekture za usmjeravanje i međusobno povezivanje.


U principu, logički blok se sastoji od nekoliko logičkih ćelija (nazvan ALM, LE, slice itd.). Tipična ćelija se sastoji od 4 ulaza LUT [vremenski okvir?], Potpunog sabirača (FA) i flip-flopa tipa D, kao što je prikazano gore. LUT-ovi su na ovoj slici podeljeni u dva LUT-a sa 3 ulaza. U normalnom režimu oni se kombinuju u 4 ulaza LUT kroz lijevi multiplekser (mux). U aritmetičkom režimu, njihovi izlazi se dovode do sabirača. Izbor režima je programiran u srednji MUX. Izlaz može biti sinhroni ili asinhroni, ovisno o programiranju mux-a desno, na slici. U praksi, ceo ili delovi sabirača se pohranjuju kao funkcije u LUT-ove kako bi se uštedio prostor.


Tvrdi blokovi

Moderne FPGA porodice proširuju gore navedene mogućnosti kako bi uključile viši nivo funkcionalnosti fiksiran u silicijumu. Imajući ove zajedničke funkcije ugrađene u krug smanjuje potrebnu površinu i daje tim funkcijama povećanu brzinu u usporedbi s njihovom izgradnjom iz logičkih primitiva. Primjeri za to su multiplikatori, generički DSP blokovi, ugrađeni procesori, I / O logika velike brzine i ugrađena sjećanja.


Viši FPGA uređaji mogu sadržavati više-gigabitne primopredajnike velike brzine i tvrde IP jezgre kao što su procesorske jezgre, Ethernet kontrolne jedinice za pristup medijima, PCI / PCI Express kontroleri i eksterni kontroleri memorije. Ove jezgre postoje uz programabilnu tkaninu, ali su izgrađene od tranzistora umjesto LUT-a tako da imaju performanse ASIC-a i potrošnju energije bez konzumiranja značajne količine tkanina, ostavljajući više materijala slobodnim za logiku specifičnu za aplikaciju. Multi-gigabitni primopredajnici takođe sadrže analogne ulaze i izlazne kola visokih performansi, kao i serijalizatore velike brzine i serijalizatore, komponente koje ne mogu biti izgrađene od LUT-ova. Funkcionalnost sloja na višem nivou PHY [definicija potrebna], kao što je linijsko kodiranje, može ili ne mora biti implementirana uz serijalizatore i deserializere u hard logici, u zavisnosti od FPGA.


Clocking

Većina strujnih krugova ugrađenih u FPGA je sinhrono kolo koje zahteva signal sata. FPGA-i sadrže posvećene globalne i regionalne mreže za usmjeravanje takta i resetiranja, tako da se mogu isporučiti uz minimalnu kosu. Takođe, FPGAs obično sadrže analogne fazno zaključane petlje i / ili komponente sa petljom sa zakašnjenjem i sintetiziraju nove frekvencije takta, kao i prigušenje. Složeni dizajni mogu koristiti više taktova s različitim frekvencijama i faznim odnosima, od kojih svaki formira odvojene satne domene. Ovi taktni signali mogu se generisati lokalno pomoću oscilatora ili se mogu povratiti iz brzog serijskog protoka podataka. Mora se voditi računa o izgradnji sklopova za ukrštanje satnog domena kako bi se izbjegla metastabilnost. FPGA obično sadrže blok RAM-ove koji su sposobni da rade kao dual port RAM-ovi sa različitim satovima, pomažući u izgradnji FIFO-a i dvostrukih portova koji povezuju različite vremenske domene.


3D arhitekture

Da bi smanjili veličinu i potrošnju energije FPGA, proizvođači kao što su Tabula i Xilinx uveli su 3D ili složene arhitekture. Nakon uvođenja svojih 28 nm FPGA uređaja, Xilinx je rekao da će nekoliko dijelova najveće gustoće u tim FPGA proizvodnim linijama biti izgrađeno koristeći višestruke alate u jednom paketu, koristeći tehnologiju razvijenu za 3D konstrukciju i sklopove slaganja.


Xilinx-ov pristup sjedinjuje nekoliko (tri ili četiri) aktivnih FPGA umre jedan pored drugog na silikonskom interposeru - jedan komad silikona koji nosi pasivno međupovezivanje. Konstrukcija višestrukih matrica također omogućava da se različiti dijelovi FPGA kreiraju s različitim procesnim tehnologijama, budući da se zahtjevi procesa razlikuju između same FPGA tkanine i vrlo brzih 28 Gbit / s serijskih primopredajnika. FPGA ugrađena na ovaj način naziva se heterogena FPGA.


Altera-in heterogeni pristup podrazumeva korišćenje jednog monolitnog FPGA umivaonika i povezivanje drugih tehnologija sa FPGA tehnologijom pomoću ugrađene inteligentne mostove (EMIB).