Upload
tate
View
59
Download
2
Embed Size (px)
DESCRIPTION
DSP sa FPGA. Osnove Altera Cyclone II arhitektur e. Vladimir Rajovi ć. Cyclone II na jednom slajdu. Gustina pakovanja do 68416 logičkih elemenata (LE) Broj U/I korisnih pinova do 622 Do 1.1Mbit ugrađene memorije Do 150 18 x 18 množača 90nm tehnologija Napon napajanja 1.2V - PowerPoint PPT Presentation
Citation preview
DSP sa FPGA
Osnove Altera Cyclone II arhitekture
Vladimir Rajović
Cyclone II na jednom slajdu
• Gustina pakovanja do 68416 logičkih elemenata (LE)
• Broj U/I korisnih pinova do 622• Do 1.1Mbit ugrađene memorije• Do 150 18 x 18 množača• 90nm tehnologija• Napon napajanja 1.2V• Mogućnost komunikacije sa okolinom preko
velikog broja standarda
Cyclone II: Osnove arhitekture• Članovi Cyclone II familije sastoje se od
dvodimenzionalne arhitekture koja se sastoji od redova i kolona.
• blokovi logičkog niza (LAB), memorijski blokovi, množači i U/I blokovi povezani su različitim kategorijama linija za povezivanje redova i kolona
Cyclone II: Osnove arhitekture
• Logički niz sastoji se od Blokova logičkog niza (LAB), koji se pak sastoje od po 16 osnovnih logičkih elemenata (LE).
• LABovi su grupisani po redovima i kolonama.
• U okviru jedne komponente može postojati od 4608 do 68416 logičkih elemenata (LE)
Cyclone II: Osnove arhitekture
• Globalna mreža za taktovanje sastoji se od 16 globalnih linija za takt koje prolaze kroz celu komponentu
• Ove linije mogu se koristiti i za druge signale, ako je potrebno
• Četiri PLL bloka koji se nalaze u uglovima komponente omogućavaju generisanje potrebnih taktnih signala
Cyclone II: Osnove arhitekture
• Ugrađeni memorijski blokovi (M4K) su blokovi sa dva pristupa kapaciteta 4kb + bitovi za parnost (ukupno 4608b)
• Mogu raditi u režimima prave memorije sa dva pristupa, proste memorije sa dva pristupa, memorije sa jednim pristupom, ROM memorije, FIFO bafera i pomeračkog registra
• Maksimalna brzina rada ovih blokova je 260MHz• U okviru jedne komponente može biti od 119kb
do 1152kb ugrađene memorije
Cyclone II: Osnove arhitekture
• Svaki ugrađeni množač može se konfigurisati tako da radi kao dva 9x9b množača ili kao jedan 18x18b množač, na učestanosti do 250 MHz.
• Operandi mogu biti istog ili različitih znakova
Cyclone II: Osnove arhitekture
• Ulazno-izlazni blokovi podržavaju različite standarde, uključujući i diferencijalno signaliziranje.
• Podržani su na primer 66-MHz i 33-MHz, 64-bitni i 32-bitni PCI, PCI-X i LVDS.
• Ulazno-izlazni blokovi sadrže ulazno-izlazne elemente. Svaki ulazno-izlazni element sadrži bidirekcioni ulazno-izlazni bafer i tri registra: za ulazni signal, izlazni signal i signal dozvole izlaza.
• Moguće je povezati različite spoljašnje memorije, uključujući: DDR SDRAM, DDR2 SDRAM, SDRAM, i QDRII SRAM, sa maksimalnom učestanošću rada 167 MHz.
Cyclone II
Logički elementi (LE)
Cyclone II: logički elementi (LE)• Najmanja gradivna jedinica
LUT sa 4 ulaza za generisanje bilo
koje funkcije sa 4 promenljive
Programabilni registar
Veza na lanac za prenos
Veza na registarski lanac
Veze sa ostatkom komponente
Cyclone II: logički elementi (LE)Programabilni registar može
raditi kao JK, D, T i SR
LUT se može koristiti za kombinacionu funkciju, a registar za pomerački
registar, istovremeno
Jedan LE se povezuje sa lokalnim vezama u okviru istog LABa, linijama za povezivanje redova i linijama za povezivanje kolona, kao i direktnim vezama za levog i desnog suseda
Cyclone II: logički elementi (LE)
• Rad u normalnom modu
Cyclone II: logički elementi (LE)
• Rad u aritmetičkom modu (sabirači, brojači, akumulatori, komparatori)
Potpuni sabirač Register packing je
podržan iako nije prikazan
Softver može da automatski napravi lance
za prenos duže od 16 spajajući susedne LAB po
vertikali
Cyclone II
Blokovi logičkog niza (LAB)
Cyclone II: blokovi logičkog niza (LAB)
• Jedan LAB sastoji se od:– 16 logičkih elemenata– kontrolnih signala– lanaca signala prenosa– registarskih lanaca– lokalnih linija za povezivanje
• Lokalne linije za povezivanje prenose signale između LE u okviru istog LAB, dok registarski lanci povezuju registre u susednim LE
Cyclone II: blokovi logičkog niza (LAB)
Cyclone II: blokovi logičkog niza (LAB)
• Lokalne linije za povezivanje povezuju LE u okviru istog LABa.
• Sa druge strane, ove linije povezane su sa linijama za povezivanje redova i kolona, kao i sa linijama za direktno povezivanje sa susednim levim i desnim blokom (LAB, M4K, množač ili IOE)
Direktno povezivanje
Cyclone II: blokovi logičkog niza (LAB)
• LAB kontrolni signali sastoje se od:– dva takta– dve dozvole takta– dva signala za asinhrono brisanje– jednog signala za sinrono brisanje– jednog signala za sinhroni upis
Cyclone II: blokovi logičkog niza (LAB)
• Kontrolni signali formiraju se od 6 signala koji se prenose po globalnim linijama za taktove, kao i četiri signala koji stižu preko linija za lokalno povezivanje
Cyclone II
Linije za povezivanje redova i kolona
Cyclone II: linije za povezivanje redova i kolona
• Višestruke linije za povezivanje
• Tehnologija direktnog prosleđivanja– Determinističko rutiranje: obezbeđuje uvek
isto iskorišćenje resursa za povezivanje, bez obzira na poziciju unutar čipa
Cyclone II: linije za povezivanje redova i kolona
• Višestruke linije za povezivanje:– Povezivanje redova
• Direktne veze susednih blokova• R4 linije• R24 linije
– Povezivanje kolona• Registarski lanci• C4 linije• C16 linije
• Linije iste vrste su iste dužine, predvidljivost!
Cyclone II: linije za povezivanje redova i kolona
• Linije za povezivanje redova povezuju sve vrste blokova (LAB, PLL, M4K, množače) u istom redu– Direktne veze između susednih blokova– R4 linije se prostiru kroz četiri bloka na levo i
četiri bloka na desno u odnosu na izvorišni blok
– R24 linije se prostiru duž 24 bloka
Cyclone II: linije za povezivanje redova i kolona
• Linije za direktno povezivanje omogućavaju komunikaciju bloka sa svojim levim i desnim susedom (PLL samo sa jednim)
• Na ovaj način se štedi na resursima linija za povezivanje redova
Cyclone II: linije za povezivanje redova i kolona
• R4 linije prostiru se duž četiri bloka, levo i desno od izvorišnog LABa
• Brze veze u regionu od 4 bloka
• Svaki LAB ima svoj par R4 linija kojima šalje signale levo i desno
Cyclone II: linije za povezivanje redova i kolona
R4 linije
Cyclone II: linije za povezivanje redova i kolona
• Pored izvorišnog bloka, na levu R4 liniju može da šalje podatke i levi sused; analogno važi i za desnu R4 liniju
• R4 linija povezuje se sa drugim R4 linijama, povećavajući doseg linije
• R4 linije su takođe povezane sa R24, C4 i C16 linijama
Cyclone II: linije za povezivanje redova i kolona
• R24 linije prostiru se duž 24 bloka, i omogućavaju najbrže moguće povezivanje nesusednih blokova
• Ove linije se povezuju sa drugim linijama na svakom četvrtom bloku u redu
• R24 linije ne komuniciraju direktno sa blokovima komponente, već preko R4 i C4 linija
• Ove linije povezuju se sa R4, R24, C4 i C16 linijama
Cyclone II: linije za povezivanje redova i kolona
• Linije za povezivanje kolona povezuju blokove u istoj koloni– Registarski lanci u okviru jednog LABa– C4 linije se prostiru kroz četiri bloka na gore i
na dole u odnosu na izvorišni blok– C16 linije se prostiru kroz 16 blokova
Cyclone II: linije za povezivanje redova i kolona
• Registarski lanci omogućavaju povezivanje susednih LE u okviru jednog LABa
Cyclone II: linije za povezivanje redova i kolona
• C4 linije prostiru se duž četiri bloka, dole i gore, od izvorišnog LABa
• Brze veze u regionu od 4 bloka
• Svaki LAB ima svoj par C4 linija kojima šalje signale levo i desno (baš tako!)
Cyclone II: linije za povezivanje redova i kolona
Cyclone II: linije za povezivanje redova i kolona
• Pored izvorišnog bloka, na gornju C4 liniju može da šalje podatke i susedni blok; analogno važi i za donju C4 liniju
• C4 linija povezuje se sa drugim C4 linijama, povećavajući doseg linije
• C4 linije su takođe povezane sa R4, R24 i C16 linijama
Cyclone II: linije za povezivanje redova i kolona
• C16 linije prostiru se niz 16 blokova, i omogućavaju najbrže moguće povezivanje nesusednih blokova po vertikali
• Ove linije povezuju se sa drugim linijama na svakom četvrtom bloku u koloni
• C16 linije ne komuniciraju direktno sa blokovima komponente, već preko R4 i C4 linija
• Ove linije povezuju se sa R4, R24, C4 i C16 linijama
Cyclone II: linije za povezivanje redova i kolona
• Sve navedeno uglavnom važi, pored LABova, za sve ostale blokove.
• Smer signala treba uzeti u obzir, nisu sve veze dvosmerne!
Cyclone II
Taktovanje
Cyclone II: taktovanje
• 16 globalnih linija za taktovanje – do 16 taktova
• Do četiri fazno kontrolisane petlje (PLL)
• Mogućnost menjanja izvora takta
• Mogućnost zabrane / dozvole takta
Cyclone II: taktovanje
• Svaka linija za takt ima pripadajući blok za kontrolu takta, u kome se vrši izbor signala takta koji će pobuđivati liniju
• Signal takta može biti• Izlaz PLLa• CLK pinovi• DPCLK pinovi• Interna logika (ne mora da bude taktni signal)
taktni pinovi
taktni pinovi dvostruke namene
Cyclone II: taktovanje
• Ulazni signali u blok za kontrolu takta mogu biti:– Četiri CLK pina na istoj strani komponente– Tri PLL takta– Četiri DPCLK pina na istoj strani komponente– Četiri interna signala
Cyclone II: taktovanje ovo se ne menja
Cyclone II: taktovanje
• Globalne linije za takt se multipleksiraju i tako se formiraju 6-bitne magistrale taktova koje se razvode– po redovima– do U/I oblasti u kolonama– do U/I oblasti u redovima
• Na nivou LABa se 6-bitne linije dalje multipleksiraju na dve linije
Cyclone II: taktovanje
Takt za redove
Takt za U/I blokove na krajevima
redova
Takt za U/I blokove na krajevima
kolona
Svaki red svoja dva razvoda
Cyclone II: PLL
• Množenje i deljenje takta
m=1..32, n=1..4• Fazni pomeraj
– Rezolucija je jedna osmina periode naponski kontrolisanog oscilatora
• Menjanje faktora ispunjenosti• Do tri taktna izlaza• Jedan izlaz za vezu sa drugim čipovima preko pina
komponente• “Manuelna” promena takta za vreme rada komponente
Cyclone II: PLL
povratni takt
referentni takt“pojačavač”
greške
detekcija zaključavanja petlje
izbor faze
Cyclone II
Ugrađena memorija
Cyclone II: ugrađena memorija
• Kolone M4K blokova
• Ulazni registri za sinhronizaciju upisa
• Izlazni registri za protočne dizajne
• Izlazni registri mogu da se premoste, ulazni ne
Cyclone II: ugrađena memorija
• Implementacija različitih tipova memorija pomoću M4K blokova:– pravi RAM sa dva pristupa– prosti RAM sa dva pristupa– RAM sa jednim pristupom– ROM– FIFO bafer– pomerački registar
Cyclone II: ugrađena memorija
• Maksimalna brzina rada 260 MHz• Ukupno 4608b u jednom bloku• Konfiguracije:
– 4k x 1, 2k x 2, 1k x 4, 512 x 8, 512 x 9, 256 x 16, 256 x 18, 128 x 32, 128 x 36
• Svaki bajt ima svoj bit parnosti• Moguć je upis na nivou bajta za proizvoljnu
širinu reči• Dve memorijske komponente mogu se pakovati
u isti blok
Cyclone II: ugrađena memorija
Cyclone II: ugrađena memorija
Cyclone II
Ugrađeni množači
Cyclone II: ugrađeni množači
• Optimizovani za DSP funkcije sa mnogo množenja, na primer FIR filtre, FFT, DCT.
• Komponente u okviru familije imaju od jedne do tri kolone sa ugrađenim množačima
• Maksimalna brzina rada 250MHz• Dva moda rada:
– jedan 18 bitni množač– do dva nezavisna 9 bitna množača
Cyclone II: ugrađeni množači
ulazni registri
izlazni registar
množač
greška
Cyclone II
Ulazno-izlazne strukture
Cyclone II: U-I strukture
• Podržan veliki broj diferencijalnih i običnih standarda• Podržani su na primer 66-MHz i 33-MHz, 64-bitni i 32-
bitni PCI, PCI-X i LVDS. • Podrška za JTAG• Ograničenje izlazne struje (ZAŠTO?)• Sklopovi za držanje logičke vrednosti na liniji• Povezivanje različitih spoljašnjih memorija• Programabilna kašnjenja na ulazu i izlazu• Programabilni pulap otpornici• Izlazi sa otvorenim drejnom
Ulazno-izlazni element (IOE)
Cyclone II: U-I strukture
• IOE su grupisani u ulazno-izlazne blokove (IOB) na periferiji komponente
• U okviru IOBa koji se nalaze na krajevima redova nalazi se do pet IOE
• U okviru IOBa koji se nalaze na krajevima kolona nalazi se do četiri IOE (ovi IOB su fizički široki kao dve kolone)
Povezivanje U-I blokova na krajevima
redova
Povezivanje U-I blokova na krajevima
kolona
Cyclone II: U-I strukture
• Put signala kroz IOB
Cyclone II: U-I strukture
• Izbor kontrolnih signala za IOE
I nije neki izbor
Programabilna kašnjenja
clear ili preset, na nivou IOE
Cyclone II: U-I strukture
• Ulazno-izlazni pinovi komponenti su grupisani u U-I banke
• Svaka banka ima svoje posebno napajanje• Komponente podržavaju 1.5V, 1.8V, 2.5V i 3.3V
sprege, na različitim bankama u isto vreme mogu biti različiti naponski nivoi
• U okviru iste banke može se istovremeno po različitim ponovima komunicirati po različitim standardima, sve dok koriste isto napajanje
U-I Banke
Svaka banka ima svoje linije za
napajanje
Ista komponenta podržava 1.5V,
1.8V, 2.5V i 3.3V sprege, na svakoj
banci različito
“Naša” komponenta
• EP2C20F484C7N– 18752 logičkih elemenata– 52 M4K bloka (239616 bitova total)– 26 množača– 4 PLLa– Najviše 315 U/I pinova na raspolaganju
korisniku