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

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

Technika Mikroprocesorowa

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

Temat: Pamięci. Programowalne struktury logiczne.

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

Cyfrowe układy scalone

Elektronika i techniki mikroprocesorowe

Cyfrowe układy scalone

Technika Cyfrowa. Badanie pamięci

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Cyfrowe układy scalone

Systemy wbudowane. Układy programowalne

Projektowanie Systemów Wbudowanych

Elementy cyfrowe i układy logiczne

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak

To nie huragan, to Cyclone II!

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

Podział układów cyfrowych. rkijanka

Opis przedmiotu zamówienia CZĘŚĆ 1

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

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

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

Język opisu sprzętu VHDL

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

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

Opis przedmiotu zamówienia

Tranzystor JFET i MOSFET zas. działania

System mikroprocesorowy i peryferia. Dariusz Chaberski

Systemy na Chipie. Robert Czerwiński

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Układy sekwencyjne. 1. Czas trwania: 6h

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

Funkcje logiczne X = A B AND. K.M.Gawrylczyk /55

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

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

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

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

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

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

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

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

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

Układy logiczne układy cyfrowe

WPROWADZENIE Mikrosterownik mikrokontrolery

RODZAJE PAMIĘCI RAM. Cz. 1

Wykład Mikroprocesory i kontrolery

Systemy uruchomieniowe

Cyfrowe układy scalone c.d. funkcje

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

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

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

Opracował: Jan Front

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

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Programowalna matryca logiczna

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

Programowalne układy logiczne

Programowalne Układy Cyfrowe Laboratorium

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

LABORATORIUM PROJEKTOWANIA UKŁADÓW VLSI

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

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

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

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

ZL10PLD. Moduł dippld z układem XC3S200

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

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

Rok akademicki: 2016/2017 Kod: EAR s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Architektura systemu komputerowego

Politechnika Warszawska

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

Układy logiczne układy cyfrowe

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

Ćwiczenie 24 Temat: Układy bramek logicznych pomiar napięcia i prądu. Cel ćwiczenia

CZ1. Optymalizacja funkcji przełączających

U 2 B 1 C 1 =10nF. C 2 =10nF

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

Systemy Czasu Rzeczywistego FPGA

Architektura komputerów Wykład 2

dokument DOK wersja 1.0

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Architektura komputerów. Układy wejścia-wyjścia komputera

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Implementacja algorytmu szyfrującego

Artykuł zawiera opis i dane techniczne

Sterowniki Programowalne (SP)

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

Transkrypt:

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

Pamięci ROM Pamięci stałe typu ROM (Read only memory) umożliwiają jedynie odczytanie informacji zawartej w strukturze pamięci. Działanie: Y= X j *cs gdzie j=linia_pamięci(a). W wyniku wybrania układu cs =0 na wyjściach Y pojawia się wektor X j zapisany w linii o numerze j o adresie określonym przez wejścia adresowe A. Wejście cs wprowadza wyjścia układu w stan wysokiej impedancji umożliwiając łączenie pamięci w bloki o większej pojemności i podłączanie do magistral. 2

Schemat pamięci CS Wielkość pamięci: liczba bitów wektora danych * 2 A A - adres ROM Y czytane dane 3

Wykres dostępu do pamięci ROM Adres CS t CSA Wysoka impedancja Dane ważne t AA Dla pojawiania się danych ważnych musi upłynąć co najmniej: t CSA (czas dostępu od wybrania układu CS =0) i T AA (czas dostępu od adresu) 4

Układy programowalne PLD Układy pamięci ROM reprogramowalne EEPROM wymazywalne elektrycznie (także pamięć flash) EPROM wymazywalne za pomocą światła UV ROM PROM PLD (Programable Logic Devices) Układy programowane przez użytkownika - PLD Wykorzystanie wyjść z otwartym kolektorem do realizacji montażowych sum lub montażowych iloczynów (zmniejszenie liczby bramek - zamiast bramki - zwarcie wyjść) porównaj bramka z OC (wykład - układy kombinacyjne) Układy PLA (Programmable Logic Array) zbudowane z matrycy bramek iloczynów i matrycy bramek sum, możliwość określenia sygnałów wejściowych obu układów bramek programowanie przez użytkownika. 5

bramki typu "open collector Realizacja: Istnieją bramki logiczne, których wyjście pozostawać może w stanie wysokiej impedancji być nieaktywne lub zwarte z masą być aktywne, bramki typu open collector (TTL) lub otwarty dren (MOSFET). Wyjście OC aby mogło być traktowany jako logiczne "0" albo "1" należy poprzez rezystor połączyć do zasilania (rezystor podciągający (ang. pull up resistor)). Zastosowanie: Zastosowanie odpowiedniego poziomu napięcia zasilnia na rezystorze podciągającym pozwala na sterowanie poprzez wyjście układami pracującymi przy innych poziomach napięć sygnałów. Kilka wyjść OC można połączyć do jednej linii sygnałowej umożliwiając sterowanie jednej linii z wielu źródeł (np. magistrala). 6

Wykorzystanie bramki typu open collector VCC a b 7401 F a b c d F 0 x 0 x 1 x 0 x 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 c d F ab cd ( ab )' ( cd Połączenie wyjść bramek open colector zastępuje bramkę sumy Przy zwartych wyjściach OC dowolna liczba wyjść bramek NAND równych 0 daje stan F=0, aby uzyskać 0 na bramce konieczna 1 na wszystkich wejściach. 7 )'

Matryca PLA, jej struktura i programowanie 8

PLA zaprogramowany 9

Układy PAL Brak potrzeby wykorzystania w praktyce możliwości struktur układów PLA prowadzi do prostszych realizacji PLD układów PAL (Programmable Array Logic ) posiadają: bramki OR o ustalonej liczbie wejść wyjść bramek AND i bramki AND o programowanej liczbie wejść (wykorzystanie sygnałów zewnętrzenych lub wewnętrznych) Nazwy: np. GAL 16V8 pierwsza liczba to liczba wyprowadzeń wej/wyj, druga liczba wyjść 10

PAL STRUKTURA i zastosowanie 11

Rodzaje układów PAL Sprzężenie zwrotne układy asynchroniczne Wejścia-wyjścia Rejestry synchroniczne automaty synchroniczne Rejestry z programowanym sygnałem zegara Rozbudowa układów PAL w kierunku bardziej złożonych jakościowo i ilościowo: Układów CPLD (complex ) elementy programowane komórki logiczne Układów FPGA (Field Programmable Gate Array) złożone strukturalnie makrokomórki 12

Makrokomórka PAL i projekt licznika 13

Przykłady PAL 14

Układy CPLD Matryca połaczeń PIA (Programmable Interconnect Array) - dostęp do sygnałów generowanych, wejściowych, wyjściowych Bloki wej/wyj BIO Makrokomórka programowalna matryca funkcji boolowskich układ konfiguracji źródła sygnału wejścia przerzutnika układ konfiguracji sygnału wyjściowego z makrokomórki układy konfiguracji źródeł sygnałów sterujących clk, clr, enable Możliwość zapamiętania konfiguracji układu CPLD w EEPROM (elektrycznie wymazywalnej pamięci ROM) jeden bit komórki pamięci odzwierciedla stan programowalnego połączenia układu. 15

Układ CPLD struktura 16

Układ CPLD przykład architektury MAX7000 17

Układy FPGA Wzrost liczby elementów logicznych Efektywne rozwiązanie problemu łączenia elementów: Magistrale połączeń międzyblokowych (multitrack interconnection) - wiersze i kolumny konfigurowalnych połączeń (ścieżki dzielone) pomiędzy blokami funkcjonalnymi i elementami wej-wyj IOE Bloki funkcjonalne FPGA Matryce LAB (z lokalnymi magistralami) elementów logicznych LE Układy pamięci, Układy DSP (cyfrowego przetwarzania sygnałów) konfigurowalne układy mnożące, Układy z pętlami fazowymi PLL generacja synchronizowanych sygnałów zegarowych o żądanych częstotliwościach. 18

Architektura FPGA 19

Struktura LE Rys. 4.9 str 50 pawlowski Pamięc funkcji logicznej LUT (look up table) programowalna realizuje dowolne funkcje swoich wejść Sygnały przeniesienia Układy konfiguracji sygnałów sterujących i danych, Wyjścia podłączone do magistrali lokalnego LAB i magistrali połączeń międzyblokowych 20

Struktura bloku wyjściowego KBWY układ konfiguracji bufora wyjścia pozwala na dostosowanie bufora do współpracy z układami: TTL, CMOS, o różnych napięciach zasilania itp.. 21

Blok pamięci wbudowanej w FPGA 22

Schemat LE w Cyclone III 35/70 tysięcy LE 23

DE2 Development and Education Board Korzystamy również z DE2-70 podobna struktura, ~2x większy FPGA 24

Elementy składowe DE2 Altera Cyclone II 2C35 FPGA device Altera Serial Configuration device - EPCS16 USB Blaster (on board) for programming and user API control; both JTAG and Active Serial (AS) programming modes are supported 512-Kbyte SRAM 8-Mbyte SDRAM 4-Mbyte Flash memory (1 Mbyte on some boards) SD Card socket 4 pushbutton switches 18 toggle switches 18 red user LEDs 9 green user LEDs 50-MHz oscillator and 27-MHz oscillator for clock sources 24-bit CD-quality audio CODEC with linein, line-out, and microphone-in jacks VGA DAC (10-bit high-speed triple DACs) with VGA-out connector TV Decoder (NTSC/PAL) and TV-in connector 10/100 Ethernet Controller with a connector USB Host/Slave Controller with USB type A and type B connectors RS-232 transceiver and 9-pin connector PS/2 mouse/keyboard connector IrDA transceiver Two 40-pin Expansion Headers with diode protection 25

Schemat blokowy DE2 26

Parametry Cyclone II 2C35 FPGA 33,216 elementów logicznych/ 70 k LE dla 2C70 105 bloków pamięci RAM M4K 483,840 liczba bitów RAM 35 wbudowanych układów mnożących 4 pętle sprzężenia fazowego 475 wyprowadzeń użytkownika typu I/O obudowa z 672 wyprowadzeniami 27

Płyta DE2 i FPGA Cyclone III https://www.cs.put.poznan.pl/rwalkowiak/pli ki/de2_usermanual.zip https://www.cs.put.poznan.pl/rwalkowiak/pli ki/de2_70_user_manual_v108.zip https://www.cs.put.poznan.pl/rwalkowiak/pli ki/cyc2_cii51002.zip 28

Projektowanie złożonych układów cyfrowych Etapy: - Formalizowanie opisu - Projekt koncepcyjny - Projekt techniczny - Uruchomienie i weryfikacja 29

1- Formalizowanie opisu Specyfikacja działań układu Sposób współpracy z otoczeniem: sygnały danych, sygnały zegarowe, wymagania na sygnały współpracy z urządzeniami i pamięciami. Specyfikacja parametrów elektrycznych i czasowych układu Specyfikacja parametrów mechanicznych układu (obudowa, interfejsy). 30

2- Projekt koncepcyjny Wybór architektury i technologii podział realizowanych funkcji na sprzęt i oprogramowanie, wybór technologii: standardowe układy scalone lub układy programowalne (FPGA, CPLD); wybór architektury modułów - możliwe wersje architektury: Standardowe bloki funkcjonalne Struktura mikroprogramowalna System mikroprocesorowy Dekompozycja układu - podział na moduły bloki funkcjonalne: Metoda projektowania zstępująca - top-down użycie bloków realizujących skomplikowane funkcje bez określenia sposobu ich realizacji, określenie sposobu współpracy, później znając strukturę i zasady współpracy projektuje się poszczególne bloki. Metoda projektowania wstępująca bottom-up zastosowanie bloków o określonej - znanej budowie, dla których należy określić sposób współpracy, aby uzyskać układ realizujący wymagania projektu. 31

2 - Projekt koncepcyjny Opis połączeń i opis funkcji bloków metody: Schemat Język HDL (projekt w FPGA) Opis strukturalny przyjęcie struktury bloków funkcjonalnych, takiej jaka odpowiadałaby realizacji z układów scalonych, projekt jest schematem, którego symbole graficzne układów zamieniono na opis w języku HDL, wymagana jest znajomość opisu budowy układów mogących zrealizować poszczególne funkcje. Opis behawioralny opis układu za pomocą funkcji arytmetycznych i logicznych, realizacja jest powierzona komputerowym systemom wspomagania projektowania. Można wykorzystać dostępne w układach programowalnych: bloki RAM, bloki mnożące, DSP, PLL dostępne w kodzie HDL jako makrodefinicje. Można wykorzystać specjalne narzędzia projektowania do włączenia w projekty takich standardowych zespołów funkcjonalnych jak procesory, potrzebne interfejsy. 32

Projekt techniczny. Uruchomienie urządzenia i weryfikacja projektu. Projekt techniczny to szczegółowe zaprojektowanie schematów, programów HDL wszystkich modułów urządzenia i programów sterujących ich działaniem. Projekt techniczny jest weryfikowany na podstawie działania modelu fragmentów urządzenia lub poprzez zastosowanie symulatorów. Wykonanie urządzenia, jego uruchomienie i weryfikacja z założeniami, która może prowadzić do potrzeby modyfikacji projektu i urządzenia powrotu w tej iteracyjnej procedurze projektowania do wcześniejszych etapów. 33

Projektowanie urządzeń cyfrowych - metodologie Projektowanie klasyczne schematy modułów i programy dla użytych procesorów; tworzenie i weryfikacja modelu: budowa i uruchamianie modułów, integracja rzeczywistych modułów z symulatorami niektórych modułów np. wykorzystywanych procesorów. Projektowanie współczesne - przy użyciu komputerowych systemów wspomagania projektowania testowanie koncepcji urządzenia bez potrzeby budowy modelu, wykorzystanie kompilatorów języka HDL, symulatorów i analizatorów projektów. Metoda pozwala na realizację modelu w strukturze programowalnej np. przy użyciu płyt modelowych (np. Terasic DE2) podłączanych do komputera w celu programowania i na bieżąco testowania pracy układu, w tym również śledzeniu stanu sygnałów i zawartości rejestrów np. procesora (narzędzia typu SOPC). Umożliwia szybką budowę prototypów (rapid prototyping). 34