Programabilna digitalna kola
description
Transcript of Programabilna digitalna kola
Programabilna digitalna kola
Arhitektura mikrosistema
Klasifikacija IC
ASIC
PLD
IC
IC po narudzbi
IC fiksne funkcije
(npr. serija 7400)
SPLD CPLD FPGAIC “potpuno po narudzbi”
Standardne celije
Gejtovska polja
Standardna IC
PLA PAL ROM
Povecanje slozenostiPovecanje slozenosti
IC projektovana za datu primenu
Arhitektura mikrosistema
Full-Custom ASIC Projektovanje do nivoa layout-a
Vremenski zahtveno Mogućnost postizanja visokih
performansi Projekat IC-a se dostavlja fabrici
poluprovodnika gde se IC fabrikuje
Skupa tehnologija (visoki fiksni, početni troškovi)
Tipičan projekat traje više meseci
Arhitektura mikrosistema
Standard-cell ASIC IC se konstruiše od pred-
projektovanih modula (standardnih ćelija)
Standardne ćelije se projektuju u full-custom tehn. (neko drugi ih projektuje)
Manji rizik i ušteda u vremenu Postoji i veće ćelije
(mikroprocesori i sl. - tzv. hard-cores)
Arhitektura mikrosistema
Standard-cell ASIC Ćelija (različitih dužina) se kao cigle u zidu
raspoređuju u redove Većina veza prolazi kroz kanale između redova,
mada neke ćelije mogu služiti kao prolazi između redova
Arhitektura mikrosistema
Gate-Array ASIC IC je delimično fabrikovano (ćelije, napajanje ćelija i sl.) Kada se projekat IC-a dostavi fabrici, IC se dorađuje
nanošenjem slojevi metala (radi povezivanja tranzistora) Smanjeno vreme fabrikacije Niži troškovi
Arhitektura mikrosistema
PLD Standardna IC, dostupna u standardnim
pakovanjima i proizvedena u velikim serijama Mogućnost konfigurisanja/programiranja radi
realizacije specijalizovanog kola
Arhitektura mikrosistema
PLD Klasifikacija:
SPLD (Simple PLD): PLA + PAL + ROM CPLD (Complex PLD) FPGA (Field-Programmable Gate Array)
Arhitektura mikrosistema
PLA Bolova algebra: Svaka logička
funkcija se može predstaviti u vidu zbira logičkih proizvoda. Npr.
f1 = x1’x2x3’ + x2x4’ + x1x4
PLA: dve programabilne mreže: AND – realizuje logičke proizvode OR – sumira logičke proizvode
Ulazni baferi i invertori
x1 x2 xn
...
...AND mreža
x1 x1` xn xn`
OR mreža
P1
Pk
...f1 fm
Arhitektura mikrosistema
PLA (unutrašnja struktura)
f1= x1x2 + x1x3` + x1`x2`x3. f2 = x1x2 + x1`x2`x3 + x1x3
x3x2x1
f1 f2
P1
P2
P3
P4
AND mreža
OR mreža
Programabilneveze
x3x2x1
P1
P2
P3
P4
f1 f2
OR mreža
AND mreža
Simbolički prikaz
Arhitektura mikrosistema
PAL AND mreža programabilna, OR mreža fiksna
x3x2x1
P1
P2
P3
P4
f1
f2
AND mreža
f1 = x1x2x3` + x1`x2x3 f2 = x1`x2` + x1x2x3
Arhitektura mikrosistema
ROM AND mreža fiksna, OR mreža
programabilna AND matrica ima funkciju
binaranog dekodera n/2n
(generator minterma) Mogućnost realizacije proizvoljen
funkcije n promenljvih
x3x2x1
x1x2x3
f1 f2
OR mreža
AND mreža
x1x2x3
x1x2x3
x1x2x3
x1x2x3
x1x2x3
x1x2x3
x1x2x3
Arhitektura mikrosistema
PAL 16L8 (kombinacioni izlazi)
Arhitektura mikrosistema
Programiranje SPLD kola
Tip PLD kola = jjj
Izvorna PLD datoteka
CAD alat
Datoteka za programiranje
Baza PLD komponenti
Neprogramirana komponenta
Programirana komponenta
Programator
Arhitektura mikrosistema
CPLD Sadrži više logičkih
blokova (PAL ili PLA strukture) međusobno povezanih programabilnom prekidačkom matricom.
U/I blokovi za spregu sa pinovima kola.
Programabilni logički blok
Programabilni logički blok
Programabilni logički blok
Programabilni logički blok
Programabilna prekidačka mreža
... ...
... ...
U/I
blo
k
...
U/I
blo
k
...
U/I
blo
k
...
U/I
blo
k
...
Arhitektura mikrosistema
FPGA PLD kola najvećeg logičkog
kapaciteta (od 10K do 1M ekvivalentnih gejtva)
Zasnovani na logičkim blokovima (a ne na prekidačkim mrežama)
Dodatno sadrže ugrađenu RAM memoriju i specijalizovane module, kao što su množači, komunikacioni kontroleri i sl.
Omogućavaju realizaciju sistema na čipu (zasnovanih na mikroprocesoru)
U/I
blok
U/I
blok
U/I blok
U/I blok
Logicki blok Programabilni prekidaci
Arhitektura mikrosistema
FPGA (logički blok) Logički blok:
LUT - univerzalni logički blok sa malim brojem ulaza (n = 4-6) i jednim izlazom.
Realizuje se kao RAM 2nx1. Sadržaj RAM-a definiše logičku funkciju.
0/1
0/1
0/1
0/1
x1
x2
f
Dvoulazni LUT – može da realizuje proizvoljnu
funkciju dve promenljive
Arhitektura mikrosistema
FPGA (LUT – realizacija funkcije)
x1 x2 f1
0 0 1
0 1 0
1 0 0
1 1 1
1
0
0
1
x1
x2
f
Arhitektura mikrosistema
FPGA (realizacija složenijih funkcija)
0001
0100
x1
x2
f1
0111
x2
x3
f1
f2
f2
f
x1
x2
x3 f
f = f1 + f2 = x1x2 + x2’x3.
Arhitektura mikrosistema
ASIC vs. FPGAVisoki troškovi pripreme proizvodnje za ASIC dizajn
Arhitektura mikrosistema
ASIC v.s. FPGA
Arhitektura mikrosistema
ASIC vs. FPGAFPGA: Skraćeno vreme projektovanja i realizacije
Arhitektura mikrosistema
Time-to-Market !
Novi proizvodi brže dostižu masovnu proizvodnju i kraće vreme ostaju na tržištu
Arhitektura mikrosistema
Novi projekti
Arhitektura mikrosistema
ASIC v.s. PLD
Arhitektura mikrosistema
Proizvođači
Arhitektura mikrosistema
Logički kapacitet FPGA kola
Arhitektura mikrosistema
Evolucija FPGA kola
Arhitektura mikrosistema
Savrmene FPGA arhitekture
Arhitektura mikrosistema
Programabilni prekidač - ključni element PLD kola
Arhitektura mikrosistema
Tehnologije programiranja
Volatile = Nepostojanost
Arhitektura mikrosistema
˝Floating_Gate˝ tehnologija Postojanost, reprogramabilnost Primena kod SPLD, CPLD
Arhitektura mikrosistema
SRAM tehnologija Nepostojanost, reprogramabilnost
Read or Write
Data
Configuration Memory Cell
Routing Connections
Arhitektura mikrosistema
SRAM tehnologija Pass tranzistor +
SRAM ćelija Multiplekser +
SRAM ćelija(e)
Arhitektura mikrosistema
Antifuze Sturktura: provodnik-dijalektrik-provodnik Programiranjem postaje permanentni spoj
Arhitektura mikrosistema
Programiranje ˝izvan sistema˝ - SPLD
Neprogramirana komponenta
Programirana komponenta
Programator
Arhitektura mikrosistema
Programiranje ˝u sistemu˝ - CPLD/FPGA
Ka računaru
Štampanaploča
CPLD čip
Arhitektura mikrosistema
Programiranje FPGA kola zasnovanih na SRAM tehnologiji
Arhitektura mikrosistema
CPLD CPLD = Complex PLD CPLD = više SPLD blokova na jednom čipu
Arhitektura mikrosistema
Tipična savremena CPLD komponeta(Altera MAX7128) Ekvivalent 13 PAL
komponenti na jednom čipu
Reprogramabilnost 128 flip-flopova ili
funkcionalnih blokova
Cena 10$
Arhitektura mikrosistema
CPLD Arhitektura
U/I blok
Funkcionalni blok
Mreža za povezivanje
Arhitektura mikrosistema
Altera MAX 7000
Arhitektura mikrosistema
Altera MAX 7000 - Makroćelija
D Q ENA
MUX 2
MUX 2
MUX 1
LOGICKI ALOKATOR
LOGIČKO POLJE
PRN
CLRN
VCC
PROGRAMABILNI FLIPFLOP
GLOBALNI RESET
GLOBALNI TAKT
ka PIA-i
ka U/I Bloku
PIA
Deljivi ekspanderi
Paralelni ekspanderi
(iz drugih makroćelija)
Arhitektura mikrosistema
Primena CPLD kola Pogodni za sisteme koje karakteriše složene logičke
funkcije sa malim brojem flip-flopova Konačni automati, Kontroleri
Zamena većeg broja SPLD kola jednim CPLD kolom
Sprežna logika (glue logic) Prototipovi jednostavinh ASIC kola Predvidljiv tajming
Arhitektura mikrosistema
Proizvođači
Proizvođač Familija(e) URL
Altera MAX 7000MAX 9000
www.altera.com
Lattice ispLSIMACH
www.latticesemic.com
Atmel ATFATV
www.atmel.com
Xilinx XC9500CoolRunner
www.xilinx.com
Arhitektura mikrosistema
FPGA FPGA = Field Programmable
Gate Arrays (gejtovska polja koja se programiraju ˝na terenu˝, tj. od strane krajnjeg korisnika)
Po strukturi sličnija ASIC gejtovskim poljima nego PAL-u i dugim SPLD ili CPLD kolima, zasnovanim na programabilnim AND/OR matricama.
Arhitektura mikrosistema
SPLD - FPGA - ASIC
FPGAXilinx ‘84
Visok stepen konfigurabilnosti, kratko vreme projektovanja i implementacije, ali samo za
jednostavan dizajn
Veliki i složen dizajn, ali nepromenljiva nakon fabrikacije,
skupo i dugotrajno projektovanje i fabrikacija
Arhitektura mikrosistema
Prva FPGA kola CMOS i SRAM tehnologija 3-ulazni LUT + FF + MUX
Savremena FPGA kola su mnogo složenija
Arhitektura mikrosistema
FPGA arhitektura Konfigurabilni
logički blokovi, raspoređeni u dvodimenziono polje
U/I blokovi, raspoređeni po obodu kola
Programabilna sprežna mreža smeštena u kanalima između logičkih blokova
Arhitektura mikrosistema
Granularnost FPGA arhitekture Odnosi se na složenost logičkog bloka
Fina - samo jednostavne funkcije (npr. 3-ulazni NAND) Srednja - složenija struktura i funkcionalnost (npr. 4-
ulazni LUT, 4 MUX, 4 D FF u jednom bloku) Gruba - pored logičkih blokova arhitektura sadrži i
namenske specijalizovane module, npr. FFT, mikroprocesor.
Sredinom 90-tih, ahitekture srednje granularnosti su potisnule arhitekture fine granularnosti
Arhitektura mikrosistema
Nizovi tranzistorskih parovaFPGA CP20K firme Crosspoint Solutions Fina granularnost
Arhitektura mikrosistema
Logički blokovi zasnovani na multiple-kserima - srednji nivo granularnosti
Svaki ulaz se može porogramiranjem postaviti na konstantu 0 ili 1, ili se na
ulaz može dovesti prava ili invertovana vrednost promenljive
Arhitektura mikrosistema
Logički blok Actel FPGA iz serije ACT 2 766 različitih logičkih funkcija Veća funkcionanost po cenu povećanja broja ulaza ->
složenija sprežna mreža
Arhitektura mikrosistema
Logički blokovi zasnovani na LUT - srednji nivo granularnosti Većina savremenih FPGA koristi LUT-ove
Arhitektura mikrosistema
Logički blokovi zasnovani na LUT LUT sa 3, 4, 5 i 6 ulaza
Jedan ulaz više, broj ćelija duplo veći 4-LUT se smatra optimalnim
LUT može imati više namena Relizacija logičke funkcije (osnovna
namena) 16x1 RAM (za 4-LUT) Pomerački registar
Arhitektura mikrosistema
Logički blokovi zasnovani na LUT
Bilo koja od nekoliko funkcija
Arhitektura mikrosistema
Logički blok FPGA Xilinx XC4000
Arhitektura mikrosistema
Hijerarhija Osnovni blok:
Xilinx - Logička ćelija (LC) Altera - Logički blok (LB)
Slice - 2 LC Svaki LC ima svoje ulaze i izlaze,
dok su clock, clock enable, set/reset - zajednički za oba LC.
CLB (Configurable Logic Block) - Xilinx ili LAB (Logic Block Array) - Altera 2 ili 4 slices
Arhitektura mikrosistema
Sprežna mreža
Sprežna mreža:
• Žičani segmenti +
• Programabilni prekidači
Arhitektura mikrosistema
Sprežna mreža - struktura
Connection block - sprega logičkog bloka na srežnu mrežu Switching block - nadovezivanje žičanih segmenata
Arhitektura mikrosistema
Sprežna mreža Žičani segment -
neprekinuta veza završena prekidačima
Traka - niz od jednog ili više žičanih segmenata
Kanal za rutiranje - grupa paralelnih traka
Blok za povezivanje - omogućava vezu jednog ulaza/izlaza logičkog bloka i žičanog segmenta u kanalu
Arhitektura mikrosistema
Sprežna mreža Prekidački blok -
omogućava spajanje horizontalnih i vertikalnih veza
Arhitektura mikrosistema
Sprežna mreže - žičani segmenti
Arhitektura mikrosistema
Ugrađeni RAM (Embedded RAM, ili e-RAM) RAM je nephodan u mnogim aplikacijama. Dve mogućnosti za realizaciju RAM-a:
Distribuirani RAM - koristi se LUT-ovi konfigurisani kao RAM
Blok RAM - namenski RAM moduli ugrađeni u FPGA arhitekturu (tzv. embedded RAM)
Arhitektura mikrosistema
Ugrađeni RAM
Blokovi se mogu koristiti nezavisno ili se mogu kombinovati u veće single/dual port RAM blokove, FIFO, FSM i td.
Kod nekih FPGA raspoređeni po obodu čipa, kod drugih grupisani u blokove, a oni u kolone
Blok kapaciteta do 10Kb, a ukupna memorije do nekoliko MB
Arhitektura mikrosistema
Ugrađeni množači Neke funkcije, poput množača, su spore ako se realizuju
pomoću LUT-ova. Pojedine FPGA arhitekture sadrže ugrađene hardverske
množače Obično su locirani u blizini e-RAM blokova
Arhitektura mikrosistema
Ugrađeni MAC MAC - Multiply-and-Accumulate
S = S + A x B Korisno za DSP
Arhitektura mikrosistema
Ugrađeni procesori Elektronski sistemi se mogu realizovati u:
Hardveru (logička kola/registri) Softveru (instrukcije koje se izvršavaju na mikroprocesoru)
Izbor zavisi od zahtevane brzine rada sistema: ps i ns: isključivo u hardveru us: hardver ili softver, ili njihova kombinacija ms: uglavnom u softeru
Činjenica je da se neka forma mikroprocesora koristi u većini savremenih dizajna
Sve do nedavno, mikroprocesor se ugrađivao u sistem u vidu komponente na štampanoj ploči. Danas se sve više koriste mikroprocesorska jezgra ugrađena u FPGA.
Arhitektura mikrosistema
Dve vrste ugrađenih (embedded) procesora Hard - mikroprocesorsko jezgro (core) je
implementirano kao namenski, predefinisani blok
Soft - mikroprocesorsko jezgro postoji na nivou VHDL opisa, netliste i sl. a realizuje se, kao i svaka logika, pomoću logičkih blokova
Arhitektura mikrosistema
Hard mikroprocesorska jezgra Dve opcije za implementaciju:
In a stripe (u traci): sa jedne strane FPGA polja. Obično u vidu MCM (Multi Chip Modul - dva čipa upakovana na istu silicijumsku podlogu)
Ugrađeni u samo FPGA polje
In a stripe (prednosti): Glavno FPGA polje je identično kao
kod čipova bez mikroprocesora U strip se mogu ugraditi i drugi
moduli (memorija, perferije)
Arhitektura mikrosistema
Hard mikroprocesorska jezgra Ugrađeni direktno u FPGA polje
Arhitektura mikrosistema
Soft mikroprocesorska jezgra Soft jezgra su sporija (niža maksimalna taktna
frekvencija) od hard (30-50%) Prednost je što se mogu pridodati dizajnu po
potrebi i to u broju koji je potreban (sve dok ima raspoloživih resursa).
Arhitektura mikrosistema
Konfigurisanje FPGA kola Konfiguracioni fajl (ili bit-fajl ili implementacioni
fajl)- krajnji rezultat projektovanja. Koristi se za programiranje FPGA Za antifuze FPGA - sadrži samo konfiguracione podatke Za SRAM FPGA - sadrži konfiguracione podatke i
konfiguracione komande (instrukcije FPGA-u šta da uradi sa podacima)
Konfiguracione ćelije (programabilni prekidači) - omogućavaju konfigurabilnost FPGA, sadržane su u LUT-ovima, sprežnoj mreži, U/I blokovima.
Arhitektura mikrosistema
Konfigurisanje FPGA kola
Sve konfiguracione ćelije su povezane u jedan dugački scan chain Ulaz i izlaz scan chain-a su izvedeni na pinove FPGA
Arhitektura mikrosistema
Xilinx Virtex-II Pro
Arhitektura mikrosistema
Xilinx Virtex-II ProPowerPC Core
Arhitektura mikrosistema
CPLD/FPGA metodologija projektovanja
Arhitektura mikrosistema
CPLD/FPGA metodologija projektovanja
Arhitektura mikrosistema
Unos dizajna
Šematski editor
HDL (VHDL ili Verilog)
Dominantan način
Arhitektura mikrosistema
Budućnost FPGA tehnologije FPGA sa milijardu tranzistora (bliska
budnućnost) Super-brzi U/I (optička komunikacija) Veća podrška za DSP Super-brza rekonfiguracija Nova hard jezgra Analogni programabilni moduli Ugrađeni FPGA u ASIC
Arhitektura mikrosistema
DSP jezgra
Arhitektura mikrosistema
Brza rekonviguracija