Laboratorium elektroniki



Pobieranie 248.7 Kb.
Strona1/6
Data29.04.2016
Rozmiar248.7 Kb.
  1   2   3   4   5   6



POLITECHNIKA OPOLSKA
KATEDRA AUTOMATYKI, ELEKTRONIKI I INFORMATYKI



LABORATORIUM ELEKTRONIKI




PROJEKTOWANIE UKŁADÓW PLD

1Cel ćwiczenia

Celem ćwiczenia pracy jest zaprezentowanie możliwości tzw. specjalizowanych układów cyfrowych (Application Specific Integrated Circuits, ASIC), odgrywających coraz większą rolę w projektowaniu nowoczesnych systemów cyfrowych. W sposób szczegółowy opisane zostaną struktury, możliwości zastosowań oraz tendencje rozwojowe tzw. programowalnych modułów logicznych (Programmable Logic Devices, PLD).

Zaprezentowana zostanie ogólna charakterystyka oraz klasyfikacja specjalizowanych układów cyfrowych. Przedstawione zostaną ogólne informacje na temat tzw. układów programowanych przez użytkownika, stanowiących podgrupę układów specjalizowanych, w skład których obok programowalnych układów logicznych PLD wchodzą także układy FPGA (Field Programmable Gate Array). W instrukcji przedstawiona zostanie klasyfikacja modułów programowalnych PLD oraz nieco bardziej szczegółowy opis poszczególnych ich podgrup.

Student zapozna się z uniwersalnym systemem służącym do wprowadzania specyfikacji urządzeń cyfrowych, syntezy logicznej oraz wytwarzania zbiorów wynikowych do programatorów PLD. W sposób szczegółowy zostanie zaprezentowany zostanie system PLDShell( INTEL), zawierający m.in. uniwersalny kompilator do syntezy układów PLD i symulator układów logicznych. Student pozna gruntownie składnia języka PLDShell.

Następna praktyczna część ćwiczenia stanowi opracowanie własnego projektu użytkowego w systemie PLDShell (praca z software). Wykonanie prototypu układu PLD (programowanie hardware) odbędzie się w formie kolejnego ćwiczenia (odrębna instrukcja).

Na końcu instrukcji podano angielski słownik oznaczeń i skrótów dotyczących   nazewnictwa w dziedzinie PLD oraz wykaz literatury, zarówno krajowej jak i obcojęzycznej, w której zawarto informacje dotyczące szeroko rozumianej problematyki specjalizowanych układów cyfrowych.



2Wstęp

Dotychczasowa filozofia projektowania systemów cyfrowych polegała na „składaniu” systemów z wielu odrębnych, standardowych układów wielkiej skali integracji, uzupełnianych elementami małej i średniej skali integracji, powszechnie produkowanych i prezentowanych w katalogach.

Inne możliwe podejście polega na wytwarzaniu przez producenta układów na zamówienie użytkownika; w tym przypadku cały, nieraz bardzo złożony system cyfrowy może mieścić się w jednym układzie. Najnowsze prognozy natomiast wskazują, że nadchodzące lata stanowić będą erę tzw. układów programowalnych, tzn. układów projektowanych i realizowanych przez samego użytkownika, bez konieczności współpracy z producentem.

Zarówno układy zamawiane, jak i projektowane oraz programowane przez użytkownika określa się wspólną nazwą układów ASIC (Application Specific Integrated Circuits). Klasyfikacja układów ASIC zaprezentowana została na rys. 1.



Rys. 1. Klasyfikacja specjalizowanych układów scalonych


W przypadku układów zamawianych przez użytkownika, są one produkowane w dużych seriach przez producenta na podstawie założeń projektowych przedstawionych przez zamawiającego. Natomiast wykonanie projektu, sporządzenie prototypu, sprawdzenie jego działania i produkcja należą do producenta, z tego też względu układy te są nazywane układami z pełnym cyklem projektowania (full-custom) .

Układy określane jako semi-custom charakteryzują się większym udziałem zamawiającego przy ich powstawaniu. Przyszły użytkownik bierze udział w ich projektowaniu oraz testuje prototypy. W grupie układów projektowanych przez użytkownika wyróżnić można układy wykorzystujące komórki standardowe (Standard Cells) oraz układy na płytkach wstępnie przygotowanych, jak np. matryce bramek (Gate Arrays). Projektowanie matryc komórek polega na składaniu układu z gotowych bramek, multiplekserów, liczników, itp., a następnie przesłaniu tak zaprojektowanego układu do producenta, który korzystając z biblioteki masek wytwarza zamówione układy. Natomiast w przypadku wykorzystania matryc bramek, projektuje się jedynie połączenia pomiędzy elementami logicznymi znajdującymi się na prefabrykowanej strukturze scalonej.

W przypadku małych serii układów specjalizowanych (do kilku tysięcy) najbardziej opłacalne jest zastosowanie układów programowanych przez użytkownika. Układy te, których pierwszym przedstawicielem była pamięć stała ROM (Read Only Memory) są obecnie produkowane w różnorodnych i licznych odmianach obejmowanych wspólną nazwą programowalnych elementów logicznych PLD (Programmable Logic Devices), przy czym od układów PLD odróżnić można nieco odmienne w swojej strukturze układy FPGA .

3Struktury programowalnych modułów logicznych

Pojęcie programowalnych elementów logicznych PLD obejmuje szereg układów produkowanych w różnorodnych i licznych odmianach. Należą do nich układy zawierające kilkadziesiąt do kilku tysięcy bramek



Klasyfikację tych układów przeprowadzać można na wiele sposobów, najistotniejszym jednak kryterium jest struktura wewnętrzna układu. Według tego kryterium rodzina układów PLD może być podzielona na 3 zasadnicze grupy :

  • proste układy PLD (rys. 2) których podstawowym elementem konstrukcyjnym jest matryca AND-OR i zespoły elementów wyjściowych, takich jak bufory trójstanowe lub (w przypadku makrokomórek) multipleksery oraz bramki XOR;




8

makro-

komórka


8

makro-

komórka


:

:

8

makro-

komórka


matryca

AND


Rys. 2. Struktura prostych układów programowalnych PLD



  • złożone układy PLD (Complex PLD, CPLD), których charakterystyczną cechą jest programowalna matryca połączeń (Programmable Interconnect Array) otoczona makrokomórkami (rys. 3); typowa komórka układów CPLD składa się z programowalnych przerzutników, bramek OR i XOR, multiplekserów i buforów trójstanowych;




  • układy FPGA (rys. 4), charakteryzujące się prostokątną macierzą elementów logicznych zwanych komórkami, rozmieszczonych pomiędzy tzw. kanałami połączeniowymi.


Rys. 3. Struktura złożonych układów programowalnych PLD



Rys. 4. Architektura układów FPGA


Powyższa klasyfikacja nie uwzględnia takich szczegółów konstrukcyjnych modułów PLD jak obecność przerzutników, układów wejściowo-wyjściowych i buforów sprzężenia zwrotnego. Będą one uwzględnione przy opisach poszczególnych typów układów.

Głównym elementem konstrukcji układów PLD jest podwójna matryca tranzystorów, bipolarnych TTL lub unipolarnych MOS, w formie matrycy AND i matrycy OR. Połączenia odpowiednich linii z bramkami tranzystorów - umożliwiają programowanie matryc metodą przepalania lub podania ładunku ( układy reprogramowalne).

Układy posiadają także konfigurowalne przerzutniki, sprzężenia i bloki wejściowo-wyjściowe poprawiające ich funkcjonalność.
W zależności od konstrukcji i właściwości dostępne są m.in. następujące typy układów : PAL ( Programable Array Logic), GAL ( Generic Array Logic ), EPLD (Erasable PLD), PLA ( Programable Logic Array), PLS (Programable Logic Sequencer). Podział ten jest wynikiem wprowadzania na rynek nowych konstrukcji przez poszczególnych producentów układów PLD.

Układy PAL, GAL, EPLD posiadają matrycę AND-OR, przy czym matryca OR jest nieprogramowalna. Układy PAL nie posiadają możliwości reprogramowania, jednak są szeroko stosowane z powodu dużej szybkości działania (technologia bipolarna). GAL-e są układami reprogramowalnymi elektrycznie, wykonanymi w technologii EECMOS, także o dużej szybkości działania. Układy EPLD realizowane są w technologii UVCMOS o małym poborze prądu, z możliwością kasowania promieniami UV. Układy PLA i PLS posiadają programowalne matryce AND i OR ze sprzężeniami zwrotnymi, PLS posiadają dodatkowo przerzutniki .

Wyróżnionym typem układów programowalnym będących obok układów PLD są układy FPGA ( Field Programble Logic Array). Są elementami o dużym stopniu integracji zawierają programowalne matryce bramek i bloki funkcjonalne konfigurowane za pomocą wewnętrznej pamięci RAM.

Producenci układów programowalnych oferują układy uniwersalne o małej i średniej skali integracji , zawarte w rodzinach układów o zwiększających się możliwościach.

Przykłady producentów wymienionych typów układów :

- układy PAL firmy AMD - technika bipolarna, układy o 20 do 24 wyprowadzeniach, uniwersalne, duża szybkość działania, duży pobór mocy, brak reprogramowania.

- układy GAL firmy Lattice - technika EECMOS, układy o małej i dużej złożoności, mały pobór mocy, reprogramowalność

- układy EPLD serii Classic (EP), Max firmy Altera - technika UVCMOS, układy o średniej i dużej złożoności, mały pobór mody, duża szybkość, reprogramowalność. Firma ALTERA produkuje także rodziny układów programowalnych o większej złożoności : Max5000, Max7000, Flex8000.

- układy LCA serii 2000, 3000 firmy Xilinx - reprogramowalne elektrycznie układy z standardowymi blokami logicznymi i pamięcią połączeń. Zawierają do 9000 bramek i 1000 przerzutników i są największymi z układów typu FPGA.


  1   2   3   4   5   6


©absta.pl 2016
wyślij wiadomość

    Strona główna