190 likes | 420 Views
Wstęp do FPGA. Temat pracy: „Analiza błędów w układach FPGA z wykorzystaniem JTAG” Kierownik pracy: dr inż. Piotr Gawkowski. Krzysztof Pisaniec. Agenda. Co to jest FPGA? Jakie są podstawowe zalety FPGA? Jak to działa? Jak tego używać? Kto to produkuje? Gdzie o tym poczytać?
E N D
Wstęp do FPGA Temat pracy: „Analiza błędów w układach FPGA z wykorzystaniem JTAG” Kierownik pracy: dr inż. Piotr Gawkowski Krzysztof Pisaniec
Agenda • Co to jest FPGA? • Jakie są podstawowe zalety FPGA? • Jak to działa? • Jak tego używać? • Kto to produkuje? • Gdzie o tym poczytać? • ...to naprawdę proste!
Podział układów scalonych (1) • Full-custom/VLSI (Very Large-Scale Integration) Wszystkie warstwy optymalizowane dla konkretnego systemu • Semi-custom/ASIC (Application-Specific IC) Rozwiązanie pośrednie – dolne wartstwy preprojektowane, projektant decyduje o połączeniach między nimi • PLD (Programmable Logic Device) np. FPGA Wszystkie warstwy istnieją a połączenia są tworzone lub niszczone przez projektanta.
FPGA FPGA = Field Programmable Gate Array Technologia układów scalonych reprogramowalnych przez projektanta przy wykorzystaniu specjalizowanych narzędzi oraz języków opisu sprzętu (HDL), przypominających klasyczne języki programowania. Zastosowania: • prototypowanie wielkoseryjnych układów ASIC • urządzenia produkowane w krótkich seriach • testowanie nowych technologii, algorytmów • praca w systemach podlegających sprzętowej rekonfiguracji • wszędzie tam, gdzie opłaca się zrównoleglenie operacji • wszędzie tam, gdzie nie radzi sobie mikrokontroler • ... i nie tylko (implementacje procesorów, np. 8051, ARM, NIOS II)
Jak to działa? (1) Architektura układów FPGA
Jak to działa? (2) Komórka logiczna układów FLEX firmy Altera
Jak to działa? (3) Architektura układu Struktura LAB FLEX 8000 firmy Altera
Języki opisu sprzętu HDL (1) • VHDL Multiplexer 4x1. Źródło: PUCY, M.Pawłowski, materiały do wykładu
Języki opisu sprzętu HDL (2) • Verilog ... przykład implementacji pod koniec prezentacji
Producenci • Altera →www.altera.com • rodzina Stratix (high-end apps) • Stratix III (11/06): do 338.000 LE, zegar do 600MHz, >1000 I/O pins • rodzina Cyclone (low-cost apps) • Cyclone II: do 68.000 LE, >600 I/O pins • Xilinx →www.xilinx.com • rodzina Spartan (low-cost apps) • Spartan 3: 5M bramek, do 74.880 LE, >750 I/O pins • rodzina Virtex (high-end apps) • Virtex-5: do 331.000 LE, zegar do 550Mhz, >1200 I/O pins ...oraz układy firm Actel, Atmel, Quicklogic i innych...
Narzędzia sprzętowe (1) Zestaw z układem Cyclone firmy Kamami (ZL7PLD+ZL11PRG-M) • układ Altera Cyclone EP1C3 • gniazdo do wyświetlacza LCD 2x16 znaków • 4-cyfrowy, multipleksowany wyświetlacz LED • 8 diod LED • 4 przyciski do dowolnych zastosowań • generator kwarcowy 3,6864 MHz w podstawce • generator RC o regulowanej częstotliwości (5...400Hz) • głośnik piezoelektryczny • interfejs RS232 z konwerterem napięciowym • złącze do dołączenia konwertera UART<->USB • złącze JTAG (konfiguracja FPGA) • złącze CNF (programowanie ISP) • programator (emulacja m.in. ByteBlaster II) Cena: ok. 600 PLN www.kamami.pl
Narzędzia sprzętowe (2) Moduł 301_FPGA_EP1K30 do systemu SML w pracowni 315 Instytutu Informatyki z układem ACEX firmy Altera • układ Altera ACEX EP1K30TC144-30 • 1.728 LE • możliwość łączenia z innymi modułami SML
Narzędzia programistyczne • Atera Quartus II 6.1 dostępny za darmo • Xilinx ISE 8.2i, dostępny w wersji darmowej (WebPACK) • Cechy: • kompletne środowisko programistyczne dla Windows • kompilator VHDL, Verilog • zaawansowany symulator • Cechy: • środowisko programistyczne dla Windows i Linux • kompilator VHDL, Verilog • zaawansowany symulator
Przykładowy projekt (1) • Zadanie Zaprojektuj urządzenie, wyszukujące wzorzec ‘abba’ w strumieniu danych wejściowych. Wzorce nie muszą być rozłączne ( w strumieniu ‘abbabba’ liczba wystąpień wzorca to 2 ). Założenia: automat synchroniczny, ‘a’ = 0, ‘b’ = 1 ...aababaababbaabbbabb....
Przykładowy projekt (2) • Automat stanów a a 00010 Start a - 00001 a abba 10000 ! b a b b a b abb 01000 ab 00100 b
Przykładowy projekt (3) • Wynik symulacji w programie Quartus II
Narzędzia programistyczne • Atera Quartus II 6.1 dostępny za darmo • Xilinx ISE 8.2i, dostępny w wersji darmowej (WebPACK) • Cechy: • kompletne środowisko programistyczne dla Windows • kompilator VHDL, Verilog • zaawansowany symulator • Cechy: • środowisko programistyczne dla Windows i Linux • kompilator VHDL, Verilog • zaawansowany symulator
Literatura • www.altera.com • www.xilinx.com „Synteza układów cyfrowych” pod red. Prof. T. Łuby WKŁ, 2003 (1) „Projektowanie układów cyfrowych z wykorzystaniem języka VHDL” Mark Zwoliński WKŁ „Synthesis of Arithmetic Circuits” J.P. Deschamps, G. Bioul, G. Stutter Wiley – Interscience, 2006 ...oraz przedmioty: PUCY, SOUC, ...
... Dziękuję za uwagę. Pytania?