Politechnika Warszawska -...

76
Instytut Metrologii i Inżynierii Biomedycznej Politechnika Warszawska Warszawa, 2011 dr inż. Jakub Żmigrodzki E-mail: [email protected] ul. Św. Andrzeja Boboli 8, 02-525 Warszawa Logiczne Układy Programowalne Wykład II Układy PLD - wprowadzenie

Transcript of Politechnika Warszawska -...

Instytut Metrologii i Inżynierii Biomedycznej

Politechnika Warszawska

Warszawa, 2011

dr inż. Jakub ŻmigrodzkiE-mail: [email protected]

ul. Św. Andrzeja Boboli 8, 02-525 Warszawa

Logiczne Układy ProgramowalneWykład II

Układy PLD - wprowadzenie

2

PLAN PREZENTACJI

1. Informacje ogólne,

2. Rodzaje układów PLD

3. CPLD vs FPGA

4. FPGA vs Procesory DSP

5. Projektowanie i testowanie urządzeń cyfrowych zawierających układy PLD

3

UKŁADY PLD„Definicja”

…...................................... (PLD – Programmable Logic Devices) to cyfrowe

układy scalone zawierające wytworzone we wspólnym procesie

technologicznym uniwersalne zasoby logiczne takie jak:

● Bramki logiczne,

● Przerzutniki,

● Bloki cyfrowe ogólnego przeznaczenia (np.: bloki pamięciowe),

● Specjalizowane bloki cyfrowe (np.: układy mnożące),

● Układy wejścia/wyjścia.● Liczne ..................................... z których większość nie jest w sposób „stały”

połączona z konkretnymi zasobami logicznymi.

Układy programowalne są tak naprawdę ...................... a nie programowalne.

4

UKŁADY PLDPodział

1. ...... (Simple Programmable Logic Devices),

2. ...... (Complex Programmable Logic Devices),

3. ...... (Field Programmable Gate Array),

4. ...... (Field Programmable Object Array),

5

UKŁADY PLDProducenci

● Xilinx,● Altera,● Lattice Semiconductor,● Actel,● SiliconBlue Technologies,● Achronix,● Tabula,

~80% całego rynku.

6

UKŁADY PLDSPLD

Układy typu SPLD (Simple Programmable Logic Devices) cechują się …........... złożonością – pojedynczy układ zawiera nie więcej niż około 1000 bramek logicznych.

Układy takie składają się najczęściej z trzech poziomów:● Matrycy …....,● Matrycy …....,● Poziomu …...............,

Wyróżnia się następujące typy układów SPLD:● PLA/FPLA (Programmable Logic Arrays),● PAL (Programmable Array Logic),● GAL (Generic Array Logic).

7

UKŁADY PLDCPLD

● PIA – Programmable Interconnect Array – programowalna matryca połączeń wewnętrznych,

● LAB – Logic Array Block ,

● MK – Macrocell – MakroKomórki ,

● BIO – Block IO ,

● I/O – Input/Output ,

PIA

MK1m

MKnm

MK11

MKn1

MK1m

MKnm

MK11

MKn1

BIO

BIO

LAB B

LAB D

I/O

I/O

I/O

I/O

MK1m

MKnm

MK11

MKn1

LAB A

MK1m

MKnm

MK11

MKn1

LAB C

BIO

I/O

I/O

BIO

I/O

I/O

8

UKŁADY PLDCPLD - makrokomórka

D Q

C

EN

S

R

PM

FL

Sygnały globalne (GCLR, GCLK, GEN)

n

z/do

PIA

RB

CS

CES

DS

z/do BIO

● PMFL – Programowalna Matryca Funkcji Logicznych ,● DS – Data Select ,● CES – Clock and Enable Select ,● CS – Clear Select,● RB – Register Bypass,

9

UKŁADY PLDFPGA

● LAB (Logic Array Block) + MTI (MultiTrack Interconnect)● Bloki DSP – najczęściej układy mnożące,● Bloki pamięci EMB,● Bloki I/O ogólnego przeznaczenia,● Dedykowane bloki I/O,● Bloki PLL,

10

UKŁADY PLDFPGA – MTI

DSP

DSP

EMB

EMB

MTI

LAB

LE

MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych

11

UKŁADY PLDFPGA – LE

Wyjście do globalnej magistrali połączeń

LUT

D Q

C

EN

S

R

Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN)

n

Wej

ścia

dan

ych

Z re

guły

3-5

.

RB1

CS

SRS

DS

RB2

Sygnał przeniesienia z poprzedniego LE

Sygnał przeniesienia do następnego LE Wyjście do lokalnej

magistrali połączeńdanego bloku LAB

Konfigurowalny przerzutnik:D, JK, SR, T

● LUT – Look Up Table,● DS – Data Select,● SRS – Set/Reset Select,● CS – Clock Select,● RB – Register Bypass,

12

UKŁADY PLDFPOA

● ALU – Arithmetic–Logic Unit -jednostka arytmetyczno-logiczna,

● MAC – Multiple–Accumulator – jednostka mnożąco-sumująca (akumulator),

● RF – Register File – blok pamięci,● Wbudowane bloki pamięci SRAM,● Dedykowane bloki I/O,● Bloki I/O ogólnego przeznaczenia,

FPOA nie są obecnie produkowane.

13

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

CPLD(MAX V)

FPGA

Klasa„low-cost”

(Cyclene IV)

Klasa„middlerange”

(Arria II)

Klasa„high-end”(Stratix IV)

Wydajność -fmax sygnału zegarowego

[MHz]100  - 250 265 - 500 280 - 700 450 - 800

Zasoby logiczne

Liczba bloków LE

(ekwiwalent)40 - 2210 14400 - 149760 45125 - 256500 72600 - 551200

EMB [kb] 8 (flash) 540 - 6480 2871 - 16400 6462 - 20736

Układy mnożące 18x18bit - 0 - 360 232 - 1040 384 - 1288

Cena [USD] 0,90 – 12,00 17,93 – 315,52 389,90 – 2560,00 800 – 18389,99

Zmodyfikowany wsp. dobroci D=(fmax·LE)/koszt 4400 - 46000 213000 - 237000 32000 - 70000 41000 - 24000

Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera stan na 03.2011.

14

min max0,1

1

10

100

1000

10000

100000

Koszt

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

Cen

a [U

SD

]

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

min max0

100200300400500600700800

Wydajność

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

Fmax

[MH

z]

min max1

10

100

1000

10000

100000

1000000

Zasoby logiczne

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

LIcz

ba b

lokó

w ty

pu L

E

15

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

min max0

50000

100000

150000

200000

250000

Wsp. dobroci

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

D [(

MH

z L.L

E)/U

SD]

CPLD FPGA

ZaletyProgramowalne w sposób

nieulotny….....................................................................................................................................................................................

Cena Zawierają specyficzne bloki cyfrowe.

Wady ….................................................................................. Z reguły programowane w sposób ulotny.

16

Porównanie cech FPGA i DSP

DSP – Digital Signal Processor – procesor sygnałowy.

DSP FPGA

Wydajność – MMAC(Million Multiply Accumulate Operations Per

Second) w przypadku FPGA oszacowanie tego typu danych jest trudno mierzalne ze względu na

możliwości różnej implementacji – dane raczej zaniżone.

25 - 2400 270 - 11000

Cena [USD] 10 -330 10 - 10000

Wydajność/Cena 2,5 – 7,3 27 – 1,1

Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych

TAK NIE

Elastyczność Softwarowa Softwarowa i Hardwarowa

Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp 04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]

17

UKŁADY SPECJALIZOWANEASIC – Application-Specific Integrated Circuit

ASIC są to układy scalone wytwarzane …....................................................................

….................. Projektowanie i przygotowanie procesu technologicznego umożliwiającego

wytworzenie takich układów jest dosyć drogie, co ogranicza ich stosowalność do

projektów układów, które mają być wytwarzane w …..........................................

18

PROJEKTOWANIEUkładów Cyfrowych z użyciem PLD

1 Formalizacja opisu:● Wymagania,● Założenia,● Specyfikacja,

2 Projekt .....................:● Wybór metodyki projektowania (up – down, down – up),● Schemat blokowy,● Wybór sposobu opisu bloków funkcjonalnych (język HDL, behawioralne,

strukturalnie),

3 Projekt ..................:● Projekt zawartości układów PLD i jego weryfikacja,● Opis układu elektronicznego – schemat ideowy (elektryczny),● Projekt PCB,

4 Budowa ............... i testy:● Montaż i wstępne uruchomienie,● Testowanie projektu,● Prezentacja modelu,

5 Budowa ...................,

19

HDL Język Opisu Sprzętu

…............................. (HDL - Hardware Description Language) — służy do opisu układów cyfrowych. Istnieją dwa zasadnicze sposoby opisu układów:

● …................................● …................................

Najpopularniejsze języki opisu sprzętu HDL to:● VHDL,● Verilog HDL,● AHDL,● Abel.

20

Środowiska projektoweEDA

Środowiska wspomagające projektowanie EDA (Electronic Design Automation) z reguły zapewniają możliwość:

● tworzenie projektu układ (języki HDL, narzędzia graficzne, generatory standardowych bloków logicznych)

● syntezy układów, ● optymalizacji,● dopasowywania (palce & route) projektu do konkretnego układu

PLD, ● analiza czasowa,● funkcjonalnej i strukturalnej symulacji,● konfiguracja (programowanie) układów,● testowania i weryfikacja fizycznej implementacji projektu.

Popularne zintegrowane środowiska EDA do projektowania układów PLD to:● Quartus II (Altera),● ISE Design Suite (Xilinx),

…...

......

......

... p

roje

ktu

…...

......

......

... p

roje

ktu

21

ETAPY PROJEKTU EDAWprowadzenie projektu

Programy EDA umożliwiają (zazwyczaj) tworzenie opisu projektu następującymi metodami:

● Za pomocą ........................,● Za pomocą .......................,● Za pomocą ...................................... standardowych bloków

(MegaWizard Plug-In Manager – Quartus II),

22

ETAPY PROJEKTU EDAAnaliza i Synteza

Proces ............................................ polega na transformację opisu projektu do opisu na poziomie przesłań rejestrowych (RTL – Register Transfer Level).

Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.

Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi elementami.

23

ETAPY PROJEKTU EDAOptymalizacja

Proces optymalizacji może być rozłożony na kilka etapów np.:● Optymalizacja podczas procesu ...........................● Optymalizacja pomiędzy procesem syntezy i rozmieszczania.● Optymalizacja w procesie ...................... projektu do docelowego

układu PLD.

24

ETAPY PROJEKTU EDADopasowywanie

Proces dopasowywania (fitter, palce, palce & route) polega na implementacji (umieszczeniu) uzyskanego w procesach syntezy i optymalizacji opisu projektu w docelowym układzie cyfrowym PLD.

W przypadku układów CPLD realizowany jest jedynie proces .............................. .

W przypadku układów FPGA realizowany jest proces ............................................

Przebieg i rezultat procesu dopasowywania ma ogromny wpływ na jakoś i finalne parametry zaimplementowanego projektu.

25

ETAPY PROJEKTU EDAAnaliza czasowa

Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek sygnałowych wchodzących w skład danego projektu.

26

ETAPY PROJEKTU EDASymulacja

Symulacja poprawności projektu może być sprawdzana na wielu etapach:

● Symulacja .........................................:● na poziomie opisu RTL (RTL functional simulation),● Po pełnej syntezie (post-synthesis functional simulation),

● Symulacja ....................................... (gate-level timing simulation):● Umożliwia wykrycie hazardu,● Nie umożliwia wykrycia stanów metastabilnych.

27

ETAPY PROJEKTU EDASymulacja

Z reguły stosuje się symulację:● Funkcjonalną na poziomie opisu RTL:

● Najkrótszy czas kompilacji (analiza i wstępna synteza do RTL),

● Umożliwia sprawdzenie jedynie poprawności funkcjonalnej projektu,

● Strukturalną (gate-level timing simulation):

● Wymaga najdłuższego czasu kompilacji (wszystkie etapy),

● Umożliwia sprawdzenie poprawności funkcjonalnej i implementacji projektu.

28

ETAPY PROJEKTU EDAInne analizy

Oprogramowanie EDA umożliwia zazwyczaj również inne niż czasowe analizy projektu np.:

● Analizę jakości sygnałów we/wy (Signal Integrity Analysis),

● Analizę poboru i strat mocy w układzie (Power Estimation and Analysis),

● Inne,

29

ETAPY PROJEKTU EDAProgramowanie

Na podstawie danych wyjściowych procesu dopasowywania (fitter) tworzony jest w

procesie ............................... plik zawierający „obraz” implementacji projektu w danym

układzie scalonym.

Do konfigurowania układów PLD (programowania) najczęściej wykorzystywany jest interfejs JTAG.

30

TESTOWANIEDefekty w Układach Cyfr. - Przyczyny

● Efekty niestarannego montażu – zwarcia lub przerwy,

● Efekty uszkodzeń mechanicznych (upadek, wibracje),

● Efekty uszkodzeń termicznych,

31

TESTOWANIEDefekty w Układach Cyfr. - Podział

● Statyczne,● Dynamiczne,● Przypadkowe,

50 49

1

Częstość występowania poszczególnych typów defektów w układach cyfrowych w %.

Statyczne Dynamiczne Przypadkowe

32

TESTOWANIE UKŁADÓW CYFROWYCH

….......................... – projektu polega na sprawdzeniu poprawności jego przygotowania.

Testowanie polega na sprawdzeniu poprawność ….................... danego projektu w dany układzie cyfrowym.

33

TESTOWANIE UKŁADÓW CYFROWYCH

Testowanie

…................. …..................

W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.

34

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa

Testowanie układu za pomocą ............................ polega na zapisie pobudzeń i odczycie odpowiedzi na te pobudzenia ze specjalnych umieszczonych w układzie elementów testujących BSC (Boundary Scan Cell).

D Q

C

CLR

KontrolerTAP

BSC3

BSC2

BSC1

BSC0

BSC4

BSC5

D Q

C

CLR

D1

D0

CLK

CLR

TMSTDI

TCKTDO

Q1

Q0

Fizyczne wyprowadzenia układu scalonego

● TAP – (Test Access Port) - kontroler elementów BSC,

● TMS – (Test Mode Select) – wejście sterujące pracą automatu TAP,

● TDI – (Test Data Input) – szeregowe wejście danych,

● TDO – (Test Data Output) – szeregowe wyjście danych,

● TCK – (Test Clock Input) – wejście sygnału taktującego pracę automatu TAP,

35

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – el. BSC

D Q

C

MC D Q

C

MU

Wejściestandardowe

WejścieSDI

SH

IFT

CLO

CK

UP

DAT

E

MO

DE

Sygnały sterujące kontrolera TAP

WyjścieSDO

Wyjściestandardowe

RC RU

Kolejne elementy BSC połączone są za pomocą linii SDI (Serial Data Input) i SDO (Serial Data Output).

RU – Register Update

MC – Multiplexer Capture RC – Register Capture

MU – Multiplexer Update

36

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG

Najpopularniejszym interfejsem wykorzystywanym do testowania i konfiguracji układów PLD jest interfejs ........... .

Interfejs JTAG opisany jest standardem IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture.

● IR – (Instruction Register) – Rejestr Instrukcji sterujący pracą rejestru danych DR,

● DR – (Data Register) – Blok rejestrów danych zawierający min.:● Rejestry elementów BSC,● Rejestr obejścia – umożliwiający

ominięcie danego układu w ścieżce testującej,

● Rejestr identyfikacji● Rejestry programujące (ISP – In-

system Programmability Register) i konfigurujące (ICR – In-system Reconfigurability Register),

KontrolerTAP

IR

DR

MTD

O

Sygnały: UpdateDR, ShiftDR, ClockDR

Sygnały: UpdateIR, ShiftIR, ClockIR

TMSTCLKTRTS

TDO

TDI InterfejsJTAG

TRTS – (Test Reset) – umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne.

37

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG

Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.

TDI TDO

TMS TCK

TDI TDO

TMS TCK

TDI TDO

TMS TCK

Złączeinter. JTAG

np.: komputer

PLD 1 PLD 2 PLD 3

38

Następne zajęcia

● Test – zakres wykładu,● Zajęcia lab.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 1

Instytut Metrologii i Inżynierii Biomedycznej

Politechnika Warszawska

Warszawa, 2011

dr inż. Jakub ŻmigrodzkiE-mail: [email protected]

ul. Św. Andrzeja Boboli 8, 02-525 Warszawa

Logiczne Układy ProgramowalneWykład II

Układy PLD - wprowadzenie

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 2

2

PLAN PREZENTACJI

1. Informacje ogólne,

2. Rodzaje układów PLD

3. CPLD vs FPGA

4. FPGA vs Procesory DSP

5. Projektowanie i testowanie urządzeń cyfrowych zawierających układy PLD

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 3

3

UKŁADY PLD„Definicja”

…...................................... (PLD – Programmable Logic Devices) to cyfrowe

układy scalone zawierające wytworzone we wspólnym procesie

technologicznym uniwersalne zasoby logiczne takie jak:

● Bramki logiczne,

● Przerzutniki,

● Bloki cyfrowe ogólnego przeznaczenia (np.: bloki pamięciowe),

● Specjalizowane bloki cyfrowe (np.: układy mnożące),

● Układy wejścia/wyjścia.● Liczne ..................................... z których większość nie jest w sposób „stały”

połączona z konkretnymi zasobami logicznymi.

Układy programowalne są tak naprawdę ...................... a nie programowalne.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 4

4

UKŁADY PLDPodział

1. ...... (Simple Programmable Logic Devices),

2. ...... (Complex Programmable Logic Devices),

3. ...... (Field Programmable Gate Array),

4. ...... (Field Programmable Object Array),

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 5

5

UKŁADY PLDProducenci

● Xilinx,● Altera,● Lattice Semiconductor,● Actel,● SiliconBlue Technologies,● Achronix,● Tabula,

~80% całego rynku.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 6

6

UKŁADY PLDSPLD

Układy typu SPLD (Simple Programmable Logic Devices) cechują się …........... złożonością – pojedynczy układ zawiera nie więcej niż około 1000 bramek logicznych.

Układy takie składają się najczęściej z trzech poziomów:● Matrycy …....,● Matrycy …....,● Poziomu …...............,

Wyróżnia się następujące typy układów SPLD:● PLA/FPLA (Programmable Logic Arrays),● PAL (Programmable Array Logic),● GAL (Generic Array Logic).

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 7

7

UKŁADY PLDCPLD

● PIA – Programmable Interconnect Array – programowalna matryca połączeń wewnętrznych,

● LAB – Logic Array Block ,

● MK – Macrocell – MakroKomórki ,

● BIO – Block IO ,

● I/O – Input/Output ,

PIA

MK1m

MKnm

MK11

MKn1

MK1m

MKnm

MK11

MKn1

BIO

BIO

LAB B

LAB D

I/O

I/O

I/O

I/O

MK1m

MKnm

MK11

MKn1

LAB A

MK1m

MKnm

MK11

MKn1

LAB C

BIO

I/O

I/O

BIO

I/O

I/O

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 8

8

UKŁADY PLDCPLD - makrokomórka

D Q

C

EN

S

R

PM

FL

Sygnały globalne (GCLR, GCLK, GEN)

nz/

do P

IA

RB

CS

CES

DS

z/do BIO

● PMFL – Programowalna Matryca Funkcji Logicznych ,● DS – Data Select ,● CES – Clock and Enable Select ,● CS – Clear Select,● RB – Register Bypass,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 9

9

UKŁADY PLDFPGA

● LAB (Logic Array Block) + MTI (MultiTrack Interconnect)● Bloki DSP – najczęściej układy mnożące,● Bloki pamięci EMB,● Bloki I/O ogólnego przeznaczenia,● Dedykowane bloki I/O,● Bloki PLL,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 10

10

UKŁADY PLDFPGA – MTI

DSP

DSP

EMB

EMB

MTI

LAB

LE

MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 11

11

UKŁADY PLDFPGA – LE

Wyjście do globalnej magistrali połączeń

LUT

D Q

C

EN

S

R

Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN)

n

Wej

ścia

dan

ych

Z re

guły

3-5

.

RB1

CS

SRS

DS

RB2

Sygnał przeniesienia z poprzedniego LE

Sygnał przeniesienia do następnego LE Wyjście do lokalnej

magistrali połączeńdanego bloku LAB

Konfigurowalny przerzutnik:D, JK, SR, T

● LUT – Look Up Table,● DS – Data Select,● SRS – Set/Reset Select,● CS – Clock Select,● RB – Register Bypass,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 12

12

UKŁADY PLDFPOA

● ALU – Arithmetic–Logic Unit -jednostka arytmetyczno-logiczna,

● MAC – Multiple–Accumulator – jednostka mnożąco-sumująca (akumulator),

● RF – Register File – blok pamięci,● Wbudowane bloki pamięci SRAM,● Dedykowane bloki I/O,● Bloki I/O ogólnego przeznaczenia,

FPOA nie są obecnie produkowane.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 13

13

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

CPLD(MAX V)

FPGAKlasa

„low-cost”(Cyclene IV)

Klasa„middlerange”

(Arria II)

Klasa„high-end”(Stratix IV)

Wydajność -fmax sygnału zegarowego

[MHz]100  - 250 265 - 500 280 - 700 450 - 800

Zasoby logiczne

Liczba bloków LE

(ekwiwalent)40 - 2210 14400 - 149760 45125 - 256500 72600 - 551200

EMB [kb] 8 (flash) 540 - 6480 2871 - 16400 6462 - 20736

Układy mnożące 18x18bit - 0 - 360 232 - 1040 384 - 1288

Cena [USD] 0,90 – 12,00 17,93 – 315,52 389,90 – 2560,00 800 – 18389,99

Zmodyfikowany wsp. dobroci D=(fmax·LE)/koszt 4400 - 46000 213000 - 237000 32000 - 70000 41000 - 24000

Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera stan na 03.2011.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 14

14

min max0,1

1

10

100

1000

10000

100000

Koszt

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

Cen

a [U

SD

]

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

min max0

100200300400500600700800

Wydajność

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

Fmax

[MH

z]

min max1

10

100

1000

10000

100000

1000000

Zasoby logiczne

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

LIcz

ba b

lokó

w ty

pu L

E

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 15

15

PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD

min max0

50000

100000

150000

200000

250000

Wsp. dobroci

CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)

D [(

MH

z L.L

E)/U

SD]

CPLD FPGA

ZaletyProgramowalne w sposób

nieulotny….....................................................................................................................................................................................

Cena Zawierają specyficzne bloki cyfrowe.

Wady ….................................................................................. Z reguły programowane w sposób ulotny.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 16

16

Porównanie cech FPGA i DSP

DSP – Digital Signal Processor – procesor sygnałowy.

DSP FPGA

Wydajność – MMAC(Million Multiply Accumulate Operations Per

Second) w przypadku FPGA oszacowanie tego typu danych jest trudno mierzalne ze względu na

możliwości różnej implementacji – dane raczej zaniżone.

25 - 2400 270 - 11000

Cena [USD] 10 -330 10 - 10000

Wydajność/Cena 2,5 – 7,3 27 – 1,1

Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych

TAK NIE

Elastyczność Softwarowa Softwarowa i Hardwarowa

Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp 04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 17

17

UKŁADY SPECJALIZOWANEASIC – Application-Specific Integrated Circuit

ASIC są to układy scalone wytwarzane …....................................................................

….................. Projektowanie i przygotowanie procesu technologicznego umożliwiającego

wytworzenie takich układów jest dosyć drogie, co ogranicza ich stosowalność do

projektów układów, które mają być wytwarzane w …..........................................

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 18

18

PROJEKTOWANIEUkładów Cyfrowych z użyciem PLD

1 Formalizacja opisu:● Wymagania,● Założenia,● Specyfikacja,

2 Projekt .....................:● Wybór metodyki projektowania (up – down, down – up),● Schemat blokowy,● Wybór sposobu opisu bloków funkcjonalnych (język HDL, behawioralne,

strukturalnie),

3 Projekt ..................:● Projekt zawartości układów PLD i jego weryfikacja,● Opis układu elektronicznego – schemat ideowy (elektryczny),● Projekt PCB,

4 Budowa ............... i testy:● Montaż i wstępne uruchomienie,● Testowanie projektu,● Prezentacja modelu,

5 Budowa ...................,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 19

19

HDL Język Opisu Sprzętu

…............................. (HDL - Hardware Description Language) — służy do opisu układów cyfrowych. Istnieją dwa zasadnicze sposoby opisu układów:

● …................................● …................................

Najpopularniejsze języki opisu sprzętu HDL to:● VHDL,● Verilog HDL,● AHDL,● Abel.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 20

20

Środowiska projektoweEDA

Środowiska wspomagające projektowanie EDA (Electronic Design Automation) z reguły zapewniają możliwość:

● tworzenie projektu układ (języki HDL, narzędzia graficzne, generatory standardowych bloków logicznych)

● syntezy układów, ● optymalizacji,● dopasowywania (palce & route) projektu do konkretnego układu

PLD, ● analiza czasowa,● funkcjonalnej i strukturalnej symulacji,● konfiguracja (programowanie) układów,● testowania i weryfikacja fizycznej implementacji projektu.

Popularne zintegrowane środowiska EDA do projektowania układów PLD to:● Quartus II (Altera),● ISE Design Suite (Xilinx),

…...

......

......

... p

roje

ktu

…...

......

......

... p

roje

ktu

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 21

21

ETAPY PROJEKTU EDAWprowadzenie projektu

Programy EDA umożliwiają (zazwyczaj) tworzenie opisu projektu następującymi metodami:

● Za pomocą ........................,● Za pomocą .......................,● Za pomocą ...................................... standardowych bloków

(MegaWizard Plug-In Manager – Quartus II),

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 22

22

ETAPY PROJEKTU EDAAnaliza i Synteza

Proces ............................................ polega na transformację opisu projektu do opisu na poziomie przesłań rejestrowych (RTL – Register Transfer Level).

Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.

Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi elementami.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 23

23

ETAPY PROJEKTU EDAOptymalizacja

Proces optymalizacji może być rozłożony na kilka etapów np.:● Optymalizacja podczas procesu ...........................● Optymalizacja pomiędzy procesem syntezy i rozmieszczania.● Optymalizacja w procesie ...................... projektu do docelowego

układu PLD.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 24

24

ETAPY PROJEKTU EDADopasowywanie

Proces dopasowywania (fitter, palce, palce & route) polega na implementacji (umieszczeniu) uzyskanego w procesach syntezy i optymalizacji opisu projektu w docelowym układzie cyfrowym PLD.

W przypadku układów CPLD realizowany jest jedynie proces .............................. .

W przypadku układów FPGA realizowany jest proces ............................................

Przebieg i rezultat procesu dopasowywania ma ogromny wpływ na jakoś i finalne parametry zaimplementowanego projektu.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 25

25

ETAPY PROJEKTU EDAAnaliza czasowa

Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek sygnałowych wchodzących w skład danego projektu.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 26

26

ETAPY PROJEKTU EDASymulacja

Symulacja poprawności projektu może być sprawdzana na wielu etapach:

● Symulacja .........................................:● na poziomie opisu RTL (RTL functional simulation),● Po pełnej syntezie (post-synthesis functional simulation),

● Symulacja ....................................... (gate-level timing simulation):● Umożliwia wykrycie hazardu,● Nie umożliwia wykrycia stanów metastabilnych.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 27

27

ETAPY PROJEKTU EDASymulacja

Z reguły stosuje się symulację:● Funkcjonalną na poziomie opisu RTL:

● Najkrótszy czas kompilacji (analiza i wstępna synteza do RTL),

● Umożliwia sprawdzenie jedynie poprawności funkcjonalnej projektu,

● Strukturalną (gate-level timing simulation):

● Wymaga najdłuższego czasu kompilacji (wszystkie etapy),

● Umożliwia sprawdzenie poprawności funkcjonalnej i implementacji projektu.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 28

28

ETAPY PROJEKTU EDAInne analizy

Oprogramowanie EDA umożliwia zazwyczaj również inne niż czasowe analizy projektu np.:

● Analizę jakości sygnałów we/wy (Signal Integrity Analysis),

● Analizę poboru i strat mocy w układzie (Power Estimation and Analysis),

● Inne,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 29

29

ETAPY PROJEKTU EDAProgramowanie

Na podstawie danych wyjściowych procesu dopasowywania (fitter) tworzony jest w

procesie ............................... plik zawierający „obraz” implementacji projektu w danym

układzie scalonym.

Do konfigurowania układów PLD (programowania) najczęściej wykorzystywany jest interfejs JTAG.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 30

30

TESTOWANIEDefekty w Układach Cyfr. - Przyczyny

● Efekty niestarannego montażu – zwarcia lub przerwy,

● Efekty uszkodzeń mechanicznych (upadek, wibracje),

● Efekty uszkodzeń termicznych,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 31

31

TESTOWANIEDefekty w Układach Cyfr. - Podział

● Statyczne,● Dynamiczne,● Przypadkowe,

50 49

1

Częstość występowania poszczególnych typów defektów w układach cyfrowych w %.

Statyczne Dynamiczne Przypadkowe

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 32

32

TESTOWANIE UKŁADÓW CYFROWYCH

….......................... – projektu polega na sprawdzeniu poprawności jego przygotowania.

Testowanie polega na sprawdzeniu poprawność ….................... danego projektu w dany układzie cyfrowym.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 33

33

TESTOWANIE UKŁADÓW CYFROWYCH

Testowanie

…................. …..................

W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 34

34

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa

Testowanie układu za pomocą ............................ polega na zapisie pobudzeń i odczycie odpowiedzi na te pobudzenia ze specjalnych umieszczonych w układzie elementów testujących BSC (Boundary Scan Cell).

D Q

C

CLR

KontrolerTAP

BSC3

BSC2

BSC1

BSC0

BSC4

BSC5

D Q

C

CLR

D1

D0

CLK

CLR

TMSTDI

TCKTDO

Q1

Q0

Fizyczne wyprowadzenia układu scalonego

● TAP – (Test Access Port) - kontroler elementów BSC,

● TMS – (Test Mode Select) – wejście sterujące pracą automatu TAP,

● TDI – (Test Data Input) – szeregowe wejście danych,

● TDO – (Test Data Output) – szeregowe wyjście danych,

● TCK – (Test Clock Input) – wejście sygnału taktującego pracę automatu TAP,

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 35

35

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – el. BSC

D Q

CM

C D Q

C

MU

Wejściestandardowe

WejścieSDI

SH

IFT

CLO

CK

UP

DAT

E

MO

DE

Sygnały sterujące kontrolera TAP

WyjścieSDO

Wyjściestandardowe

RC RU

Kolejne elementy BSC połączone są za pomocą linii SDI (Serial Data Input) i SDO (Serial Data Output).

RU – Register Update

MC – Multiplexer Capture RC – Register Capture

MU – Multiplexer Update

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 36

36

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG

Najpopularniejszym interfejsem wykorzystywanym do testowania i konfiguracji układów PLD jest interfejs ........... .

Interfejs JTAG opisany jest standardem IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture.

● IR – (Instruction Register) – Rejestr Instrukcji sterujący pracą rejestru danych DR,

● DR – (Data Register) – Blok rejestrów danych zawierający min.:● Rejestry elementów BSC,● Rejestr obejścia – umożliwiający

ominięcie danego układu w ścieżce testującej,

● Rejestr identyfikacji● Rejestry programujące (ISP – In-

system Programmability Register) i konfigurujące (ICR – In-system Reconfigurability Register),

KontrolerTAP

IR

DR

MTD

O

Sygnały: UpdateDR, ShiftDR, ClockDR

Sygnały: UpdateIR, ShiftIR, ClockIR

TMSTCLKTRTS

TDO

TDI InterfejsJTAG

TRTS – (Test Reset) – umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne.

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 37

37

TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG

Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.

TDI TDO

TMS TCK

TDI TDO

TMS TCK

TDI TDO

TMS TCK

Złączeinter. JTAG

np.: komputer

PLD 1 PLD 2 PLD 3

Logiczne Układy Programowalne cz.2 Warszawa, 2011

Politechnika Warszawska, IMiIB, ZIB 38

38

Następne zajęcia

● Test – zakres wykładu,● Zajęcia lab.