Programabilna digitalna kola

Preview:

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

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

Recommended