Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Digitalna integrirana vezja
Mikroprocesor Application Specific Integrated Circuit
univerzalno vezje, zaporedje ukazov, enostaven razvoj aplikacij
SLABOSTI
počasen odziv na dogodke
zmogljivost odvisna od kompleksnosti algoritma
vezje za določen namen, paralelno delovanje
hiter odziv na dogodke
SLABOSTI
zahtevno za načrtovanje
s kompleksnostjo algoritma narašča velikost in cena vezja
Programirljiva vezja so vnaprej izdelana
krajši čas razvoja, ni stroškov priprave proizvodnje (miljoni $)
hiter odziv in paralelna obdelava, kot ASIC
v primerjavi z ASIC so počasnejša, imajo večjo površino in večjo porabo
Programirljiva kombinacijska matrika
Programirljiva AND in OR matrika - PLA
PAL Programmable Array Logic
Programirljiva sekvenčna vezja
Sestavljena iz PAL ali PLA in izhodnih makrocelic
Izhodna makrocelica vezja PLD (programmable logic
device) vsebuje flip-flop
Programirljiva vezja: CPLD, FPGA
Complex Programmable Logic Device
Več blokov PLD in polje povezav
1.000-20.000 log. vrat, 50-500 FF
FLASH tehnologija, 1.8V
Field Programmable Gate Array
Matrika log. celic in povezovalno polje
10.000-10.000.000 vrat, 100k RAM
CMOS tehnologija, 1.2V
polje povezav PLD
FF
FF
FPGA: matrika logičnih celic
Zgradba FPGA logične celice
pri programiranju vpišemo vrednosti v konfiguracijski RAM
določa delovanje logičnih celic (LC) in povezave v mreži
MU
X
D
flip-flop
bx
a4
a3
a2
a1
clk
y
yq
0
0000 0
0001 1
0010 1 ...
vpogledna
tabela
pomnilni
element
LC
tehnološka preslikava
načrtovano vezje preslikamo v strukturo
vezja FPGA
logična celica
LUT, MUX, DFF
prenosna logika
dodatne funkcije
Izvedba logičnih funkcij
4-vhodna vpogledna tabela (LUT) za kombinacijske f.
2 tabeli LUT/rezino, možnost izvedbe ene 5-vhodne
x1 x2 x3 x4
y
x1 x2
y
LUT
x1x2x3x4
y
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
0100010101001100
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
1111111111110000
x1 x2 x3 x4
y
x1 x2 x3 x4
y
x1 x2
y
x1 x2
y
LUT
x1x2x3x4
y
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
0100010101001100
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
0100010101001100
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
1111111111110000
0
x1
0
x2 x3 x4
0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
y
1111111111110000
Pomnilnik - RAM
LUT je pomnilnik, ki ga vpisujemo med programiranjem
uporabniku so na voljo kontrolni signali (WE, WCLK, D)
s sestavljanjem več LUT naredimo ROM/RAM (distributed)
dodatni 18kB RAM bloki RAM16X1S
O
D
WE
WCLK
A0
A1
A2
A3
LUT
RAM32X1S
O
D
WE
WCLK
A0
A1
A2
A3
A4
RAM16X1D
SPO
D
WE
WCLK
A0
A1
A2
A3
DPRA0 DPO
DPRA1
DPRA2
DPRA3
Slice
LUT
LUT
Razvoj vezij FPGA (Xilinx)
logika in FF aritmetika
RAM BRAM DSP
HW MAC
CPU
Gigabit IO
vezna
logika
funkcijska
jedra logična platforma digitalni sistem
Prihodnost: skaliranje FPGA in procesorjev (Moorov zakon)
program. logika in namenski bloki + CPU (ARM) in periferija
Uporaba programirljivih vezij
CPLD
enostavni vmesniki
povezovalna logika
pretvorniki log. nivojev
hitri števci in avtomati
senzorski vmesniki
FPGA
obdelava signalov
sita, kodirniki, generatorji, video zajem (500LUT, 1.5k kode)
zahtevni vmesniki
PCI, USB, Ethernet MAC (7.5k), DDR, ATM
sistemi na integriranem vezju
Projekti in tekmovanja na FE
digitalni osciloskop, DMX konzola, GPS, VGA video igrice, MIDI vmesniki, mikroprocesorji, audio spektralni analizator
Razvojni sistemi
Zynq = FPGA+ARM
Spartan-3 XC3S200
razvojni sistem za lab. vaje
XC3S100E ali XC3S250E
pri nas razviti FPGA razvojni moduli http://lniv.fe.uni-lj.si/boards.html
Načrtovanje s programirljivimi vezji
1.
2.
3.
Osnovni koraki načrtovanja digitalnih vezij
Opis vezja
Različne oblike opisa vezja se pretvorijo v jezikovni opis
HDL – Hardware Description Language (npr. jezik VHDL, Verilog)
Končni cilj – implementacija vezja