Układy programowalne. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Podobne dokumenty
Komputerowe systemy wspomagania projektowania układów cyfrowych

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

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

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

Współczesne techniki informacyjne

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

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

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

Rekonfigurowalne systemy scalone

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

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

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

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Systemy wbudowane. Układy programowalne

Układy kryptograficzne z uŝyciem rejestrów LFSR

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

Temat: Pamięci. Programowalne struktury logiczne.

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

Elektronika i techniki mikroprocesorowe

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

Cyfrowe układy scalone

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Systemy na Chipie. Robert Czerwiński

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

System mikroprocesorowy i peryferia. Dariusz Chaberski

Architektura komputerów

Cyfrowe układy scalone

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

Układy logiczne układy cyfrowe

Podstawy Informatyki JA-L i Pamięci

Układy logiczne układy cyfrowe

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Cyfrowe układy scalone

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Implementacja algorytmu szyfrującego

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

dokument DOK wersja 1.0

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

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

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

MAXimator. Zestaw startowy z układem FPGA z rodziny MAX10 (Altera) Partnerzy technologiczni projektu:

Ćw. 7: Układy sekwencyjne

RODZAJE PAMIĘCI RAM. Cz. 1

Paweł Tomaszewicz, dr inŝ. tomaszewicz.zpt.tele.pw.edu.pl

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

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

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

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

WPROWADZENIE Mikrosterownik mikrokontrolery

Zwiększanie wiarygodności systemów wykorzystujących układy programowalne

Elementy cyfrowe i układy logiczne

Układy programowalne

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

dr inż. Jarosław Forenc

Architektura komputerów, Informatyka, sem.iii. Sumatory

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Segmenty rynku sterowników

Programowanie Mikrokontrolerów

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

Politechnika Warszawska

Przykładowe pytania DSP 1

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Magistrala systemowa (System Bus)

ZL10PLD. Moduł dippld z układem XC3S200

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Technika Mikroprocesorowa

Wejścia logiczne w regulatorach, sterownikach przemysłowych

Język opisu sprzętu VHDL

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Wstęp Architektura... 13

NX70 PLC

Bezpieczeństwo informacji oparte o kryptografię kwantową

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Przegląd struktur i możliwości analogowych układów programowalnych

Krótkie przypomnienie

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1

Architektura systemu komputerowego

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

To nie huragan, to Cyclone II!

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Popularne pamięci FLASH firmy GigaDevice

Artykuł zawiera opis i dane techniczne

Szybkie układy mnożące

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Bezpieczeństwo informacji oparte o kryptografię kwantową

Transkrypt:

Układy programowalne GA PA FPGA FEX EP 1

Układy programowalne przez uŝytkownika FP P FPGA PA PA OOK-UP TABE GA XPA Classic EP XC 3000 XC 4000 MAX, APEX Spartan ispsi Virtex MAC Cyclone XC9500 Stratix MUX (ACTE) 2

ogika programowalna P FPGA Programmable ogic evices Field Programmable Gate Arrays 3

Układy programowalne przez uŝytkownika CP kilka lub kilkanaście makrokomórek (sea-of-gates), mała liczba przerzutników, mniejsza pojemność logiczna, mniejszy i przewidywalny czas propagacji (szybsze), nieulotna konfiguracja po włączeniu zasilania układ gotowy do pracy, moŝliwe przeprogramowanie (reprogramming) FPGA - od kilkudziesięciu do setek tyś. komórek, duŝa pojemność logiczna, duŝy czas propagacji w połączeniach, ulotna konfiguracja po włączeniu zasilania trzeba zaprogramować układ (reconfiguring), stąd problem z bezpieczeństwem projektu, w nowych układach wbudowane pamięci i bloki arytmetyczne SP 4

Układy programowalne przez uŝytkownika Technologie w układach reprogramowalnych: SRAM - static memory, wymaga reprogramowania in-system programmable, re-programmable, CMOS. Antifuse jednokrotne programowanie, CMOS. EPROM - Erasable Programmable Read-Only Memory technology. Jednokrotne programowanie, moŝliwość wykasowania zawartości promieniami UV przez okno, CMOS. EEPROM - Electrically Erasable Programmable Read-Only Memory, moŝliwość kasowania, moŝliwość programowania w systemie (in-system programming), CMOS. Flash - Flash-erase EPROM, moŝliwość kasowania, moŝliwość programowania w systemie (in-system programming), komórka flash jest mniejsza od komórki EEPROM (tańsza), CMOS. Fuse - jednokrotne programowanie, bipolar. 5

Układy programowalne przez uŝytkownika FPGA vs ASIC: FPGA (początkowo) wolniejsze, większe zapotrzebowanie na energię, mniejsza funkcjonalność w porównaniu do specjalizowanych ASIC, (obecnie) dzięki postępowi technologicznemu szybsze, oszczędniejsze w zapotrzebowanie na energię (układy mobilne), większe pojemności logiczne, moŝliwość częściowej rekonfiguracji układu przy pracującej pozostałej części (dynamiczna rekonfiguracja) Krótszy czas produkcji (time to market), moŝliwość zmiany funkcjonalności lub usuwanie błędów (reprogramming) zmniejsza koszty jednorazowe NRE (non-recurring engineering costs) 6

Struktura PA C B A MATRYCA OR (PROGRAMOWANA) MATRYCA AN (PROGRAMOWANA) Q 3 Q 2 Q 1 Q 0 7

Struktura PA C B A MATRYCA OR (STA A) MATRYCA AN (PROGRAMOWANA) Q 3 Q 2 Q 1 Q 0 8

Realizacja PA y = abc+ ac+ bc 1 y = ac+ bc+ a 2 ad a b c d b c y 1 y 1 d y 2 y 2 9

Realizacja PA y 1= abc+ ac+ bc y = ac+ bc+ ad 2 a b c d y 1 y 2 10

Układy PA 1 2 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 28293031 19 1 2 clk 0 1 2 3 4 5 6 7 0 1 2 3 28 2930 31 Q Q 3 8 9 10 11 12 13 14 15 18 56 57 58 59 60 61 62 63 Q Q 56 57 58 59 60 61 62 63 9 11 12 9 sekwencyjny kombinacyjny przerzutnik 11

Układy programowalne FPGA CP charakteryzują się ziarnistą budową 12

ZłoŜone układy P (CP) AN Array 8 macro Macrocell Macrocell cell Macrocell Macrocell 8 macro cell Programmable Interconnect Array 8 macro cell Macrocell Macrocell P COMPEX P 13

Struktury programowalne MAX I/O OUTPUT ENABE SYSTEM COCK PRESET P Q ARRAY COCK CEAR C TO I/O CONTR O BOCK From inputs From PIA Expander Product Terms I/O and Macrocell Feedback AN Array 8 8 macro cell macro cell 8 P macro cell 14

Makrokomórka układów MAX7000 ogic Array Up to 15 Parallel ogic Expander (from other macrocells) Global Clear Global Clock Product- Term Select Matrix Preset Clock Clear Clear Select Clock/En able Selec t Vcc Regist er Bypas PRN ENA CRN to I/O Block Programmable Interconnect Signals Up to 16 Expander Product Terms Shared ogic Expander to PIA 15

Ekspander (serii MAX) A B E F C G (A + B + C +...)(E + F + G +...) = (AE + AF +...) 16

Układy FEX8000 IOE IOE IOE IOE I/O Element IOE IOE IOE IOE ogic Array Block (AB) Fast Track Interconnect IOE IOE IOE IOE ocal Interconnect Row Interconnect ogic Element (E) Cascade & Carry Chain Column Interconnect IOE IOE IOE IOE 17

Komórka układu FEX8000 Komórka logiczna E ogic Element Cascade Out ATA1 ATA2 ATA3 ATA4 Cascade In Carry IN ook-up Table (UT) Carry Chain Cascade Chain PR CR Q Programmable Register E Out Carry Out Preset Clear Clock 18

Układ FEX10K 19

FEX10K - Blok komórek AB ocal Array Block 20

FEX10K Komórka E 21

Szybkie sygnały przeniesienia Carry chain 22

Pamięć wbudowana Flex10K 23

Pamięć wbudowana Flex10K Przykład konfiguracji bloku pamięci Przykład konfiguracji kilku bloków pamięci 24

Struktura FPGA firmy XIINX I / O BOCK CON FIGURAB E OGIC BOCK INTERCONNECTE AREA 25

Układy FPGA firmy Xilinx Configurable ogic blocks (CBs) ATA IN OGI C VARIABES.di.a.b.c.d.e QX F CO MBINATIONA FUNCTION G QY F IN G F IN G 0 MUX 1 0 MUX 1 Q R Q QX F G QY.X CB OUTPUTS.Y ENABE clk clk RESET.ec "1" (ENABE).k.rd "0" (I N IBIT) R (GOBA RESET) 26

Komórka FPGA (XIINX) ATA IN.di OGI C VARIABES.a.b.c.d.e QX F CO MBINATIONA FUNCTION G QY F 0MUX IN 1 G F IN G 0 MUX 1 Q R Q QX F G QY.X CB OUTPUTS.Y ENABE clk clk RESET.ec.k.rd "1" (ENABE) "0" (I N IBIT) R (GOBA RESET) 27

Połączenia ciągłe i segmentowe A) CP B) FPGA A B A B C C STAŁE/PRZEWIYWANE OPÓŹNIENIA ZMIENNE/NIEPRZEWIYWANE OPÓŹNIENIA 28

Struktury najnowsze ROM FIFO SP RAM 29

MAX II: Najtańsze CP Nowa Architektura ogiczna 1/2 kosztu 1/10 poboru mocy 2 x osiągi 4 x pojemność Nieulotne, Instant-On Zasilanie: 3.3-, 2.5- & 1.8-V 30

Zalety MAX II 1/2 ceny Produkty konsumenckie Urządzenia komunikacyjne 4x złoŝoność 1/10 mocy Urządzenia z zasilaniem bateryjnym 2 x osiągi Urządzenia komputerowe 31

MAX II = CP + FPGA Potrzeby uŝytkownika CP: Potrzeby uŝytkownika FPGA: Stała gotowość Niski koszt Łatwość uŝycia Trwałość Pojedynczy układ uŝe upakowanie Wysoka fmax Wbudowana SRAM Pętla fazowa Ps Intellectual Property (IP) CP FPGA 32

Architektura MAX II komórki (E) końcówki I/O Flash (pamięć konfiguracyjna 50-300kbit) JTAG & logika sterująca Flash (pamięć uŝytkownika 8kbit) 33

MAX II - komórka E 34

Łańcuchy UT i rejestrów Łańcuch UT Szybsze realizacje funkcji z licznymi wejściami Łańcuch Rejestrów UT nie jest potrzebny do utworzenia rejestru przesuwającego Oba łańcuchy tworzy się z E znajdujących się jeden pod drugim, do granicy ABu E1 E2 UT UT Reg Reg To E3 To E3 E Chain Register Chain 35

Tani układ FPGA: Cyclone Niska cena/uŝa pojemność logiczna Komórki logiczne: do 20 060, 10 E w jednym AB Pamięć: do 288kbitów 36

Wbudowana pamięć EAB Cyclone Pamięć EAB o pojemności 4kbit (M4K): 4096 1, 2048 2, 1024 4, 512 8 (lub 512 9 bitów), 256 16 (lub 256 18bitów), 128 32 (lub 128 36 bitów) Wydajność 250Mz Tryby pracy RAM: dwu portowa, jedno portowa Bit parzystości Zapis bajtowy (byte enable) Konfiguracje: ROM, FIFO, rejestr przesuwny 37

Konfiguracja pamięci: rejestr przesuwny Tryb wykorzystywany w aplikacjach SP (filtry, generatory) w m n < 4kbity w n < 36 (maks. szerokość słowa) 38

Zapis bajtowy ( Zapis bajtowy (byte enables) la pamięci o długości słowa 16, 18, 32 lub 36 bitów zapis maskowany 39

Jeszcze większy FPGA: Cyclone II Większa pojemność logiczna Mniejszy pobór mocy Komórki logiczne: do 68416 E Wbudowana pamięć: do 1,1Mbitów MnoŜarki 18 18: do 150 sztuk 40

MnoŜarki Cyclone II MnoŜarki wykorzystywane w aplikacjach SP: filtr FIR, transformata FFT, transformata CT MnoŜarka 18 18 moŝe pracować jako dwie mnoŝarki 9 9 41

MnoŜarki Cyclone II JeŜeli signa, signb = 1 to czynnik jest traktowany jako liczba ze znakiem (signed) 42

MnoŜarki Cyclone II Sygnał signa kontroluje trybem pracy obydwa wejścia A, i signb obydwa wejścia B. 43

Szybsze układy FPGA: Stratix Szybkość zegara do 420Mz Komórki logiczne: do 79 040 E (po 10 w jednym AB) Pamięć: do 7,5Mbitów Bloki SP: do 22 szt. MnoŜarki 9 9: do 176 szt. 44

Wbudowana pamięć Stratix 45

Blok SP Stratix Blok SP moŝe być skonfigurowany jako: osiem mnoŝarek 9 9 cztery mnoŝarki 18 18 dwie mnoŝarki 36 36 Blok SP moŝe takŝe realizować funkcję dodawania lub akumulacji. 46

Blok SP Stratix: blok sumatora i akumulatora Wyjścia z mnoŝarek 47

Blok SP Stratix: tryby pracy 48

Przykład: MnoŜenie liczb zespolonych Tryb pracy: Two- Multiplier Adder Mode (a + jb) (c + jd) = (a c b d) + j (a d + b c) 49

Elastyczne układy FPGA: Stratix II Nowy rodzaj komórki logicznej AM (Adaptative ogic Module) jeden AB zawiera 8 AM, jeden AM zawiera 2 AUT Pamięć: do 9 383 040 bitów Bloki SP: do 96 szt., do 384 mnoŝarek 18 18 Szyfrowanie danych konfiguracyjnych algorytmem AES 50

Moduł AM Moduł AM: do 8 wejść do 2 wyjść 51

AM przykład: funkcja 5-wejściowa Wąski UT Szeroki UT Input 1 Input 2 Input 3 Input 4 Input 5 ŚcieŜka krytyczna UT UT UT UT Output Input 1 Input 2 Input 3 Input 4 Input 5 ŚcieŜka krytyczna UT Utracony obszar Wyjście Wolny, efektywnie wykorzystany Szybki, nieefektywnie wykorzystany 52

Efektywność wykorzystania archite chitektur tury Architektura 4-wejściowa uŝyte 4 z 4 wejść 100% UT wykorzystane (0 z 16 stracone) Pierwotna funkcja: 4-wejściowa Architektura 5-wejściowa uŝyte 4 z 5 wejść 50% UT wykorzystane (16 z 32 stracone) Architektura 6-wejściowa 4 z 6 wejść uŝyte 25% UT wykorzystane (48 z 64 stracone) 53

Efektywność wykorzystania archite chitektur tury Elastyczne dostosowanie do wymagań: UT UT ƒ 1 ƒ 1 ƒ 2 Szeroki UT Szybki Wąski UT Efektywny 54

AM: wie funkcje 6-wejściowe S X [1..0] Przykład - przełącznik krzyŝowy 4 x 2 Ta sama funkcja jako 4-wejściowy multiplekser z 2 sygnałami adresu A B C S Y [1..0] X Y 55

Przykład realizacji: przełącznik krzyŝowy Implementacja w Stratix Implementacja w Stratix II A B S X [0] S X [1] C 4- UT 4- UT E E X S X [0] S X [1] A B C 6- UT X S Y [0] S Y [1] 4- UT 4- UT E E Y S Y [0] S Y [1] 6- UT Y AM Wykorzystuje cztery E Wykorzystuje dwa AM 56

Przykład funkcji box - 6x1 (szyfr ES) Implementacja w Stratix Implementacja w Stratix II A B C 4- UT 4- UT E E 4- UT E 4- E B UT C 6- UT 4- E E E 4- UT X F UT A AM X E F ZuŜywa 6 E (3-poziomy) ZuŜywa 1 AM (1-poziom) 57

Adaptacyjny UT (AUT) 1 2 3 4 5 Comb. ogic Adder Reg 6 7 8 Adder Reg Jeden AM zawiera dwa AUT 58

AM w trybie normalnej konfiguracji AM AM 5-UT 5-UT AM 7- UT (1) 3-UT AM AM 4-UT 4-UT 4-UT AM 5-UT AM 6- UT (2) 6- UT (2) 6-UT 5-UT (1) AM mogą realizować podzbiory wszystkich funkcji 7-wejściowych (2) Muszą reprezentować tą samą funkcje logiczną 59

AM tryb arytmetyczny wa dedykowane sumatory na AM e0 f0 c b a 4-UT 4-UT carry_in + Reg0 d e1 f1 4-UT 4-UT + carry_out Reg1 60

Realizacje drzewa sumatorów Implementacja drzewa sumatorów w Stratix Suma 2 bitów w E Implementacja drzewa sumatorów w Stratix II Suma 3 bitów w AM 128 wejścia 64 sumatory 32 sumatory 16 sumatorów 8 sumatorów + + + + + + + + + + + + + 128 wejścia 42 sumatory 14 sumatorów 5 sumatorów + + + + + + + + + + 4 sumatory + + + + 1 sumator + 2 sumatory + + 1 sumator + 2 sumatory 127 sumatorów, 7 poziomów (~8,600 E) 64 sumatory, 5 poziomów (~2,500 AM) 61

rzewo sumatorów w AM 1-szy poziom (UTy) 2-gi poziom (sumatory) Przykład: + + 1 1 0 1 0 1 0 1 0 X 2 X 1 X 0 Y 2 Y 1 Y 0 + Z 2 Z 1 Z 0 S 2 S 1 S 0 C 2 C 1 C 0 R 3 R 2 R 1 R 0 + 6 5 2 X 0 Y 0 Z 0 X 0 Y 0 Z 0 X 1 Y 1 Z 1 X 1 Y 1 Z 1 X 2 Y 2 Z 2 S 0 R 3 UT + 0 Carry Chain 3 UT 3 UT 3 UT C 0 Shared Arith Chain S 1 + C 1 S 2 3 UT + R 1 R 2 AM + 0 0 1 1 1 0 1 1 0 1 1 + 2 * 6 13 X 2 Y 2 Z 2 3 UT 3 UT C 2 0 + R 3 62

Zabezpieczenie projektu w STRATIX II Pierwszy układ z wbudowanym zabezpieczeniem projektu Oparty na 128-bitowym algorytmie kryptograficznym (AES) Klucz przechowywany w trwałej pamięci w układzie Układ jest reprogramowalny z ostatnio kluczem wpisanym Intellectual Property Zapobiega kradzieŝy własności intelektualnej 63

Zabezpieczenie konfiguracji Krok 1: Zapis klucza do układu Stratix II 128-bitowy klucz AES Non-Volatile Key Storage Krok 2: Szyfrowanie pliku POF i zapis do pamięci Pamięć lub układ konfigurowany Plik do programowania (POF) Szyfrowanie w systemie Quartus II Zaszyfrowany POF 64

Zabezpieczenie konfiguracji Non-Volatile Nieulotna Pamięć Key Storage klucza Krok 3: Odbiór i deszyfracja zaszyfrowanego POF AES deszyfrator Pamięć Memory lub or Configuration układ konfigurowany evice 65

Programowanie układów Wektory testowe Moduł programujący Kompilator MAX+PUS II.pof.jed.sof.scf.vec Programator.plf.jed.pof BitBlaster Raport.hex.ttf.sbf.rbf 66

Programowanie w systemie (ISP) In-System Programming System szeregowej komunikacji z układem mikrokontrolera. MoŜliwy bez wyjmowania układu z podstawki / bez wylutowywania 67

Redundancja pozwala naprawić defekt Patent ATERY dla technologii P Znaczne zwiększenie uzysku Element I/O (IOE) IOE IOE IOE IOE IOE IOE IOE ogic Array Block IOE Sekcja z defektem IOE IOE IOE IOE Uaktywniona sekcja nadmiarowa 68

Analizator ogiczny SignalTap UŜytkownik definiuje sygnały, punkty do kontroli i zbierania danych testowych ane są zapamiętywane w blokach EAB ane testowe są przekazywane do analizy w systemie QUARTUS UŜycie megafunkcji SignalTap pozwala wyeliminować tradycyjny analizator logiczny System Quartus FPGA SignalTap Megafunction Kabel interfejsu 69

Wyzwania dla projektanta systemu Szybsze wejście na rynek Krótszy okres Ŝycia produktu NiŜszy koszt Większe wymagania 70

Wyzwania dla projektanta systemu Skala problemów Mikro Ultra-high speed design Interconnect Noise, Crosstalk Reliability, Manufacturability Power issipation Clock distribution. Ma Makro ro Time-to to-market Millions of Gates igh-evel Abstractions Reuse & IP: Portability Predictability Productivity etc.? 71

Czynniki sukcesu rynkowego Niski koszt i krótki cykl (time-to to-market) Czynniki wpływające na sukces rynkowy ObniŜenie kosztu Wzrost funkcjonalności Skrócenie cyklu (time to market) Wzrost szybkości systemu Wzrost jakości/niezawodności Łatwiejsze wykorzystanie Redukcja wymiarów Redukcja poboru mocy 0 10 20 30 40 50 60 70 Source: ataquest Ocena w % 72

Porównanie kosztów realizacji ASIC = koszt układu + koszt opracowania + koszty kryte FPGA minimalizuje koszty ukryte Brak kosztów NRE Brak strat ( utraconej szansy ) ost Brak kosztów powtarzania cyklu Opportunity Niski koszt rezerw NREs Koszty ukryte Całkowity koszt ($) evelopment Cost evelopment Cost evice Unit Cost FPGA evice Unit Cost ASICs 73

Przykłady zastosowań - kryptografia Implementacje algorytmów kryptograficznych Algorytmy kryptograficzne realizacje sprzętowe realizacje programowe stałe Rekonfigurowalne ASIC FPGA Intel, RISC uprocesory wbudowane (SP, smart card,...) 74

Przykłady zastosowań - telekomunikacja Modulator Outer Coding ayer Inner Coding ayer FIR Compiler Input ata Scrambler inear Feedback Shift Register FEC Reed Solomon Encoder Interleaver Convolutional Symbol Mapper ROM UT Convolutional Encoder I Q N PF Numerically Controlled Oscillator N PF AC PM Altera MegaCore Function AMPP MegaFunction FPGA FIR Compiler To Analog Circuitry Output ata 75

Przykłady zastosowań - telekomunikacja emodulator PF N EQ EQ AC NCO EQ Symbol +Clock Recovery Symbol emapper +Error Term AGC Automatic Gain Control PF N EQ EQ PM Viterbi ecoder e-interleaver FEC escrambler Altera MegaCore Function AMPP MegaFunction Inner Coding ayer Outer Coding ayer 76