Układy reprogramowalne i SoC Wprowadzenie

Podobne dokumenty
FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Cyfrowe układy scalone

Cyfrowe układy scalone

Układy reprogramowalne i SoC Implementacja w układach FPGA

MIKROELEKTRONIKA [gr.], dział. elektroniki zajmujący się działaniem, konstrukcją Fifth i technologią Level układów scalonych.

Elementy cyfrowe i układy logiczne

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Technika Cyfrowa 2 wykład 4: FPGA odsłona druga technologie i rodziny układów logicznych

Cyfrowe układy scalone

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Ogólny schemat inwertera MOS

Układy programowalne

Układy programowalne. Wykład z ptc część 5

Układy reprogramowalne i SoC Język VHDL (część 4)

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Pamięci RAM i ROM. Pamięć RAM 2. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd (C mbit.

5. PROGRAMOWALNE UKŁADY LOGICZNE

PROJEKTOWANIE UKŁADÓW VLSI

Układy programowalne. Wykład z ptc część 5

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Krótkie przypomnienie

Temat: Pamięci. Programowalne struktury logiczne.

Projektowanie układów FPGA. Żródło*6+.

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

Systemy na Chipie. Robert Czerwiński

Ogólny schemat inwertera MOS

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Układy cyfrowe w technologii CMOS

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc

Elektronika i techniki mikroprocesorowe

Układy scalone. wstęp układy hybrydowe

Pamięci RAM i ROM. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd. 2007

Język opisu sprzętu VHDL

Wprowadzenie do techniki Cyfrowej i Mikroelektroniki

4. Wpisz do tabeli odpowiednie oznaczenia ukladów: PAL, PLA, PLE

Architektura komputerów

Logiczne układy bistabilne przerzutniki.

MODEL KOMÓRKI UKŁADU FPGA ZBUDOWANEGO W OPARCIU O BRAMKI PRĄDOWE

Katedra Mikroelektroniki i Technik Informatycznych

Układy scalone i elementy systemów mikroelektromechanicznych (MEMS)

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Mikrosystemy Wprowadzenie. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt.

Programowalne układy logiczne

Architektura komputerów Wprowadzenie do algorytmów

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Cyfrowe układy kombinacyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Tranzystor jako element cyfrowy

Zbudować 2wejściową bramkę (narysować schemat): a) NANDCMOS, b) NORCMOS, napisać jej tabelkę prawdy i wyjaśnić działanie przy pomocy charakterystyk

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Systemy wbudowane. Układy programowalne

Pamięci RAM i ROM. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd. 2007

Bezpieczeństwo informacji oparte o kryptografię kwantową

Układy zegarowe w systemie mikroprocesorowym

Opis przedmiotu zamówienia

Programowalne układy logiczne kod kursu: ETD Wprowadzenie do techniki FPGA W mgr inż. Maciej Rudek dr inż.

Architektura komputerów Historia systemów liczących

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Podstawowe bramki logiczne

RODZAJE PAMIĘCI RAM. Cz. 1

Technika Cyfrowa 1. Wykład 8: Cyfrowe układy scalone V CYFROWE UKŁADY SCALONE. dr inż. Jarosław Sugier IIAR, pok.

Różnicowe układy cyfrowe CMOS

Komputerowe systemy wspomagania projektowania układów cyfrowych

Elementy cyfrowe i układy logiczne

Zaawansowane programowanie w języku C++ Wyjątki

Tranzystory polowe FET(JFET), MOSFET

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Elementy cyfrowe i układy logiczne

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Zaawansowane programowanie w języku C++ Klasy w C++

Projekt Układów Logicznych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

BEZAWARYJNE MECHANIZMY WSPOMAGANIA WSPÓŁCZESNYCH ROZWIĄZAŃ SPRZĘTOWYCH

Programowanie Układów Logicznych kod kursu: ETD6203. Wprowadzenie do techniki FPGA W mgr inż. Maciej Rudek dr inż.

Technika mikroprocesorowa

dr inż. Małgorzata Langer Architektura komputerów

Studia podyplomowe realizowane w ramach zadania 5 Systemy mobilne i techniki multimedialne

Politechnika Warszawska

Opis przedmiotu zamówienia CZĘŚĆ 1

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Architektura systemu komputerowego

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

Komputerowa symulacja bramek w technice TTL i CMOS

Układy FPGA w przykładach, część 2

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Programowalne układy logiczne kod kursu: ETD Wprowadzenie do techniki FPGA W mgr inż. Maciej Rudek

Cyfrowe układy scalone c.d. funkcje

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Rodzaje układów programowalnych

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Transkrypt:

Wprowadzenie Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja Prezentacja dystrybuowana dystrybuowana jest jest bezpłatnie bezpłatnie Politechnika Łódzka, ul. Żeromskiego 90-924 Łódź, tel. (042) 631 28 83 Projekt współfinansowany przez Unię116, Europejską www.kapitalludzki.p.lodz.pl w ramach Europejskiego Funduszu Społecznego

Wprowadzenie Postęp technologii Dzisiejsze układy scalone mogą zawierać setki milionów tranzystorów Tranzystory mają bramki o długości rzędu nanometrów Średnio co ok. 18 miesięcy liczba tranzystorów w układzie scalonym podwaja się - prawo Moore'a Konsekwencje Elementy uprzednio umieszczane na płytce drukowanej obecnie mogą zostać zintegrowane w postaci pojedynczego układu scalonego Stąd koncepcja System-on-Chip Od płytki drukowanej do SoC 2

Co to jest SoC SoC = sprzęt + oprogramowanie Sprzęt Wbudowany procesor "glue logic" Peryferia analogowe cyfrowe Pamięć Oprogramowanie System operacyjny, kompilator, symulator, sterowniki, stos protokołów, IDE 3

Współprojektowanie sprzętu i oprogramowania Sprzęt (ASIC, FPGA) Szybki Ale bardzo drogi Oprogramowanie (Procesor) Elastyczny Ale powolny Sprzęt + oprogramowanie = dobre rozwiązanie? 4

Aparat cyfrowy 5

Zalety SoC Mniej komponentów Koszt elementów Rozmiar i koszt płytki drukowanej Koszt montażu i testowania Mniej połączeń między układami Niezawodność Pobór mocy Projekt płytki, koszt jej produkcji i montażu Mniejsza objętość i waga systemu Większy stopień integracji Mniejszy koszt obudowy Niższe koszty transportu Mniejszy koszt układu przy dużej skali produkcji 6

7 System on Package System-on-Package (SoP) lub System-inPackage (SiP) to zaawansowane technologie obudów uzupełniające SoC.

SoPC System-on-a-Programmable Chip (SoPC) - termin wymyślony przez firmę Synopsys SoPC jest rozwiązaniem programowalnym przez użytkownika opartym na układach FPGA PR i programowanie wykonywane przez użytkownika Natychmiastowa produkcja prototypu Natychmiastowe rozpoczęcie masowej produkcji Brak kosztów NRE (Non-recurring engineering) Testy produkcyjne wykonywane przez producenta układów programowalnych Oszczędość czasu i zasobów w procesie projektowania Szybkie i tanie modyfikacje 8

9 SoC a SoPC Wytwarzanie SoC jest kosztowne Coraz kosztowniejsze fabryki Wzrastające koszty masek i precyzyjnej litografii Dostawcy koncentrują się na dużych klientach z duzymi zamówieniami Niewiele dostępnych usług MPW (Multi-Project Wafer) obniżających koszt prototypowania Błędy kosztują dużo pieniędzy i czasu Cykl prototypowania na pełnym waflu krzemowym może sięgać nawet 500,000... 1M Rozwiązania typu FPGA ewoluują Rdzenie procesorów wewnątrz układów Pojemność wielu milionów bramek Platformy SoC oparte na FPGA rozpowszechniają się coraz bardziej

Koszt wybudowania fabryki półprzewodników 10

11 Koszt wyprodukowania zestawu masek 1400 Proces (µ m) 2.0 0.8 0.6 0.35 0.25 0.18 0.15 0.13 1200 1000 Koszt pojedynczej maski ($K) 1.5 1.5 2.5 4.5 7.5 12 Liczba masek 12 12 12 16 20 26 22 40 28 30 800 600 400 Koszt zestawu masek ($K) 18 18 30 72 150 312 616 1,200 200 0 Źródło: easic

12 Perspektywa historyczna 1945 1950 1955 1960 1965 1970 1975 Transistors ICs (General) SRAMs DRAMs Microprocessors SPLDs CPLDs ASICs FPGAs Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 1980 1985 1990 1995 2000

Klasyfikacja układów ASIC ASIC FULL-CUSTOM ASIC = Application Specific Integrated Circuit SEMI-CUSTOM CELL-BASED STANDARD CELLS COMPILED CELLS ARRAY-BASED MACRO CELLS CUSTOM ROUTING (GATE ARRAYS) FIELD PROGRAMMABLE PLDs FPGAs 13

Field Engineer 14

15 Technologia CMOS Obecnie najpowszechniejszą technologią produkcji układów scalonych jest technologia CMOS (Complementary Metal-Oxide-Semiconductor) Zapewnia mały pobór prądu w stanie statycznym Moc rozpraszana proporcjonalna do częstotliwości i kwadratu napięcia zasilania Prędkość wzrasta ze wzrostem napięcia zasilania i spadkiem temperatury Tranzystory MOS mają izolowaną bramkę Stanowią obciążenie pojemnościowe

Tranzystor MOS Bramka polikrzemowa Warstwa dielektryka Elektroda metalowa Wyspy drenu i źródła Podłoże półprzewodnikowe 16

17 NMOS jako przełącznik + 3.3V + 3.3V

18 PMOS jako przełącznik + 3.3V + 3.3V

Inwerter CMOS TL VDD PMOS Vi Vo TD NMOS 19

20 Bramki CMOS: NAND oraz NOR A B A Y=AB Y=A+B B

21 Bramka transmisyjna CMOS C C C VDD in out in out in out VSS C C C

22 Inwerter trójstanowy C C C in out in out C C in out C

Przerzutnik wyzwalany poziomem C D Q C C Q C D C C Q Q c) D Q 23

Przerzutnik wyzwalany zboczem master D C M slave Q C D C C D Q Q M Q 24

25 Wired NOR VDD VDD out in1 out in1 in2

26 Układ programowalny Logic 1 Potential links a Pull-up resistors NOT b AND NOT Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y = 1 (N/A)

27 Technologia "fuses" Fuses Logic 1 Fat a Pull-up resistors Faf NOT Fbt b AND Fbf NOT Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y = 0 (N/A)

28 Przykład zaprogramowanego układu Logic 1 Fat a Pull-up resistors NOT b AND Fbf NOT Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y = a!b

29 Technologia "Antifuse" Unprogrammed antifuses a Logic 1 Pull-up resistors NOT b AND NOT Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y = 1 (N/A

30 Przykład zaprogramowanego układu Programmed antifuses a Logic 1 Pull-up resistors NOT b AND NOT Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y =!a b

Technologia "Antifuse" Amorph ous silico n co lumn Polysilicon via Meta l Oxide Meta l Su bstrate (a) Before programming Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" (b) After programming 31

Programowanie maską Logic 1 Mask-programmed connection Pull-up resistor Row (word) line Transistor Logic 0 Column (data) line Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 32

PROM (Programowalny ROM) Logic 1 Fusible link Pull-up resistor Row (word) line Transistor Logic 0 Column (data) line Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 33

34 EPROM (Eraseable Programmable ROM) Source terminal Control gate terminal Drain terminal Source terminal Control gate terminal Drain terminal control gate Silicon dioxide control gate source drain Silicon substrate (a) Standard MOS transistor Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" floating gate source drain (b) EPROM transistor

Układy oparte na EPROM Logic 1 Pull-up resistor Row (word) line EPROM Transistor Logic 0 Column (data) line Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 35

Technologia E2PROM Norma l MOS tra n sisto r E2PROM Cell Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" E 2P RO M tra n sisto r 36

Technologia oparta na pamięci statycznej SRAM Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 37

Podsumowanie technologii układów programowalnych Technology Symbol Predominantly associated with... Fusible-link SPLDs Antifuse FPGAs EPROM SPLDs and CPLDs E2PROM/ FLASH SPLDs and CPLDs (some FPGAs) SRAM SRAM FPGAs (some CPLDs) Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" 38

PLD (Programmable Logic Devices) Pierwsze układy programowalne nosiły nazwę PLD Wyróżnia się dwie grupy układów PLD: SPLDs : Simple PLDs CPLDs: Complex PLDs Pierwszy układ programowalny (PROM) wyprodukowany w latach 70tych CPLD późne lata 70-te i wczesne 80-te PLDs SPLDs PROM s PLAs CPLDs PALs GALs Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" etc. 39

40 PROM (Programmable ROM) Najprostszy PLD Predefiniowana macierz AND, programowalna macierz OR b c Predefined link Programmable link Address 0 Address 1 Address 2 Address 3 Address 4 Address 5 Address 6 Address 7!a!b!c!a!b c Programmable OR array a!a b!c!a b c a!b!c a!b c a b!c a b c a!a b!b c!c l l l Predefined AND array w x y Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs"

Zaprogramowany PROM b c Predefined link Programmable link Address 0 Address 1 Address 2 Address 3 Address 4 Address 5 Address 6 Address 7!a!b!c!a!b c Programmable OR array a!a b!c!a b c a!b!c a!b c a b!c a b c a!a b!b c!c l l l Predefined AND array w x y w = (a b) x =!(a b) Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y = (a b) ^ c 41

42 PLA (Programmable Logic Array) Programowalna macierz OR i AND b c Predefined link Programmable link N/A N/A N/A a!a b!b c!c l l l Predefined AND array w x y Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" Programmable OR array a

Zaprogramowany układ PLA b c Predefined link Programmable link a b c a c!b!c x = (a b c) (!b!c) y = (a b c) Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" l w = (a c) (!b!c) l Predefined AND array l a!a b!b c!c w x y Programmable OR array a 43

44 PAL (Programmable Array Logic), GAL (Generic Array Logic) Przeciwieństwo PROM Programowalna macierz AND, predefiniowana macierz OR a b c Predefined link Programmable link Predefined OR array l l Programmable AND array l a!a b!b c!c w x y Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs"

CPLD Macierz PLD Programowalne globalne połączenia 45

FPGA Trzy główne elementy: Configurable Logic Blocks (CLB) Programowalne układy wejścia/wyjścia Programowalne połączenia 46

47 CLB Slice Każdy slice zawiera dwie komórki logiczne Slice 16-bit SR Logic Cell (LC) 16x1 RAM 16-bit SR 4-input LUT LUT 16-bit SR 16x1 RAM MUX REG Logic Cell (LC) 4-input LUT y mux flip-flop q e clock 16x1 RAM 4-input LUT LUT a b c d clock enable set/reset MUX REG Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs"

48 LUT (Look-Up Table) a b c Truth table y = (a b)!c y a b c y 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Programmed LUT SRAM cells 1 0 1 1 1 0 1 1 000 001 010 011 100 101 110 8:1 Multiplexer Required function 111 ab c Rysunek: Maxfield C., "The Design Warrior's Guide to FPGAs" y

Wiodący producenci FPGA Xilinx Inc. www.xilinx.com Altera Corp. www.altera.com Atmel Corp. www.atmel.com Lattice Semiconductor Corp. www.latticesemi.com Actel Corp. www.actel.com QuickLogic Corp. www.quicklogic.com 49

50 Rynek FPGA Q1 2005 PLD Segment Actel Lattice 5% 7% FPGA Sub-Segment Xilinx QuickLogic: 2% Other: 2% 58% 33% 51% 31% Altera Xilinx Altera 11% All Others

Xilinx Główne produkty: układy FPGA i oprogramowanie do ich projektowania Firma nie posiada własnej fabryki półprzewodników Produkuje swoje układy w fabrykach: UMC (Taiwan) Xilinx jest udziałowcem w UMC od 1996 Seiko Epson (Japan) TSMC (Taiwan) 51

Rodziny FPGA firmy Xilinx Przestarzałe rodziny XC3000, XC4000, XC5200 Stare technologie 0.5µm, 0.35µm i 0.25µm. Nie zalecane dla nowych projektów. Tanie rodziny Spartan/XL pochodna XC4000 Spartan-II pochodna Virtex Spartan-IIE pochodna Virtex-E Spartan-3, Spartan 3E, Spartan 3L Wydajne rodziny Virtex (220 nm) Virtex-E, Virtex-EM (180 nm) Virtex-II, Virtex-II PRO (130 nm) Virtex-4 (90 nm) Virtex 5 (65 nm) 52

Podejścia do zagadnienia projektowania Narysować schemat Narysować diagram stanów Opisać w języku opisu sprzętu (VHDL*, Verilog,...) Narysować maski *VHDL - Very High Speed Integrated Circuits Hardware Description Language 53

Narysować schemat 54

Narysować diagram stanów 55

Opisać w języku opisu sprzętu 56

Narysować maski układu scalonego 57

Narysować maski układu scalonego 58

Narysować maski układu scalonego 59

Wprowadzenie Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja Prezentacja dystrybuowana dystrybuowana jest jest bezpłatnie bezpłatnie Politechnika Łódzka, ul. Żeromskiego 90-924 Łódź, tel. (042) 631 28 83 Projekt współfinansowany przez Unię116, Europejską www.kapitalludzki.p.lodz.pl w ramach Europejskiego Funduszu Społecznego