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

Podobne dokumenty
Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

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

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

Systemy na Chipie. Robert Czerwiński

Cyfrowe układy scalone

Cyfrowe układy scalone

Język opisu sprzętu VHDL

Elementy cyfrowe i układy logiczne

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Cyfrowe układy scalone

Opisy efektów kształcenia dla modułu

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Opisy efektów kształcenia dla modułu

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

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

Katedra Mikroelektroniki i Technik Informatycznych

Opis przedmiotu zamówienia CZĘŚĆ 1

2. Architektura mikrokontrolerów PIC16F8x... 13

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektronika i techniki mikroprocesorowe

Temat: Pamięci. Programowalne struktury logiczne.

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Wykład Mikroprocesory i kontrolery

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

AiR_UCiM_3/5 Układy Cyfrowe i Mikroprocesorowe Digital Circuits and Microprocessors

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Komputerowe systemy pomiarowe. Dr Zbigniew Kozioł - wykład Mgr Mariusz Woźny - laboratorium

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

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

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

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

ZL19PRG. Programator USB dla układów PLD firmy Altera

System mikroprocesorowy i peryferia. Dariusz Chaberski

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

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

Systemy uruchomieniowe

PROJEKTOWANIE UKŁADÓW VLSI

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Opis przedmiotu zamówienia

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

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

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Programowalne Układy Cyfrowe Laboratorium

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Opracował: Jan Front

1.2. Architektura rdzenia ARM Cortex-M3...16

Metody optymalizacji soft-procesorów NIOS

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Wstęp Architektura... 13

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

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

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

2. PRZERZUTNIKI I REJESTRY

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

Systemy wbudowane Mikrokontrolery

Wykład Ćwiczenia Laboratorium Projekt Seminarium Egzamin / zaliczenie na ocenę*

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

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

Systemy wbudowane. Paweł Pełczyński

WPROWADZENIE Mikrosterownik mikrokontrolery

PROGRAMOWALNE STEROWNIKI LOGICZNE

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

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

PRZEWODNIK PO PRZEDMIOCIE

DOKUMENTACJA PROJEKTU

Technika Cyfrowa. Badanie pamięci

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

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

MIKROKONTROLERY I MIKROPROCESORY

PRZEWODNIK PO PRZEDMIOCIE

E-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

MIKROPROCESOROWE UKŁADY STEROWANIA

Układy programowalne

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Technika Mikroprocesorowa

Technika mikroprocesorowa

KARTA PRZEDMIOTU. Nr Opis efektu kształcenia Metoda sprawdzenia efektu kształcenia. Forma prowadzenia zajęć

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Transkrypt:

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

Informacje Prowadzący: Konsultacje: Strona kursu: mgr inż. Maciej Rudek Wt: 015a/104b C2 g. 10-12 Cz: 015a/104b C2 g. 10-12 http://www.w12.pwr.wroc.pl/mikro/ Kontakt: email: maciej.rudek@pwr.edu.pl email: bartosz.swiadkowski@pwr.edu.pl 2 lab. 015a lub 104b w C2 tel. 71 320 3651

Kalendarz - laboratorium Zajęcia pełne 3 Zajęcia połówkowe 8:00 9:30 Zajęcia połówkowe 11:30 13:00

Kalendarz - laboratorium - projekt 4 Praca nad projektem Ostateczny termin oddania projektów 4 i 13 czerwca do godziny 22 00

Kalendarz - wykład Zajęcia od 21 lutego do 6 czerwca Kolokwium 13 czerwca 5 Poprawa 20 czerwca

Wymagania wstępne cel Zakładam, że podstawy już opanowane W tym roku ciąg dalszy techniki cyfrowej i VHDL-a w praktyce 6

7 Tematyka kursu wykład

Tematyka kursu - projekt 8 7 spotkań po 3 godz. (180 min) i 1 spotkanie 2 godz. (90 min)

Zaliczenie Wykład: cykl 15 wykładów kolokwium zaliczeniowe -> test wyboru + pytania otwarte, termin: ostatni wykład tj. 13 czerwca 2018 godz. 13:15, poprawa: 20 czerwca Możliwe zaliczenie na wykładzie każdy wykład kończy się przykładowymi pytaniami od 5 10, w trakcie następnego wykładu możliwa kartkówka z poprzedniego wykładu, do zdobycia 40 punktów = 5.0, ewentualnie część punktów doliczona zostaje do kolokwium. 9

Zaliczenie zajęcia projektowe Projekt: 8 spotkań, praca na zajęciach kilka zadań realizowanych w czasie zajęć, kartkówki, aktywność, projekt indywidualny: wybór tematu, założenia projektowe, kod programu, uruchomienie, szczegółowa dokumentacja projektu, prezentacja. Realizacja projektu: od drugich zajęć 10

Literatura kursu W ramach powtórzenia techniki cyfrowej: [1] K. M. Noga, M. Radwański, Multisim, Technika cyfrowa w przykładach, Wydawnictwo BTC, 2009 [2] B. Wilkinson, Układy cyfrowe, Wydawnictwa Komunikacji i Łączności, 2003 O jezyku VHDL, Verilog i układach programowalnych FPGA: [1] D. Kania, Układy logiki programowalnej, Podstawy syntezy i sposoby odwzorowania technologicznego, Wydawnictwo PWN (2012) [2] K. Skahill, Język VHDL: projektowanie programowalnych układów logicznych, Wydawnictwa Naukowo- Techniczne, 2004 [3] M. Zwolinski, Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, Wydawnictwa Komunikacji i Łączności, 2002 [4] J. Majewski, P. Zbysiński, Układy FPGA w przykładach, Wydawnictwo BTC, 2007. [5] P. Zbysiński, J. Pasierbiński, Układy programowalne pierwsze kroki, wydanie 2, BTC Warszawa, 2004 [6] W. Wrona, VHDL: język opisu i projektowania układów cyfrowych, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, 1998 [7] J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, Wydawnictwa Komunikacji i Łączności, 2001 [8] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009 11 Źródła internetowe: [1] http://www.xilinx.com/training/free-video-courses.htm [2] http://www.digilentinc.com/data/textbooks/intro_digital_design-digilent-vhdl_online.pdf [3] http://www.fpga4fun.com/ [4] http://www.eng.auburn.edu/department/ee/mgc/vhdl.html [5] http://www.ics.uci.edu/~alexv/154/vhdl-cookbook.pdf

Szczegóły realizacji projektu

Projekt indywidualny TERMIN 1: Zajęcia wstępne, wprowadzenie TERMIN 2: Wybór tematu projektu, lista założeń TERMIN 3-6: Realizacja projektów TERMIN 7: Prezentacja projektów TERMIN 8: Prezentacja / Dyskusja / Ocena 13

TERMIN 2 w formie pisemnej 1. Wybór tematu projektu (przemyśleć): lista na stronie www, propozycja własna. 2. Założenia projektowe do wybranego tematu: układ, urządzenie, peryferia, ogólna koncepcja, zasada działania, zastosowanie. 3. Proces realizacji: schemat działania, diagram przepływu danych, algorytm opis symboli, bloków. 4. Zasoby sprzętowe: ilość potrzebnych układów peryferyjnych, ocena możliwości implementacji w sprzęt. 14 Ocena na podstawie raportu *.doc, z powyższych punktów

TERMIN 3-6 1. Realizacja koncepcji projektowej kod VHDL, diagramy, maszyna/y stanów itp, ograniczenia. 2. Kodowanie testy, głównie testbench, komponenty, schemat kodowy, troska o zasoby sprzętowe. 3. Implementacja testy poszczególnych funkcjonalności ze sprzętem, testowanie peryferiów, np. DAC, ADC, DS18B20 itp. 15 Ocena na podstawie postępów realizacji założeń

TERMIN 8 Oddanie projektu Dokumentacja: PDF Prezentacja ustna - PPT 5 7 min Test ze sprzętem - implementacja Zaliczenie: na podstawie projektu oraz ocen cząstkowych: waga oceny z projektu indywidualnego: 65% 16 Proszę brać pod uwagę fakt, że na realizacją projektu należy poświęcić więcej czasu niż wynika to z ilości godzin przeznaczonych na projekt.

Dokumentacja projektu - zawartość 17 1. Temat projektu 2. Ogólny opis projektu z zaznaczeniem jego funkcji 3. Założenia projektowe, ograniczenia, koncepcja 4. Zastosowane urządzenia peryferyjne np. LCD, ADC, itp. lista wraz z opisem zasady działania 5. Schematy maszyn stanów, diagramy przepływu danych, opis realizowanych funkcji przez poszczególne bloki 6. Podział projektu na komponenty 7. Schemat projektu generowany z ISE 8. Symulacja test bench (kluczowe elementy) 9. Raport z syntezy HDL, wykorzystane zasoby 10. Wynik implementacji 11. Wnioski

Lista tematów 18 1. Analizator stanów logicznych. 2. Cyfrowy regulator PID - sterowanie temperaturą. 3. Obsługa interfejsu VGA - wyświetlenie dowolnego tekstu na ekranie monitora. 4. Obsługa interfejsu PS2 - odczyt danych z klawiatury komputera. 5. Obsługa wyświetlacza LCD ze sterownikiem HD44780. 6. Obsługa portu szeregowego - komunikacja z PC. 7. Częstotliwościomierz sygnałów okresowo zmiennych. 8. Generator sygnału sinusoidalnego o regulowanej częstotliwości. 9. Generator sygnałów arbitralnych. 10. Trójkanałowy sterownik PWM o regulowanych parametrach. 11. Realizacja maszyny stanów - pralka, automat do kawy itp... 12. Implementacja algorytmu szybkiej transformaty Fouriera - FFT,

Lista tematów 1 13. Odbiornik SDR - Software Defined Radio. 14. Obsługa interfejsu USB - komunikacja z PC. 15. Obsługa interfejsu ETHERNET - serwer lub klient, komunikacja. 16. Termometr DS18B20 - pogodynka 17. Organki syntezer częstotliwości 18. Zegar czasu rzeczywistego godziny, minuty, sekundy 19. Stoper licznik czasu 20. Woltomierz, multimetr analogowy 21. Sterowane enkoderem źródło napięcia w zakresie działania przetworników DAC 22. Modulator, modulacja amplitudowa sygnałów 23. Implementacja własnego procesora w strukturze programowalnej 24. Jednostka ALU kalkulator 25.

Obsługa portu szeregowego - komunikacja z PC Projekt powinien zawierać: - informację na temat transmisji szeregowej (wymagane linie, poziomy napięć), - specyfikacja sprzętowa, - budowa ramki danych, - maszyna stanów, - kod, symulacja - implementacja 20

Obsługa portu szeregowego - komunikacja z PC Projekt powinien zawierać: - testy komunikacji z PC np. przez Docklight, Terminal, Putty 21

Analizator stanów logicznych Projekt powinien zawierać: - specyfikację, czyli informację o parametrach sygnałów wejściowych: poziomy logiczne, możliwość identyfikacji standardowych ramek, pakietów danych - specyfikacja sprzętowa, jak będzie prezentowany wynik analizy, ile kanałów będzie obsługiwanych, - sposób implementacji projektu, - kod, testy - implementacja Prezentacja wyniku: - wyświetlacz alfanumeryczny 2 x 16, - wyświetlacz 4 x 7 segmentów, - monitor, - transmisja do PC 22

Termometr DS18B20 - pogodynka Projekt powinien zawierać: - specyfikację, zakres mierzonych temperatur, - schemat połączeniowy - informacje na temat interfejsu 1-wire, - sposób prezentacji wyniku, - sposób implementacji projektu, - kod, testy - implementacja Prezentacja wyniku: - wyświetlacz alfanumeryczny 2 x 16, - wyświetlacz 4 x 7 segmentów, - monitor, - transmisja do PC, - diody LED 23

Woltomierz, multimetr analogowy Projekt powinien zawierać: - specyfikację, zakres mierzonych napięć, - schemat połączeniowy, blokowy, - informacje na temat wykorzystywanych układów peryferyjnych DAC, ADC itp.. - sposób prezentacji wyniku, - sposób implementacji projektu, - kod, testy - implementacja Prezentacja wyniku: - wyświetlacz alfanumeryczny 2 x 16, - wyświetlacz 4 x 7 segmentów, - monitor, - transmisja do PC, - diody LED 24

Zegar czasu rzeczywistego, stoper Projekt powinien zawierać: - specyfikację, czyli co i jak długo liczymy co wyświetlamy, - schemat połączeniowy, blokowy - sposób prezentacji wyniku, - sposób implementacji projektu, - kod, testy - implementacja Prezentacja wyniku: - wyświetlacz alfanumeryczny 2 x 16, - wyświetlacz 4 x 7 segmentów, - monitor, - transmisja do PC, - diody LED 25

Materiały dodatkowe HC-SR04 LCD Nokia Nexys 2 Spartan-3E FPGA 26 Xilinx Spartan-3E FPGA 500K 16 MB Micron PSDRAM 16 MB Flash ROM 50 MHz generator

Analiza danych w czasie rzeczywistym Analizator stanów logicznych firmy Digilent pełni rolę: oscyloskopu, 16-kanałowego analizatora stanów logicznych, 2-kanałowego generatora

Pytania? sugestie? uwagi? 28

Jak to się zaczęło?

Prawo Moore a Prawo Moore a 1965 przewiduje wykładniczy wzrost liczby tranzystorów w układach scalonych co 12 18 miesięcy

od tranzystora do FPGA 31 1947 pierwszy tranzystor ostrzowy skonstruowany w laboratoriach firmy Bell Telephone Laboratories przez Johna Bardeena oraz Waltera Housera Brattaina, 1949 pierwszy tranzystor złączowy Shockley, 1958 pierwszy układ scalony, Jack Kilby, Texas Instruments, (Kilby zastosował german i połączenia drucikami) 1959 pierwszy monolityczny krzemowy prototyp układu scalonego Robert Noyce, Fairchild Sem. 1961 pierwsze planarne układy scalone, Fairchild Sem. i Texas Instruments Prawo Moore a 1965 przewiduje wykładniczy wzrost liczby tranzystorów w układach scalonych co 12 18 miesięcy 1967 Micromosaic precursoc ASIC, (Application-Specific Integrated Circuit - ASIC) 1970 pamięć statyczna RAM (256 bitów) Fairchild, symbol 4100, 1970 pamięć dynamiczna RAM (1024 bity) Intel, symbol 1103, 1971 opracowanie pierwszego mikroprocesora 4-bitowego Intel 4004, (2300 tranzystorów, 34 rozkazy, 60k rozkazów/s), rok później Intel 8008 (8-bit, 45 rozkazów, 300k rozkazów/s) 1975 prekursor PLD opracowany przez firmę Signetics układ o strukturze PLA 1978 opracowanie układu o strukturze PAL przez firmę Monolithic Memoriec 1980 technologia CMOS, dominują układy BiCMOS i SOI, pierwszy milion tranzystorów w jednym układzie 1985 narodziny FPGA firma Xilinx Pierwszy tranzystor, 1947 Pierwszy układ scalony, 1958 Pierwszy monolityczny układ scalony,1959

Czym jest VLSI? VLSI (Very-large-scale integration) jest to proces łączenia ze sobą tysięcy tranzysotrów w pojedynczym chipie krzemowym w celu wykonania układu scalonego IC (integrated circuit). VLSI znane jest od lat 70 ch i zanim się pojawiło układy elektroniczne pełniły tylko jedna funkcję np. ROM, RAM, CPU. Wraz z pojawieniem się techniki VLSI możliwe było wykonanie ich w pojedynczym chipie jednym słowem wspomaga procedurę projektową IC. 32 Skala integracji Liczba tranzystorów SSI Smal-Scale Integration 0-10 2 MSI Medium-Scale In. 10 2-10 3 LSI Large-Scale In. 10 3-10 5 VLSI Very Large-Scale In. 10 5-10 7 ULSI Ultra Large-Scale In. >= 10 7

Czym jest VLSI? Zasadniczo istnieją trzy typy zastosowania technologii VLSI: Analogowe wzmacniacze, filtry, przetworniki danych, pętle synchronizacji fazowych (PLL), sensory... ASIC urządzenia które realizują ściśle określone zadanie np.: procesory sygnałowe, układy graficzne, kodeki dźwięku/grafiki SoC (system on chip) kompletny układ cyfrowy, elementy cyfrowe, analogowe, radiowe. Ze względu na złożoność często poszczególne elementy pochodzą od różnych dostawców 33

FPGA vs ASIC FPGA Krótszy czas wprowadzania produktu Brak początkowe wydatków na NRE (non-recurring engineering) Prostsze cykl projektowania Bardziej przewidywalny cykl projektu Reprogramowalne pola ASIC 34 Pełna możliwość niestandardowej konfiguracji Niższe koszty jednostkowe (przy wielkich partiach produkcyjnych) Small Form Factor SSF zmniejszanie rozmiarów urządzenia do minimum

Producenci ukł. programowalnych 35, Altium Designer

Definicja układu programowalnego Układ programowalny to układ scalony, którego właściwości funkcjonalne nie są definiowane przez producenta, lecz przez końcowego użytkownika. Najważniejszą cechą jest możliwość nadawania im określonych cech funkcjonalnych przez programistę. Układ programowalny jest wytwarzany z pełnym zestawem połączeń usuwanych w trakcie programowania w specjalnym programatorze wg. zaprojektowanej maski przepaleń. 36

37 Klasyfikacja układów logicznych

Cel stosowania logicznych układów programowalnych Załóżmy, że musimy powielić ten schemat 100 razy 1 układ scalony a to jego fizyczna realizacja 30 lat temu 38

PLD PAL - Programmable Logic Arrays PLA - Programmable Array Logic GAL 16V8 zajrzyjmy do wnętrza Standardowy symbol bramki AND i jego odpowiednik w diagramie struktury PLA, PAL 39 Szkic architektury układów PLD o strukturze PAL i PLA

Architektura układów CPLD i FPGA Szkic architektury układów CPLD oraz FPGA CPLD FPGA 40 CPLD zapewnia stałe opóźnienie, przewidywalne czasy propagacji

Struktura wewnętrzna 41 PROCESOR, MIKROKONTROLER FPGA

42 Macierze połączeniowe

Technologia połączeń wewnętrznych FUSE bezpieczniki ANTIFUSE antybezpieczniki przewodzi po przepaleniu programowane jednokrotnie dane o konfiguracji nie są przenoszone poza układ, revers enginering praktycznie niemożliwy brak wewnętrznych tranzystorów stosowane w lotnictwie i aeronautyce niezawodne, odporne na promieniowanie 20% mniejsze zużycie mocy mniejsza powierzchni układu szybsze działanie brak pojemności tranzystorów droższe w produkcji, nie nadają się do budowy prototypów EPROM kasowalne światłem UV EEPROM kasowalne elektrycznie (reprogramowalna) FLASH programowanie wielokrotne, zawartość pamięci nieulotna droższe ze względu na integrację pamięci FLSAH, skomplikowany proces technologiczny większy pobór mocy 43 SRAM programowane wielokrotnie oparte na technologii CMOS SRAM ulotne, konieczność ponownego programowanie po wyłączeniu zasilania, ładownie z zewnętrznej pamięci EPROM lub FLASH opóźniony start urządzenia ze względu na czas ładowania programu rozmiar fizyczny komórki SRAM o rząd większe niż rozmiary złącza programowalnego

VHDL język opisu sprzętu Język VHDL jest jednym z nowszych języków opisu i projektowania układów cyfrowych. Już w lipcu 1983 roku zespół złożony z przedstawicieli firm Intermetrics, IBM oraz Texas Instruments rozpoczął pierwszy etap pracy nad nowym językiem opisu i projektowania układów VLSI. Po roku pracy zaimplementowano dany język, dzięki czemu w grudniu 1985 otrzymano pierwszą wersję narzędzia napisanego w języku Ada dla komputerów klasy VA 11/780 i IBM 370. Projekt VHDL był częścią programu Departamentu Obrony USA o nazwie VHSIC, którego zadaniem było opracowanie metod projektowania oraz wykorzystanie najbardziej złożonych i bardzo szybkich układów scalonych. W roku 1987 VHDL stał się obowiązującym standardem w dziedzinie języków opisu i projektowania układów VLSI. Ulepszona wersja języka pojawiła się dopiero w 1993 roku i obecnie jest stosowana przez większość projektantów układów cyfrowych na świecie. 44

Przykładowe pytania 1. Klasyfikacja układów programowalnych. 2. Wskazać zasadnicze różnice między układami PLA oraz PAL. 3. Wskazać różnice w budowie układów CPLD oraz FPGA. 4. Co to są trakty połączeniowe? 5. Który typ połączenia traktów zapewnia największą niezawodność? 6. Wskazać różnicę między mikrokontrolerem a procesorem. 7. Czy układy CPLD/FPGA realizują operacje sekwencyjnie czy równolegle? 8. Na jakie parametry układu CPLD/FPGA należy zwrócić uwagę? 45 9. Jakie są poziomy napięć akceptowane przez układy FPGA?