82
Programabilna digitalna kola

Programabilna digitalna kola

  • Upload
    gil-kim

  • View
    103

  • Download
    9

Embed Size (px)

DESCRIPTION

Programabilna digitalna kola. K lasifikacija IC. IC projektovana za datu primenu. Full-Custom ASIC. Projektovanje do nivoa layout-a Vremenski z ahtveno Mogućnost postizanja visokih performansi Projekat IC-a se dostavlja fabrici poluprovodnika gde se IC fabrikuje - PowerPoint PPT Presentation

Citation preview

Page 1: Programabilna digitalna kola

Programabilna digitalna kola

Page 2: 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

Page 3: Programabilna digitalna kola

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

Page 4: Programabilna digitalna kola

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)

Page 5: Programabilna digitalna kola

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

Page 6: Programabilna digitalna kola

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

Page 7: Programabilna digitalna kola

Arhitektura mikrosistema

PLD Standardna IC, dostupna u standardnim

pakovanjima i proizvedena u velikim serijama Mogućnost konfigurisanja/programiranja radi

realizacije specijalizovanog kola

Page 8: Programabilna digitalna kola

Arhitektura mikrosistema

PLD Klasifikacija:

SPLD (Simple PLD): PLA + PAL + ROM CPLD (Complex PLD) FPGA (Field-Programmable Gate Array)

Page 9: Programabilna digitalna kola

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

Page 10: Programabilna digitalna kola

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

Page 11: Programabilna digitalna kola

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

Page 12: Programabilna digitalna kola

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

Page 13: Programabilna digitalna kola

Arhitektura mikrosistema

PAL 16L8 (kombinacioni izlazi)

Page 14: Programabilna digitalna kola

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

Page 15: Programabilna digitalna kola

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

...

Page 16: Programabilna digitalna kola

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

Page 17: Programabilna digitalna kola

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

Page 18: Programabilna digitalna kola

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

Page 19: Programabilna digitalna kola

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.

Page 20: Programabilna digitalna kola

Arhitektura mikrosistema

ASIC vs. FPGAVisoki troškovi pripreme proizvodnje za ASIC dizajn

Page 21: Programabilna digitalna kola

Arhitektura mikrosistema

ASIC v.s. FPGA

Page 22: Programabilna digitalna kola

Arhitektura mikrosistema

ASIC vs. FPGAFPGA: Skraćeno vreme projektovanja i realizacije

Page 23: Programabilna digitalna kola

Arhitektura mikrosistema

Time-to-Market !

Novi proizvodi brže dostižu masovnu proizvodnju i kraće vreme ostaju na tržištu

Page 24: Programabilna digitalna kola

Arhitektura mikrosistema

Novi projekti

Page 25: Programabilna digitalna kola

Arhitektura mikrosistema

ASIC v.s. PLD

Page 26: Programabilna digitalna kola

Arhitektura mikrosistema

Proizvođači

Page 27: Programabilna digitalna kola

Arhitektura mikrosistema

Logički kapacitet FPGA kola

Page 28: Programabilna digitalna kola

Arhitektura mikrosistema

Evolucija FPGA kola

Page 29: Programabilna digitalna kola

Arhitektura mikrosistema

Savrmene FPGA arhitekture

Page 30: Programabilna digitalna kola

Arhitektura mikrosistema

Programabilni prekidač - ključni element PLD kola

Page 31: Programabilna digitalna kola

Arhitektura mikrosistema

Tehnologije programiranja

Volatile = Nepostojanost

Page 32: Programabilna digitalna kola

Arhitektura mikrosistema

˝Floating_Gate˝ tehnologija Postojanost, reprogramabilnost Primena kod SPLD, CPLD

Page 33: Programabilna digitalna kola

Arhitektura mikrosistema

SRAM tehnologija Nepostojanost, reprogramabilnost

Read or Write

Data

Configuration Memory Cell

Routing Connections

Page 34: Programabilna digitalna kola

Arhitektura mikrosistema

SRAM tehnologija Pass tranzistor +

SRAM ćelija Multiplekser +

SRAM ćelija(e)

Page 35: Programabilna digitalna kola

Arhitektura mikrosistema

Antifuze Sturktura: provodnik-dijalektrik-provodnik Programiranjem postaje permanentni spoj

Page 36: Programabilna digitalna kola

Arhitektura mikrosistema

Programiranje ˝izvan sistema˝ - SPLD

Neprogramirana komponenta

Programirana komponenta

Programator

Page 37: Programabilna digitalna kola

Arhitektura mikrosistema

Programiranje ˝u sistemu˝ - CPLD/FPGA

Ka računaru

Štampanaploča

CPLD čip

Page 38: Programabilna digitalna kola

Arhitektura mikrosistema

Programiranje FPGA kola zasnovanih na SRAM tehnologiji

Page 39: Programabilna digitalna kola

Arhitektura mikrosistema

CPLD CPLD = Complex PLD CPLD = više SPLD blokova na jednom čipu

Page 40: Programabilna digitalna kola

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$

Page 41: Programabilna digitalna kola

Arhitektura mikrosistema

CPLD Arhitektura

U/I blok

Funkcionalni blok

Mreža za povezivanje

Page 42: Programabilna digitalna kola

Arhitektura mikrosistema

Altera MAX 7000

Page 43: Programabilna digitalna kola

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)

Page 44: Programabilna digitalna kola

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

Page 45: Programabilna digitalna kola

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

Page 46: Programabilna digitalna kola

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.

Page 47: Programabilna digitalna kola

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

Page 48: Programabilna digitalna kola

Arhitektura mikrosistema

Prva FPGA kola CMOS i SRAM tehnologija 3-ulazni LUT + FF + MUX

Savremena FPGA kola su mnogo složenija

Page 49: Programabilna digitalna kola

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

Page 50: Programabilna digitalna kola

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

Page 51: Programabilna digitalna kola

Arhitektura mikrosistema

Nizovi tranzistorskih parovaFPGA CP20K firme Crosspoint Solutions Fina granularnost

Page 52: Programabilna digitalna kola

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

Page 53: Programabilna digitalna kola

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

Page 54: Programabilna digitalna kola

Arhitektura mikrosistema

Logički blokovi zasnovani na LUT - srednji nivo granularnosti Većina savremenih FPGA koristi LUT-ove

Page 55: Programabilna digitalna kola

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

Page 56: Programabilna digitalna kola

Arhitektura mikrosistema

Logički blokovi zasnovani na LUT

Bilo koja od nekoliko funkcija

Page 57: Programabilna digitalna kola

Arhitektura mikrosistema

Logički blok FPGA Xilinx XC4000

Page 58: Programabilna digitalna kola

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

Page 59: Programabilna digitalna kola

Arhitektura mikrosistema

Sprežna mreža

Sprežna mreža:

• Žičani segmenti +

• Programabilni prekidači

Page 60: Programabilna digitalna kola

Arhitektura mikrosistema

Sprežna mreža - struktura

Connection block - sprega logičkog bloka na srežnu mrežu Switching block - nadovezivanje žičanih segmenata

Page 61: Programabilna digitalna kola

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

Page 62: Programabilna digitalna kola

Arhitektura mikrosistema

Sprežna mreža Prekidački blok -

omogućava spajanje horizontalnih i vertikalnih veza

Page 63: Programabilna digitalna kola

Arhitektura mikrosistema

Sprežna mreže - žičani segmenti

Page 64: Programabilna digitalna kola

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)

Page 65: Programabilna digitalna kola

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

Page 66: Programabilna digitalna kola

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

Page 67: Programabilna digitalna kola

Arhitektura mikrosistema

Ugrađeni MAC MAC - Multiply-and-Accumulate

S = S + A x B Korisno za DSP

Page 68: Programabilna digitalna kola

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.

Page 69: Programabilna digitalna kola

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

Page 70: Programabilna digitalna kola

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)

Page 71: Programabilna digitalna kola

Arhitektura mikrosistema

Hard mikroprocesorska jezgra Ugrađeni direktno u FPGA polje

Page 72: Programabilna digitalna kola

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

Page 73: Programabilna digitalna kola

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.

Page 74: Programabilna digitalna kola

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

Page 75: Programabilna digitalna kola

Arhitektura mikrosistema

Xilinx Virtex-II Pro

Page 76: Programabilna digitalna kola

Arhitektura mikrosistema

Xilinx Virtex-II ProPowerPC Core

Page 77: Programabilna digitalna kola

Arhitektura mikrosistema

CPLD/FPGA metodologija projektovanja

Page 78: Programabilna digitalna kola

Arhitektura mikrosistema

CPLD/FPGA metodologija projektovanja

Page 79: Programabilna digitalna kola

Arhitektura mikrosistema

Unos dizajna

Šematski editor

HDL (VHDL ili Verilog)

Dominantan način

Page 80: Programabilna digitalna kola

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

Page 81: Programabilna digitalna kola

Arhitektura mikrosistema

DSP jezgra

Page 82: Programabilna digitalna kola

Arhitektura mikrosistema

Brza rekonviguracija