Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

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

Systemy wbudowane. Układy programowalne

Temat: Pamięci. Programowalne struktury logiczne.

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

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

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

Cyfrowe układy scalone

Układy logiczne układy cyfrowe

Elektronika i techniki mikroprocesorowe

Architektura komputerów Wykład 2

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

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

Cyfrowe układy scalone

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

Cyfrowe układy scalone c.d. funkcje

LABORATORIUM PROJEKTOWANIA UKŁADÓW VLSI

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Elementy cyfrowe i układy logiczne

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

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

Część 2. Funkcje logiczne układy kombinacyjne

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

5. PROGRAMOWALNE UKŁADY LOGICZNE

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

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

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

Cyfrowe układy scalone

Sterowniki Programowalne (SP)

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

Automatyzacja i robotyzacja procesów produkcyjnych

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

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

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

Układy logiczne układy cyfrowe

Czterowejściowa komórka PAL

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

Podział układów cyfrowych. rkijanka

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

Podstawy elektroniki cz. 2 Wykład 2

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

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

Podstawowe układy cyfrowe

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

SML3 październik

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

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

Opracował: Jan Front

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

napięcie-częstotliwość

LICZNIKI PODZIAŁ I PARAMETRY

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Język opisu sprzętu VHDL

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

Programowalna matryca logiczna

Układy programowalne

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

LEKCJA. TEMAT: Funktory logiczne.

Cyfrowe układy kombinacyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Współczesne techniki informacyjne

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

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

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

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Podstawy Techniki Cyfrowej Liczniki scalone

Wykład Mikroprocesory i kontrolery

Architektura komputerów

Statyczne badanie przerzutników - ćwiczenie 3

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

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

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

Tranzystor JFET i MOSFET zas. działania

Projektowanie Systemów Wbudowanych

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

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

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Opis przedmiotu zamówienia CZĘŚĆ 1

Układy cyfrowe i operacje logiczne

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

UKŁADY MIKROPROGRAMOWALNE

Katedra Przyrządów Półprzewodnikowych i Optoelektronicznych Laboratorium Przyrządów Półprzewodnikowych. Ćwiczenie 4

ZL10PLD. Moduł dippld z układem XC3S200

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

dwójkę liczącą Licznikiem Podział liczników:

Podstawy układów mikroelektronicznych

Technika Cyfrowa 2 wykład 4: FPGA odsłona druga technologie i rodziny układów logicznych

PROGRAMOWALNE STEROWNIKI LOGICZNE

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

TECHNIKA CYFROWA ELEKTRONIKA ANALOGOWA I CYFROWA. Badanie rejestrów

WPROWADZENIE Mikrosterownik mikrokontrolery

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

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

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

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

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

Transkrypt:

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Ogromną rolę w technice cyfrowej spełniają układy programowalne, często określane nazwą programowalnych modułów logicznych lub krótko hasłem FPLD (Field Programmable Logic Devices). Odnosi się do każdego cyfrowego układu scalonego, którego właściwości funkcjonalne mogą być zdefiniowane (ustalane) przez końcowego użytkownika, który może zaimplementować w jego strukturze opracowany przez siebie projekt jakiegoś wyspecjalizowanego układu cyfrowego. Najważniejsze cechy tych układów jest więc ich konfigurowalność przez użytkownika. Obecnie produkowane układy FPLD w zależności od ich struktury klasyfikujemy na: proste układy PLD, złożone układy PLD (Complex PLD, w skrócie CPLD) oraz układy FPGA. W prostych układach PLD podstawowym elementem konstrukcyjnym jest matryca AND-OR i zespoły elementów wyjściowych, które w najprostszych układach ograniczają się do przerzutników i trójstanowych buforów wyjściowych, a w bardziej rozbudowanych obejmują dodatkowo multipleksery oraz bramki XOR i z tych powodów nazywane są makrokomórkami (Macrocell). Cechy układów PAL: Struktura dwupoziomowa układ AND OR Programowalna matryca AND Najbardziej rozpowszechniona rodzina układów PLD Produkowana początkowo głównie w dwóch technologiach: o PROM: przepalane bezpieczniki, szybkie układy bipolarne o EPROM układy MOS (tranzystory?) Obecnie stosuje się technologię EEPROM (rodzina układów PALCE używa układów CMOS) Układy PAL dzielą się na 3 podstawowe typy: o Kombinacyjne (serie L/H) Każda z bramek sum ma własny zestaw termow Na wyjściach bramek OR znajdują się bufory 3-stanowe są sterowane sygnałami obliczanymi w matrycy sprzężenia zwrotne bufory 3-stanowe są inwerterami czyli realizowana jest funkcja NOR z zaprogramowanych iloczynow Wejścia do matrycy to piny WE + sprzężenia zwrotne Wszystkie sygnaly matrycy są dostępne komplementarnie

o Rejestrowe (seria R) Stosowane są przerzutniki synchroniczne Obecność przerzutnikow wymaga użycie sygnału zegarowego, ktory musi być jednocześnie podawany na wejścia wszystkich przerzutnikow. Układ posiada dedykowane wejście dla sygnału zegarowego o Z mikrokomórkami programowalnymi (seria V) Termy w układzie są porozkładane nierównomiernie (w srodku najgęściej, im dalej na obrzeża - tym rzadziej) Makrokómorka: Składa się z dwóch multiplekserów sterowanych dwoma punktami programowalnymi (S0 i S1, które określają funkcje makrokomórki). Dodatkowo posiada przerzutnik typu D, sterowalny dwoma termami globalnymi poprzez linie Asynchronous Reset i Preset. Zegar Clk wspólny dla wszystkich makrokomorek (clk wymagany przez przerzutniki) (Kolejny term steruje buforem trójstanowym) Matryca AND-OR może być matrycą typu PAL (Programmable Array Logic), której cechą charakterystyczną jest programowalna matryca AND i stała matryca OR lub typu PLA (Programmable Logic Array), gdzie obie matryce, AND i OR są programowalne. Znaczy to, że PAL jest zespołem bramek iloczynowych dołączonych do oddzielnych bramek OR, a w PLA każda bramka AND może być dołączona do dowolnej bramki OR. Układy PLA o Najbardziej uniwersalna struktura - dwupoziomowe, AND-OR, obie matryce programowalne o Wyparte przez prostsze układy PAL o Linie wejściowe komplementarne o Stosuje się przerzutniki typu RS Układy PLE o programowalna matryca OR o Bardziej rozbudowane struktury PLE są wyposażone w buforowe rejestry wyjściowe, zbudowane z synchronicznych przerzutników typu D z trójstanowymi wyjściami sterownymi bezpośrednio (asynchronicznie) lub pośrednio, za pomocą dodatkowego przerzutnika (synchroniczne) Symboliczny schemat matrycy PLA rozumied należy następująco: linie poziome reprezentują zmienne wejściowe i wyjściowe. Linie wejściowe są podwójne, górna odpowiada zmiennej w postaci prostej, dolna zmiennej w postaci zanegowanej. Linie pionowe reprezentują iloczyny (wejścia bramek AND).

Zmienna (prosta lub zanegowana) jest czynnikiem iloczynu jeżeli na przecięciu odpowiedniej linii poziomej i pionowej jest kropka. Jeśli iloczyn ten jest składnikiem odpowiedniej sumy (bramki OR) analogiczna kropka jest umieszczona na przecięciu linii pionowej i poziomej wyjściowej. Fizycznie kropka oznacza, że dany punkt połączeniowy między linią pionową i poziomą jest zaprogramowany. Proces programowania jest wykonywany automatycznie, najczęściej na podstawie schematu punktów programowania wytworzonego wg. procesu syntezy wykonanego w komputerowym systemie projektowania. W rezultacie tradycyjny układ logiczny zbudowany z bramek może byd łatwo zrealizowany w strukturze PLA. W podobny sposób interpretujemy schemat matrycy PAL. Jedyną różnicą jest to, że w tym przypadku wyjścia bramek AND są dołączone do wejśd bramek OR na stałe czyli nie są programowane. Z tych powodów liczba linii iloczynu w strukturach typu PAL jest przy realizacjach zespołów funkcji na ogół większa niż w matrycach PLA. Mimo to w produkowanych obecnie strukturach programowalnych częściej stosuje się matryce typu PAL. Decydują o tym inne zalety tych struktur, a właściwie technologiczne wady matryc PLA. Bardziej rozbudowane struktury programowalne to przede wszystkim układy CPLD oraz FPGA. CPLD: o o Układy CPLD pochodzą od największych układow PAL Układ CPLD składa się z kilku matryc PAL połączonych ze sobą jedną globalną matrycą połączeniową o Moduły PAL składają się z dwóch części: programowalnej matrycy AND i kilku kilkunastu makrokomorek o Matryca połączeń musi zapewniać komunikację między matrycami PAL oraz sprzężenia zwrotne między nimi. o Specyficzną rzeczą w układach CPLD jest brak dedykowanych wejść. Wszystkie wyprowadzenia są skojarzone z makrokomorkami. Mogą działać jako wejścia lub wyjścia, zależnie od sposobu zaprogramowania układu. Istnieją dedykowane wejścia zegarowe, kasujące lub ustawiające, jednak i one mogą być pobierane ze zwykłych wyprowadzeń dwukierunkowych. o Często używane jako bootloadery (zanik prądu nie powoduje utraty konfiguracji) dla urządzeń, które nie mają pamięci wewn. A konfiguracja zanika po odłączeniu prądu (np. niektóre FPGA)

W układach CPLD cechą charakterystyczną struktury jest programowalna matryca połączeń (PIA Programmable Interconnect Array) otoczona modułami PAL z makrokomórkami. Rzut oka na moduł PAL: Główna cecha wspólna z PAL: Działa zaraz po podłączeniu zasilania, zaprogramowana konfiguracja nie usuwa się jak w FPGA (w fpga od jakiegos czasu obecna jest pamięc wewnętrzna) Cecha wspólna z FPGA: Bardzo dużo bramek (od tysięcy do dziesiątek tysięcy (FPGA od setek tys. do kilku milionów, a PAL około kilkuset bramek) Różnica z FPGA: W CPLD do zaprogramowania logiki używa się morza bramek (sea of gates) a w PGA tablic LUT (look up tables)

W układach FPGA typową strukturą jest prostokątna macierz elementów logicznych zwanych komórkami, rozmieszczonych w środowisku komutacyjnym kanałów połączeniowych. FPGA: o Układy te składają się z programowalnych bloków logicznych rozmieszczonych w matrycy(clb- Configurable Logic Block). Programowanie polega na wykonaniu połączeń wewnątrz bloków oraz miedzy blokami. Po odłączeniu zasilania konfiguracja jest tracona, dlatego często stosuje się zewnętrzną pamięć konfiguracyjną (np. EEPROM), przechowująca informacje o połączeniach, ktorej zawartość jest wczytywana do układu po podłaczeniu zasilania. o Komórka (logiczna) struktur FPGA jest zazwyczaj zbudowana z uniwersalnego układu kombinacyjnego, tzw. LUT, w sensie możliwości realizacji dowolnej funkcji logicznej n-zmiennych (tu 4-zm. dla trybu normalnego i 3-zm. dla trybu arytmetycznego) o kilku wejściach i jednym lub dwóch wyjściach, przerzutnika D i pomocniczych multiplekserów. Uniwersalny układ kombinacyjny nazywa się strukturą tablicową LUT (Look Up Table), a jednocześnie klasę układów zbudowanych z takich komórek nazywa się układami FPGA typu LUT. o W każdym bloku CLB jest kilka komórek logicznych (nazywanych Slice) o SW (switch matrix) programowalne połączenia między liniami biegnącymi między CLB o I/O Block buforowanie wyprowadzeń zewnętrznych o Na fotce komórka logiczna:

Wpływ zaawansowanych procedur syntezy logicznej na jakośd implementacji sprzętowych układów cyfrowych jest najbardziej znaczący w algorytmach wykorzys tujących struktury FPGA typu LUT. Struktury takie są powszechnie stosowane w ukła dach przetwarzania informacji i sygnałów np. w realizacjach algorytmów kryptogra ficznych, w filtrach cyfrowych, układach transformacji falkowej oraz w realiza cjach układów wykorzystujących arytmetykę rozproszoną. Zatem stosowanie zaawansowanych procedur syntezy logicznej dostępnych głównie w oprogramowaniu uniwersyteckim niejednokrotnie może się przyczynid do sukcesu rynkowego wielu urządzeo cyfrowych, w szczególności tych realizowanych w technologii układów programowalnych przez użytkownika PLD/FPGA. Zalety struktur FPGA to przede wszystkim elastycznośd architektury (równoległośd przetwarzania i dowolna szerokośd ścieżki danych), wielokrotne użycie tych samych zasobów sprzętowych oraz rekonfigurowalnośd. Wady to niedoskonałośd narzędzi projektowania oraz trudny proces uczenia się języka HDL.