PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Podobne dokumenty
Temat: Pamięci. Programowalne struktury logiczne.

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Elementy cyfrowe i układy logiczne

Układy programowalne

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

Elektronika i techniki mikroprocesorowe

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

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

Cyfrowe układy scalone

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

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

Cyfrowe układy scalone

Język opisu sprzętu VHDL

Cyfrowe układy scalone

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

ZL10PLD. Moduł dippld z układem XC3S200

Systemy wbudowane. Układy programowalne

Cyfrowe układy scalone c.d. funkcje

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

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

LABORATORIUM PROJEKTOWANIA UKŁADÓW VLSI

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

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

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

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

PROJEKTOWANIE UKŁADÓW VLSI

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

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

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

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.

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

Programowalna matryca logiczna

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

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

Wygląd okna aplikacji Project Navigator.

Ćw. 8 Bramki logiczne

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

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

Podział układów cyfrowych. rkijanka

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

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

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Projektowanie Systemów Wbudowanych

Podstawy elektroniki cz. 2 Wykład 2

2. PRZERZUTNIKI I REJESTRY

Opis przedmiotu zamówienia CZĘŚĆ 1

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

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

Krótkie przypomnienie

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

RODZAJE PAMIĘCI RAM. Cz. 1

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

LICZNIKI Liczniki scalone serii 749x

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

Opis przedmiotu zamówienia

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

LABORATORIUM TECHNIKA CYFROWA BRAMKI. Rev.1.0

Laboratorium przedmiotu Technika Cyfrowa

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

MODEL KOMÓRKI UKŁADU FPGA ZBUDOWANEGO W OPARCIU O BRAMKI PRĄDOWE

Układy FPGA w przykładach, część 2

Logiczne układy bistabilne przerzutniki.

Podstaw Elektroniki Cyfrowej Wykonał zespół w składzie (nazwiska i imiona): Dzień tygodnia:

Systemy na Chipie. Robert Czerwiński

płytka montażowa z tranzystorami i rezystorami, pokazana na rysunku 1. płytka montażowa do badania przerzutnika astabilnego U CC T 2 masa

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

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

To nie huragan, to Cyclone II!

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

Układy cyfrowe (logiczne)

PSM niebanalne Flashe

UKŁADY KOMBINACYJNE (BRAMKI: AND, OR, NAND, NOR, NOT)

Układy kombinacyjne. cz.2

Architektura komputerów

Tranzystory. 1. Tranzystory bipolarne 2. Tranzystory unipolarne. unipolarne. bipolarny

Układ elementarnej pamięci cyfrowej

Statyczne badanie przerzutników - ćwiczenie 3

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

Układy zegarowe w systemie mikroprocesorowym

Ćw. 7: Układy sekwencyjne

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3

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

Podstawy Informatyki JA-L i Pamięci

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

Miernik i regulator temperatury

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

Układy pamięci firmy Microchip w ofercie TME

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

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

Układy TTL i CMOS. Trochę logiki

3. Funktory CMOS cz.1

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

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

Wstęp Architektura... 13

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

LABORATORIUM. Technika Cyfrowa. Badanie Bramek Logicznych

Układy sekwencyjne przerzutniki 2/18. Przerzutnikiem nazywamy elementarny układ sekwencyjny, wyposaŝony w n wejść informacyjnych (x 1.

Transkrypt:

Paweł Bogumił BRYŁA IV rok Koło Naukowe Techniki Cyfrowej Dr inŝ. Wojciech Mysiński opiekun naukowy PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE Keywords: PAL, PLA, PLD, CPLD, FPGA, programmable device, electronic circuit, logic, array, field Słowa kluczowe: PAL, PLA, PLD, CPLD, FPGA, układ programowalny, układ elektroniczny, logiczne, matryca 1. Wprowadzenie UKŁADY PROGRAMOWALNE Układy cyfrowe moŝna podzielić na dwie grupy standardowe układy scalone oraz na tzw. układy ASIC (Application Specific Integrated Circuit). W przypadku zwykłych układów scalonych ich właściwości funkcjonalne są ustalane w procesie produkcji i nie mogą być później zmieniane. Natomiast właściwości układów ASIC są określane w zaleŝności od potrzeb przez ostatecznego uŝytkownika, a nie przez producenta. Do grona układów ASIC moŝna zaliczyć układy programowalne PLD (Programmable Logic Devices), ale biorąc pod uwagę moŝliwość wielokrotnego przeprogramowywania większości układów PLD oraz łatwość ich wytwarzania, stanowią one jakby odrębną rodzinę. Układy programowalne moŝna podzielić na: SPLD (Simple Programmable Logic Device) proste układy programowalne CPLD (Complex Programmable Logic Device) złoŝone układy programowalne FPGA (Field Programmable Gate Array) programowalne matryce bramkowe Konfigurowanie układów programowalnych moŝe odbywać się następującymi metodami: 1. Odpowiednio przygotowane ścieŝki do przepalenia (przez przepuszczenie prądu o duŝym natęŝeniu) podczas programowania takie zwarcia są usuwane. Układy te mogą być programowane tylko raz. 2. Elementy nie przewodzące, w których podczas programowania następuje przebicie dielektryka między warstwami przewodzącymi, połączenia te charakteryzują się małą rezystancją połączeń. RównieŜ jednokrotnie programowalne. Układy te mogą być programowane przez końcowego uŝytkownika. 3. Z wykorzystaniem tranzystorów MOS, które po włączeniu w stan przewodzenia zwierają ścieŝki; istnieje tu kilka moŝliwości wykorzystania tranzystorów: jako komórki pamięci EPROM, EEPROM, Flash lub zwykłe tranzystory MOS, które są zasilane z pamięci

statycznej RAM. Układy tego typu są reprogramowalne. W układach z pamięcią RAM po wyłączeniu zasilania konfiguracja logiczna jest tracona. Po ponownym włączeniu zasilania następuje ładowanie konfiguracji z zewnętrznych pamięci konfiguracyjnej. Układy FPGA programowane w ten sposób mogą być rekonfigurowane w czasie pracy. UŜywając układów programowalnych moŝna zaoszczędzić miejsce na płytce drukowanej oraz stosować zasilanie o mniejszej mocy. Zmniejszony pobór mocy w porównaniu ze standardowymi układami elektronicznymi uzyskuje się dzięki wysokiemu stopniowi scalenia oraz mniejszej liczbie zacisków zewnętrznych. 2. Układy PLD (SPLD) Do układów SPLD zalicza się przede wszystkim układy o architekturach PLA i PAL. Są to najtańsze i najprostsze układy. WiąŜą się z tym niestety niezbyt duŝe moŝliwości logiczne. Układy PLD są układami o małej skali integracji. Zawierają nie więcej niŝ 500 bramek logicznych, 24 makrokomórki i nie więcej niŝ 40 linii I/O. Układy te są produkowane głównie w technologii CMOS. PAL (Programmable Array Logic) Rys. 1. Schemat logiczny układu PAL

Architektura PAL składa się z dwóch matryc: AND i OR. Matryca AND jest programowalna a matryca OR skonfigurowana na stałe. Funkcje logiczne są realizowane jako sumy iloczynów sygnałów wejściowych. PLA (Programmable Logic Array) Rys. 2. Schemat logiczny układu PLA Układ ten róŝni się od PAL tylko tym, Ŝe występującą tu matryca OR jest programowalna tak jak matryca AND. W większości produkowanych układów PLD, programowalne matryce AND są wyposaŝane w dodatkowe linie, którymi są doprowadzane sygnały sprzęŝenia zwrotnego z wyjść matrycy OR, przerzutników wyjściowych lub innych elementów makrokomórek wyjściowych. Podstawowe parametry czasowe to: czas propagacji (t PD ; to czas, który upływa od momentu wystąpienia zmiany na zewnętrznych zaciskach układu do momentu ustalenia się wartości na wyjściu układu kombinacyjnego), czas ustawiania (t S ; to minimalny czas, w którym sygnał wejściowy przerzutnika musi być stabilny przed nadejściem zbocza wyzwalającego sygnału zegarowego), czas trzymania (t H ; to minimalny czas, w którym sygnał na wejściu przerzutnika musi być stabilny po wystąpieniu zbocza wyzwalającego sygnału taktującego), opóźnienie sygnału taktującego do wyjścia (t CO ; czas jaki upływa od

momentu zmiany sygnału taktującego podanego na zewnętrzny zacisk układu do chwili ustalenia się stabilnego stanu na innym zacisku zewnętrznym układu), opóźnienie propagacji sygnału taktującego przez matrycę logiczną do wyjścia (t CO2 ; ), opóźnienie zegara systemowego do zegara systemowego (t SCS ; minimalny czas sygnału taktującego, wymagany do wykonania operacji logicznych w strukturze między rejestrami; naleŝy tu wliczyć czasy ustawiania obydwu rejestrów). Maksymalna częstotliwość pracy jest określana wg zaleŝności: f 1 max =. t SCS 3. Układy CPLD Układy CPLD są podobne do układów SPLD, ale mają większe zasoby logiczne i moŝliwości funkcjonalne. Zawierają od kilkudziesięciu do kilkuset makrokomórek łączonych w większe bloki logiczne po 4 16 (struktura hierarchiczna). Układy CPLD wytwarzane są zwykle w technologii MOS i wyposaŝane w pamięć EPROM, EEPROM i Flash. Pierwsze układy CPLD oparte były na technologii PAL, przy znacznie zwiększonym wymiarze programowalnej matrycy AND. Dzięki temu uzyskano znaczne zwiększenie ilości sygnałów wejściowych, a takŝe większą liczbę rejestrów wyjściowych. To rozwiązanie było jednak za wolne, co było wynikiem zwiększenia się pojemności pasoŝytniczych. Kolejna architektura była takŝe oparta na strukturach PAL, ale połączono je szybką, programowaną matrycą połączeniową. We współczesnych układach CPLD matryce połączeniowe realizowane są w postaci programowalnych multiplekserów, które dostarczają sygnały z linii wejściowych i sprzęŝenia zwrotnego do bloków logicznych. Czas propagacji nie przekracza zwykle 3 ns. Czasy te są róŝne w zaleŝności od producenta i uŝytych technologii. Matryce połączeniowe wykonywane są takŝe jako wielopoziomowe. W układach tych jest moŝliwe poprowadzenie wszystkich połączeń, czyli dowolne wejście do połączenia programowalnego moŝe być połączone z dowolnym blokiem logicznym, o ile nie wykorzystano juŝ wszystkich wejść danego bloku. Rozmiar bloku logicznego określa jego moŝliwości czyli liczbę elementów logicznych, które moŝna w nim zaimplementować. WaŜnym elementem jest takŝe liczba wejść do bloku, liczba iloczynów oraz schemat rozprowadzenia tych iloczynów wewnątrz struktury. Większość linii iloczynowych moŝe być uŝywana przez cztery sąsiednie makrokomórki, bez ryzyka wystąpienia dodatkowych opóźnień. Sygnały wejściowe mogą być kombinacyjne, zatrzaskowe lub zapisywane w rejestrze. Czasem sygnał asynchroniczny względem zegara systemowego jest synchronizowany przez dwa przerzutniki, aby zwiększyć niezawodność systemu. Parametry czasowe są takie same jak w przypadku układów SPLD: czas propagacji, czas ustawiania, opóźnienie sygnału taktującego do wyjścia oraz czas przejścia sygnału od rejestru do rejestru. W przypadku układów CPLD mamy do czynienia z kilkoma własnościami, które odróŝniają je między sobą, a mianowicie: programowanie

układu w systemie (ISP In System Programmability), przeprogramowanie układu w systemie (ISR In System Reprogrammability), napięcie pracy (5V lub 3,5 V), port dla sygnałów testujących i moŝliwość testowania przez złącze obserwacyjno-testujące (JTAG Joint Test Action Group) oraz bufory wejściowe i wyjściowe, które są zgodne ze standardem połączeń PCI (Peripherial Component Interconnect) Rys. 3. Schemat logiczny układu o architekturze CPLD 4. Układy FPGA Układy FPGA składają się z bloków logicznych rozmieszczonych matrycowo, połączonych za pomocą tras i matryc kluczy połączeniowych, umieszczonych na przecięciu tras poziomych i pionowych. Na brzegach znajdują się programowalne bloki we/wy. Zawierają zwykle od 64 do dziesiątków tysięcy bloków logicznych. Bloki logiczne w układach FPGA mogą być bardzo zróŝnicowane. ZłoŜone bloki zawierają dwie lub więcej pamięci RAM i dwa lub więcej przerzutników. W prostszych blokach występują zwykle dwuwejściowe układy generacji funkcji kombinacyjnych lub czterowejściowe multipleksery i przerzutniki. Układy FPGA charakteryzują się duŝą liczbą sygnałów we/wy oraz duŝym upakowaniem rejestrów. UmoŜliwiają zwiększenie, w dość znacznej mierze, stopnia scalenia. MoŜna je programować i przeprogramowywać w systemie.

Architektura komórek logicznych jest róŝna, w zaleŝności od tego w jaki sposób są wykonywane połączenia. W strukturach z izolowanymi połączeniami moŝna stosować większą liczbę sygnałów we/wy dzięki duŝej ilości linii do przenoszenia sygnałów i bezpieczników, dzięki którym moŝna wykonać prawie wszystkie dowolne połączenia. W układach opartych na technologii SRAM komórki logiczne są większe o mniejszej liczbie we/wy. Nadają się one do implementacji skomplikowanych funkcji logicznych bez większego wpływu na opóźnienia. Wadą układów FPGA jest to, Ŝe połączenia między blokami są zestawiane z części, co moŝe prowadzić do występowania opóźnień. Pod tym względem układy CPLD są lepsze poniewaŝ posiadają ciągłe połączenia dzięki czemu opóźnienia są mniejsze, stałe i przewidywalne. Powszechnie stosowane są wejścia i obwody specjalnego przeznaczenia charakteryzujące się niskim poziomem zniekształceń, którymi rozprowadzane są sygnały zegarowe. Układy FPGA mogą pracować zasilane napięciami 5V i 3,5V, z niskim poborem mocy. Mogą być takŝe testowane przez złącze obserwacyjno-testujące zgodne ze standardem JTAG. Posiadają zgodność sygnałów we/wy ze standardem PCI. Rys. 4. Architektura układu FPGA

LITERATURA [1] Pasierbiński Jerzy, Zbysiński Piotr: Układy programowalne, WKŁ, Warszawa 2002. [2] Skahill Kevin: Język VHDL, WNT, Warszawa 2001. [3] Zwoliński Mark: Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, WKŁ, Warszawa 2002. [4] http://www.xilinx.com/ [5] http://www.altera.com/