14
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

Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 2: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

Programirljiva kombinacijska matrika

Programirljiva AND in OR matrika - PLA

PAL Programmable Array Logic

Page 3: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

Programirljiva sekvenčna vezja

Sestavljena iz PAL ali PLA in izhodnih makrocelic

Izhodna makrocelica vezja PLD (programmable logic

device) vsebuje flip-flop

Page 4: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 5: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

FPGA: matrika logičnih celic

Page 6: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 7: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 8: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 9: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 10: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 11: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

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

Page 12: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

Načrtovanje s programirljivimi vezji

1.

2.

3.

Osnovni koraki načrtovanja digitalnih vezij

Page 13: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

Opis vezja

Različne oblike opisa vezja se pretvorijo v jezikovni opis

HDL – Hardware Description Language (npr. jezik VHDL, Verilog)

Page 14: Digitalna integrirana vezja - University of LjubljanaUporaba programirljivih vezij CPLD enostavni vmesniki povezovalna logika pretvorniki log. nivojev hitri števci in avtomati senzorski

Končni cilj – implementacija vezja