Dom > Izložba > Sadržaj

Polje za programiranje vrata na terenu Arhitektura

Mar 11, 2019

Logički blokovi

Pojednostavnjena primjerna ilustracija logičke ćelije (LUT - Tablica 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 stati u visinu jednog retka ili širinu jednog stupca u nizu.


Aplikacijski krug mora biti mapiran u FPGA s odgovarajućim resursima. Iako je potreban broj CLB-a / LAB-ova i I / O-a koji se zahtijevaju iz dizajna, broj potrebnih staza za usmjeravanje može se značajno razlikovati čak i kod dizajna s istom količinom logike.


Na primjer, križni prekidač zahtijeva mnogo više usmjeravanja nego sistolički niz s istim brojem vrata. Budući da neiskorišteni tragovi usmjeravanja povećavaju cijenu (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 (LUT) i I / O 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.


Općenito, 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 toj slici podijeljeni u dva LUT-a s 3 ulaza. U normalnom načinu rada oni se kombiniraju u 4-ulazni LUT kroz lijevi multiplekser (mux). U aritmetičkom modu, njihovi izlazi se dovode do sabirača. Odabir moda je programiran u srednji MUX. Izlaz može biti sinkroni ili asinkroni, ovisno o programiranju muxa desno, na primjeru slike. U praksi, cijela ili dijelovi zbrajalice se pohranjuju kao funkcije u LUT-ove kako bi se uštedio prostor.


Tvrdi blokovi

Moderne FPGA obitelji proširuju gore navedene mogućnosti kako bi uključile višu razinu funkcionalnosti fiksiranu u siliciju. Postojanje tih zajedničkih funkcija ugrađenih u krug smanjuje potrebnu površinu i tim funkcijama daje veću brzinu u usporedbi s izgradnjom logičkih primitiva. Primjeri za to su množitelji, generički DSP blokovi, ugrađeni procesori, I / O logika velike brzine i ugrađena sjećanja.


Više FPGA uređaji mogu sadržavati više-gigabitne primopredajnike velike brzine i tvrde IP jezgre kao što su procesorska jezgra, Ethernet jedinice za kontrolu pristupa, PCI / PCI Express kontroleri i eksterni kontroleri memorije. Ove jezgre postoje uz programabilnu tkaninu, ali one su izgrađene od tranzistora umjesto LUT-a pa imaju performanse ASIC-a i potrošnju energije bez konzumiranja značajne količine tkanina, ostavljajući više tkanine slobodnom za logiku specifičnu za aplikaciju. Multi-gigabitni primopredajnici također sadrže visokoučinkovite analogne ulaze i izlazne strujne krugove zajedno s serijskim serizatorima velike brzine i deserializerima, komponente koje ne mogu biti izgrađene od LUT-ova. Funkcionalnost sloja na višoj razini PHY [definicija potrebna] kao što je linijsko kodiranje može ili ne mora biti implementirana uz serijalizatore i deserializere u tvrdoj logici, ovisno o FPGA.


takta

Većina sklopova ugrađenih u FPGA je sinkroni sklop koji zahtijeva signal sata. FPGA sadrže posvećene globalne i regionalne mreže za usmjeravanje takta i resetiranja, tako da se mogu isporučiti uz minimalno iskrivljenje. Također, FPGAs općenito sadrže analogni fazno zaključavanje petlje i / ili kašnjenje-zaključan petlje komponente za sintetizirati nove frekvencije takta, kao i prigušenje podrhtavanje. Složeni projekti mogu koristiti više taktova s različitim frekvencijama i faznim odnosima, od kojih svaki tvori zasebne satne domene. Ovi taktni signali mogu se generirati lokalno pomoću oscilatora ili se mogu povratiti iz serijskog brzog prijenosa podataka. Potrebno je paziti pri izgradnji kružnih strujnih krugova za vremensku domenu kako bi se izbjegla metastabilnost. FPGAs općenito sadrže blok RAM-ovi koji su sposobni raditi kao dual port RAMs s različitim satovima, aiding u izgradnji zgrade FIFOs i dual port buffers koji povezuju različite sat domene.


3D arhitekture

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


Xilinx pristup stacks nekoliko (tri ili četiri) aktivni FPGA umire side-by-side na silicij interposer - jedan komad silikona koji nosi pasivno povezivanje. Konstrukcija multi-die 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 FPGA same tkanine i vrlo velikih brzina 28 Gbit / s serijskih primopredajnika. FPGA izgrađen na ovaj način naziva se heterogeni FPGA.


Altera je heterogeni pristup uključuje korištenje jednog monolitnog FPGA umrijeti i povezivanje drugih umrijeti / tehnologije na FPGA koristeći Intelove ugrađene multi-die povezati most (EMIB) tehnologije.