69
DSP sa FPGA Osnove Altera Cyclone II arhitekture Vladimir Rajović

DSP sa FPGA

  • 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

Page 1: DSP sa FPGA

DSP sa FPGA

Osnove Altera Cyclone II arhitekture

Vladimir Rajović

Page 2: DSP sa FPGA

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

Page 3: DSP sa FPGA

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

Page 4: DSP sa FPGA

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)

Page 5: DSP sa FPGA

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

Page 6: DSP sa FPGA

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

Page 7: DSP sa FPGA

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

Page 8: DSP sa FPGA

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.

Page 9: DSP sa FPGA

Cyclone II

Logički elementi (LE)

Page 10: DSP sa FPGA

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

Page 11: DSP sa FPGA

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

Page 12: DSP sa FPGA

Cyclone II: logički elementi (LE)

• Rad u normalnom modu

Page 13: DSP sa FPGA

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

Page 14: DSP sa FPGA

Cyclone II

Blokovi logičkog niza (LAB)

Page 15: DSP sa FPGA

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

Page 16: DSP sa FPGA

Cyclone II: blokovi logičkog niza (LAB)

Page 17: DSP sa FPGA

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

Page 18: DSP sa FPGA

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

Page 19: DSP sa FPGA

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

Page 20: DSP sa FPGA

Cyclone II

Linije za povezivanje redova i kolona

Page 21: DSP sa FPGA

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

Page 22: DSP sa FPGA

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!

Page 23: DSP sa FPGA

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

Page 24: DSP sa FPGA

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

Page 25: DSP sa FPGA

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

Page 26: DSP sa FPGA

Cyclone II: linije za povezivanje redova i kolona

R4 linije

Page 27: DSP sa FPGA

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

Page 28: DSP sa FPGA

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

Page 29: DSP sa FPGA

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

Page 30: DSP sa FPGA

Cyclone II: linije za povezivanje redova i kolona

• Registarski lanci omogućavaju povezivanje susednih LE u okviru jednog LABa

Page 31: DSP sa FPGA

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!)

Page 32: DSP sa FPGA

Cyclone II: linije za povezivanje redova i kolona

Page 33: DSP sa FPGA

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

Page 34: DSP sa FPGA

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

Page 35: DSP sa FPGA

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!

Page 36: DSP sa FPGA

Cyclone II

Taktovanje

Page 37: DSP sa FPGA

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

Page 38: DSP sa FPGA

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)

Page 39: DSP sa FPGA

taktni pinovi

taktni pinovi dvostruke namene

Page 40: DSP sa FPGA

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

Page 41: DSP sa FPGA

Cyclone II: taktovanje ovo se ne menja

Page 42: DSP sa FPGA

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

Page 43: DSP sa FPGA

Cyclone II: taktovanje

Takt za redove

Takt za U/I blokove na krajevima

redova

Takt za U/I blokove na krajevima

kolona

Page 44: DSP sa FPGA

Svaki red svoja dva razvoda

Page 45: DSP sa FPGA

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

Page 46: DSP sa FPGA

Cyclone II: PLL

povratni takt

referentni takt“pojačavač”

greške

detekcija zaključavanja petlje

izbor faze

Page 47: DSP sa FPGA

Cyclone II

Ugrađena memorija

Page 48: DSP sa FPGA

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

Page 49: DSP sa FPGA

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

Page 50: DSP sa FPGA

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

Page 51: DSP sa FPGA
Page 52: DSP sa FPGA

Cyclone II: ugrađena memorija

Page 53: DSP sa FPGA

Cyclone II: ugrađena memorija

Page 54: DSP sa FPGA

Cyclone II

Ugrađeni množači

Page 55: DSP sa FPGA

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

Page 56: DSP sa FPGA

Cyclone II: ugrađeni množači

ulazni registri

izlazni registar

množač

Page 57: DSP sa FPGA

greška

Page 58: DSP sa FPGA

Cyclone II

Ulazno-izlazne strukture

Page 59: DSP sa FPGA

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

Page 60: DSP sa FPGA

Ulazno-izlazni element (IOE)

Page 61: DSP sa FPGA

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)

Page 62: DSP sa FPGA

Povezivanje U-I blokova na krajevima

redova

Page 63: DSP sa FPGA

Povezivanje U-I blokova na krajevima

kolona

Page 64: DSP sa FPGA

Cyclone II: U-I strukture

• Put signala kroz IOB

Page 65: DSP sa FPGA

Cyclone II: U-I strukture

• Izbor kontrolnih signala za IOE

I nije neki izbor

Page 66: DSP sa FPGA

Programabilna kašnjenja

clear ili preset, na nivou IOE

Page 67: DSP sa FPGA

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

Page 68: DSP sa FPGA

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

Page 69: DSP sa FPGA

“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