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

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ż.

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

Systemy na Chipie. Robert Czerwiński

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

Język opisu sprzętu VHDL

Opis przedmiotu zamówienia CZĘŚĆ 1

Cyfrowe układy scalone

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

Cyfrowe układy scalone

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

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

Opis przedmiotu zamówienia

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Elementy cyfrowe i układy logiczne

Opisy efektów kształcenia dla modułu

Cyfrowe układy scalone

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

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

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

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

Technika Mikroprocesorowa

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

Opisy efektów kształcenia dla modułu

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

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

Programowalne Układy Cyfrowe Laboratorium

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

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

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

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

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

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Temat: Pamięci. Programowalne struktury logiczne.

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

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

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

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

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

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

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Systemy uruchomieniowe

Wstęp Architektura... 13

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

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ZL10PLD. Moduł dippld z układem XC3S200

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Elektronika i techniki mikroprocesorowe

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

Programowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W

Opracował: Jan Front

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Systemy wbudowane. Paweł Pełczyński

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

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

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)

MCAR Robot mobilny z procesorem AVR Atmega32

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

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

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Metody optymalizacji soft-procesorów NIOS

Katedra Mikroelektroniki i Technik Informatycznych

WPROWADZENIE Mikrosterownik mikrokontrolery

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

PROGRAMOWALNE STEROWNIKI LOGICZNE

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

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

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

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

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

KAmduino UNO. Rev Źródło:

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

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

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

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

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

PROJEKTOWANIE UKŁADÓW VLSI

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

2. PRZERZUTNIKI I REJESTRY

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

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

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

dokument DOK wersja 1.0

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

Wykład Mikroprocesory i kontrolery

Układy programowalne

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Transkrypt:

Programowalne układy logiczne kod kursu: ETD008270 Wprowadzenie do techniki FPGA W1 22.02.2018 mgr inż. Maciej Rudek

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 lab. 015a lub 104b w C2 tel. 71 320 3651 2

Kalendarz - laboratorium Zajęcia pełne 3 Oddanie projektu

Kalendarz - wykład Zajęcia od 23 lutego do 18 maja Kolokwium 8 czerwca 4 Zajęcia połówkowe 8:00 9:30

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

6 Tematyka kursu wykład

Tematyka kursu - projekt / Quatrus Prime -? 7 8 spotkań po 2 godz. (90 min) i 1 spotkanie 1 godz. (45 min)

Zaliczenie Wykład: cykl 7 wykładów kolokwium zaliczeniowe -> test wyboru, termin: ostatni wykład tj. 8 czerwca 2018 godz. 7:30, poprawa: odpowiedź ustna 15 czerwca 2018 godz. 7:30 (?). 8

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

Literatura kursu O jezyku Verilog i układach programowalnych FPGA: [1] D. Kania, Układy logiki programowalnej, Podstawy syntezy i sposoby odwzorowania technologicznego, Wydawnictwo PWN (2012) [2] J. Majewski, P. Zbysiński, Układy FPGA w przykładach, Wydawnictwo BTC, 2007. [3] P. Zbysiński, J. Pasierbiński, Układy programowalne pierwsze kroki, wydanie 2, BTC Warszawa, 2004 [4] J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, Wydawnictwa Komunikacji i Łączności, 2001 [5] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009 [6] T. Łuba, B. Zbierzchowski, Komputerowe projektowanie układów cyfrowych, WKŁ, 2000 [7] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009 [8] P. Minns, E. Ian, FSM-based digital design using Verilog HDL, John Wiley & Sons, 2008 [9] P.P. Chu, FPGA prototyping by Verilog examples: Xilinx Spartan-3 version. John Wiley & Sons, 2011 [10] D. Donald, P. Moorby, The Verilog Hardware Description Language, Vol. 2. Springer Science & Business Media, 2002 Źródła internetowe: [1] http://www.xilinx.com/training/free-video-courses.htm [2] http://staff.uz.zgora.pl/rwisniew/instrukcje/inne/verilog/verilog_kurs.pdf [3] http://fiona.dmcs.pl/~cmaj/verilog/kurs%20verilog.pdf [4] https://neo.dmcs.pl/jhdl/private/verilog.pdf [5] http://www.asic-world.com/verilog/veritut.html [6] http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf [7] http://referencedesigner.com/tutorials/verilog/verilog_01.php 1

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 12 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. 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

Procedura projektowa IC Specyfikacja Co ma dany układ wykonywać, in/out Architektura Podstawowe zasoby, połączenia, Rejestry-komunikacja maszyny stanów, połączenia Logika Bramki, przełączniki, zatrzaski, połączenia Schemat Tranzystory, elementy elektryczne, połączenia Weryfikacja Realizacja - fabrykacja Maski itp.

VLSI vs HDL vs ASICS vs FPGA VHDL(VHSIC HDL czyli Very High Speed Integrated Circuit Hardware Description Language) oraz VERILOG są językami programowania które pomagają w automatyzacji projektowania IC. Umożliwiają projektowanie oraz symulację, zanim zostanie wykonana fizyczna struktura. Pozwala to na wykonanie układu na poziomie abstrakcji(?) RTL (register transfer level) oraz pozwala na transfer tego czegoś do postaci bramek logicznych oraz połączeń między nimi czyli przejście do wykonania schematu połączeń i planowania rozmieszczenia elementów. Co to takiego to RTL? I o co chodzi z poziomami abstrakcji?

Poziomy abstrakcji Behavioral najwyższy poziom abstrakcji, określa zachowanie układu, lub jego otoczenie. Jego postać zbliżona jest do algorytmu jak w programie komputerowym, NIE jest syntezowalny. RTL niższy poziom abstrakcji, Jest zdefiniowany przez połączone ze sobą przerzutniki, multipleksery, zatrzaski określa sprzęt (hardware) który ma być wykorzystany oraz sposób wymiany danych między tymi komponentami. JEST syntezowalny. Gate level najniższy poziom abstrakcji, z wykorzystaniem elementów logicznych, bramek. Nie musi być syntezowalny lub może być wynikiem syntezy.

VLSI vs HDL vs ASICS vs FPGA Więc jaka jest różnica między VLSI a HDL? VLSI są to duże układy oraz użyta technologia do ich wytworzenia HDL technika opisu sprzętu za pomocą języka VHDL lub/i Verilog

VLSI vs HDL vs ASICS vs FPGA

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 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 21, 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ń. 22

23 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 24

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 25 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 26 CPLD zapewnia stałe opóźnienie, przewidywalne czasy propagacji

Podział układów programowalnych Procesory strukturalne Procesory proceduralne ASIC/ASSP HCPLD PLD SPLD PLE OR PLA AND PAL OR i AND GAL PAL + rekonfiguracja CPLD PROM FPGA PLE PLA PAL GAL

Struktura wewnętrzna 28 PROCESOR, MIKROKONTROLER FPGA

29 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 30 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

XILINX vs ALTERA XILINX ALTERA MAX 10

XILINX vs ALTERA

XILINX vs ALTERA Logic array blocks LAB - ALTERA configurable logic blocks CLB - XILINX

Przykładowe pytania 1. Klasyfikacja układów programowalnych. 2. Wskazać zasadnicze różnice między układami PLA, PLE oraz PAL. 3. Wskazać różnice w budowie układów CPLD oraz FPGA. 4. Czym różni się VLS od FDL? 5. Czym różnią się układy HCPLD od SPLD? 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ę? 35 9. Jakie są poziomy napięć akceptowane przez układy FPGA?

Programowalne układy logiczne kod kursu: ETD008270 Wprowadzenie do Altery W1 22.02.2018 mgr inż. Maciej Rudek

Makieta - Altera FPGA 10M08DAF256C8GES 8000 komórek LE 378 kb konfigurowalnej pamięci M9K 1376 kb wewnętrznej pamięci Flash dla aplikacji użytkownika Flash Wewnętrzny generator 12-bitowy przetwornik ADC @1MSPS 24 sprzętowe multiplikatory 2 wewnętrzne generatory PLL sensor temperatury interfejsy LVDS

Makieta - Altera 5 kanałów ADC (12 bitów/1 MSPS) z ochroną nadnapięciową (zakres pomiarowy 0 +2,5 V) Interfejs HDMI (z warstwą fizyczną CEC oraz DDC) Interfejs wideo VGA Generator sygnału zegarowego 10 MHz 4 diody LED dla aplikacji użytkownika 2 diody LED sygnalizacyjne (zasilanie, konfiguracja FPGA) Potencjometr analogowy Gniazdo karty Flash MicroSD Złącze konwertera USB/UART Zasilacz na układach Altera Enpirion Przycisk globalnego zerowania Zasilanie z USB (z bezpiecznikiem polimerowym) lub napięciem 5 V z zewnętrznego zasilacza Złącze JTAG zgodne z USB Blasterem

Wybór na stronie https://www.altera.com/products/design-software/fpga-design/quartusprime/download.html

Wybór na stronie

Wybór na stronie

Pobieranie plików

Instalacja

Instalacja

Obsługa programu

10M08DAF256C8GES

Makieta

Czujnik temperatury STLM20W87F firmy STMicroelectronics Cztery wyświetlacze 7-segmentowe, sterowane multipleksowo Dwie diody wielokolorowe (RGB) typu WS2812B Wbudowane dwa przyciski użytkownika oraz przycisk zerowania

Programowalne układy logiczne kod kursu: ETD008270 Wprowadzenie projektów mgr inż. Maciej Rudek

Tematyka kursu - projekt 5 8 spotkań po 2 godz. (90 min) i 1 spotkanie 1 godz. (45 min)

TERMIN 2 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. 5 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. 5 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% 5 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ść 5 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 9. Raport z syntezy HDL, wykorzystane zasoby 10. Wynik implementacji 11. Wnioski

Lista tematów 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. 5

Lista tematów 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 5

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 57

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

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 59

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 60

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 61

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 62

Pytania? sugestie? uwagi? 63

Wprowadzenie do środowiska ISE WebPACK

Strona 65 https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadn av/design-tools.html

66 Xilinx Ise WebPACK

67 Xilinx Ise WebPACK

68 Xilinx Ise WebPACK

Xilinx Ise WebPACK Zintegrowane środowisko Xilinx Ise WebPACK: - implementacja układów cyfrowych, - oraz złożonych funkcjonalności. 69

Xilinx Ise WebPACK Tworzenie opisu sprzętu na podstawie: - VHDL, - Verilog, - Schematu. Testowanie funkcjonalności: - Test Bench Łączenie funkcjonalności: - pakiety, - moduły - systemy wbudowane np. PicoBlaze 70

Xilinx ISE we/wy - Plan Ahead Processes User Constraints I/O Pin Planning 71 Zintegrowane środowisko projektowania, planowania rozkładu pinów, analizy czasowej, lokowania zasobów

Plan Ahead - I/O Planner View 72 Rozmieszczenie pinów I/O układu, - odwzorowanie rzeczywiste Widok wnętrza struktury układu FPGA, zasoby

Sygnał GND Zasilanie VCC Pin ogólnego przeznaczenia z możliwością dystrybucji sygnału zegarowego Pin ogólnego przeznaczenia Pin konfiguracyjny Pin nie podłączony do struktury wewnętrznej Pin interfejsu JTAG (TMS, TDO, TCK, TDI) Znaczenie symboli pinów I/O 73 Dystrybucja zegara: dedykowane linie i wejścia układu do dystrybucji szybkich sygnałów zegarowych zapewniające minimalne nierównomierności czasów pojawienie się zboczy zegara. Możliwy jest dostęp do linii zegarowych poprzez globalne bufory z wyprowadzeń układu lub z linii połączeniowych ogólnego przeznaczenia

Plan Ahead RTL diagram 74 Symboliczna reprezentacja zawartości struktury programowalnej

Plan Ahead konfiguracja I/O Możliwe opcje konfiguracji portów, linii wejścia/wyjścia 75

Poziomy logiczne I/O Prąd wyjściowy dla określonych standardów 76

Stany I/O Schemat połączeń wewnętrznych w obrębie portów wejścia/wyjścia Pin wejścia/wyjścia - możliwość komunikacji ze światem zewnętrznym stan pływający weak keeper sterowalny pull up sterowalny pull down 77 Możliwe opcje konfiguracji portów, linii wejścia/wyjścia

Opcje we/wy - Netlista 78 Wymagania dla projektu są zadawane w pliku UCF (User Constraints File): - wyprowadzenia układu (który sygnał na której końcówce), - wymagania czasowe (częstotliwość zegara, maksymalne opóźnienia), - wymagania na rozmieszczenie komponentów.

Opcje we/wy - Netlista Tworzenie netlisty: sieć połączeń wewnętrznych 79 NET sygnał, LOC lokalizacja wewnątrz układu, IOSTANDARD standard sygnału wyjściowego itp. PULLUP, PULDOWN - sposób podciągania we/wy do potencjału

Xilinx ISE programowanie - Impact Konfiguracja polega na zapisie tzw. bitstream do pamięci konfiguracyjnej układu FPGA, tryby konfiguracyjne: slave serial, master serial, slave parallel oraz boundary-scan, boundary-scan umożliwia zeskanowanie wszystkich we/wy układu, odczyt konfiguracji z pamięci FLASH lub PROM, wykorzystanie protokołu JTAG, IEEE 1149 Readback możliwość odczytania danych konfiguracyjnych układu wraz ze stanem wszystkich przerzutników, pamięci RAM, LUT 80