Systemy wbudowane. Układy programowalne



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

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

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

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

Elementy cyfrowe i układy logiczne

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

Temat: Pamięci. Programowalne struktury logiczne.

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

Język opisu sprzętu VHDL

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

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

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

Układy logiczne układy cyfrowe

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Systemy na Chipie. Robert Czerwiński

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

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

Cyfrowe układy scalone c.d. funkcje

Elektronika i techniki mikroprocesorowe

5. PROGRAMOWALNE UKŁADY LOGICZNE

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

Ćw. 7: Układy sekwencyjne

Układy logiczne układy cyfrowe

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

MIKROKONTROLERY I MIKROPROCESORY

LEKCJA TEMAT: Zasada działania komputera.

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Wykład Mikroprocesory i kontrolery

Podstawy elektroniki cz. 2 Wykład 2

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

ZL10PLD. Moduł dippld z układem XC3S200

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

Cyfrowe układy scalone

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

LEKCJA. TEMAT: Funktory logiczne.

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

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

WPROWADZENIE Mikrosterownik mikrokontrolery

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

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

LICZNIKI PODZIAŁ I PARAMETRY

Cyfrowe układy scalone

Architektura komputerów Wykład 2

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

Technika Mikroprocesorowa

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD

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

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

PROJEKTOWANIE UKŁADÓW VLSI

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

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

Opracował: Jan Front

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

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

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

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

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

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Sterowniki Programowalne (SP)

PROGRAMOWALNE STEROWNIKI LOGICZNE

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Podział układów cyfrowych. rkijanka

2. PRZERZUTNIKI I REJESTRY

Tranzystor JFET i MOSFET zas. działania

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.

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

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

Programowalna matryca logiczna

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

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

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

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

Układy programowalne

Systemy Wbudowane. Arduino dołączanie urządzeń Wersja Arduino więcej portów I/O. Układy serii 74. Układy serii 74xx a seria 40xx

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

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Układy czasowo-licznikowe w systemach mikroprocesorowych

Architektura komputerów

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

ARCHITEKTURA PROCESORA,

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

Krótkie przypomnienie

Politechnika Warszawska

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

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

Układy cyfrowe i operacje logiczne

Katedra Mikroelektroniki i Technik Informatycznych

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Szkolenia specjalistyczne

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

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

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

TECHNIKA CYFROWA ELEKTRONIKA ANALOGOWA I CYFROWA. Badanie rejestrów

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

Budowa Mikrokomputera

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

Transkrypt:

Systemy wbudowane Układy programowalne

Układy ASIC Application Specific Integrated Circuits Podstawowy rozdział cyfrowych układów scalonych: Wielkie standardy: standardowe, uniwersalne elementy o strukturze niemodyfikowalnej po wyprodukowaniu; np. bramki i układy funkcjonalne rodzin TTL, ECL, MOS, mikroprocesory, pamięci... Układy ASIC: użytkownik ma w pewien sposób wpływ na strukturę logiczna układu Full-Custom Semi-Custom Standard Cells Gate Arrays Field Programmable Gate Arrays (układy FPGA) Programmable Logic Devices (układy PLD)

Rodzaje układów ASIC Dwie pierwsze klasy układów ASIC (Full Custom, Semi Custom) programowalne w procesie produkcji (programowalne maską). Użytkownik przekazuje projekt producentowi u.s., układy po wyprodukowaniu mają już ostateczną architekturę, która nie ulega zmianom. Dwie pozostałe klasy układów (PLD, FPGA): wszystkie układy określonego typu opuszczają producenta identyczne (produkcja wielkoseryjna, niskie koszty), programowanie układu po jego wykonaniu poprzez utworzenie połączeń w istniejącej sieci ścieżek sygnałowych. Zalety ASIC: niższe koszty zaprojektowania, wykonania i uruchomienia systemu cyfrowego, szczególnie przy produkcji wielkoseryjnej. Możliwości reprogramowania układu - ułatwione testowanie, wprowadzanie zmian w projekcie

Klasyfikacja układów programowalnych

Układy SPLD Układy SPLD można podzielić na: układy o strukturze PLA (Programmable Logic Array); układy PAL (Programmable Array Logic) Układy PROM (PLE Programmable Logic Element)

Układy PLA Posiadają one programowalne matryce AND i OR. Oznacza to, że dowolny term może zostać wykorzystany do realizacji dowolnej operacji sumy logicznej OR. Term linia iloczynu logicznego z matrycy AND

Układy PAL Charakterystyczną cechą architektury układów PAL jest istnienie programowalnej matrycy AND oraz stałej (nieprogramowalnej) matrycy OR Wyjściowe bufory PAL (na rys nie pokazane) stanowią programowalne makrokomórki, które określają architekturę PAL. Makrokomórki PAL mogą zawierać trójstanowy bufor wyjściowy, różnego typu przerzutniki, pętlę sprzężenia zwrotnego z wejściem na matrycę AND, bramkę EXOR i in. Odpowiednie do typu wyjściowych makrokomórek układy PAL można podzielić na następujące grupy funkcjonalne: kombinacyjne, rejestrowe, uniwersalne i in.

Klasyczne układy PAL Struktura zawiera n wejść (prostych i zanegowanych), programowalną matrycę iloczynu AND, stałą matrycę sumy OR realizowaną w postaci oddzielnych bramek sumy logicznej oraz trzy typy wyjść: b czystych wyjść kombinacyjnych, m dwukierunkowych wyjść kombinacyjnych i r wyjść rejestrowych. Można zauważyć, że wszystkie wyjścia, oprócz czystych wyjść kombinacyjnych, posiadają sprzężenia zwrotne z matrycą AND.

Klasyczne układy PAL c.d. Bufor wyjściowy jest realizowany jako trójstanowy inwertor. Przejście bufora w trzeci stan (wysokiej impedancji) pozwala wyjścia dwukierunkowe stosować w charakterze wejść a czyste wyjścia kombinacyjne i rejestrowe odłączyć od szyny wewnętrznej. Przy czym zasoby makrokomórek mogą być wykorzystywane do realizacji logiki wewnętrznej projektu, np. funkcji pośrednich czy funkcji wzbudzeń elementów pamięci automatu skończonego. Dla danych rodzin układów liczba termów związanych z jednym wyjściem może różnić się dla różnych typów wyjść qc dla kombinacyjnych, qr dla rejestrowych. Klasyczne układy PAL posiadają też d=2 wejść specjalizowanych: CLK do synchronizacji rejestrów i OE - do globalnego sterowania wyjść. Można zauważyć, że wejścia specjalizowane klasycznych PAL w przypadku braku ich wykorzystania nie mogą być stosowane jako zwykłe wejścia.

Uniwersalne układy PAL (GAL) Ogólna struktura zawiera programowalna matryce AND, n wejść, d wejść specjalizowanych i di wejść specjalizowanych, które mogą być wykorzystywane jako zwykłe wejścia. Struktura posiada także dwa typy makrokomórek: m makrokomórek MC z jednym sprzężeniem zwrotnym i m2 makrokomórek MCF z dwoma sprzężeniami zwrotnymi. Oprócz tego w niektórych uniwersalnych PAL z różnymi makrokomórkami związana jest różna liczba termów: q1,...,qm, qf1,...,qfm2.

Cechy uniwersalnych PAL Cechą charakterystyczną uniwersalnych układów PAL jest elastyczność architektury ich makrokomórek wyjściowych, co pozwala każde wyjście zaprogramować jako kombinacyjne, rejestrowe, dwukierunkowe oraz jako wejście. Oprócz tego istniej możliwość programowania poziomu logicznego sygnału wyjściowego, tzn., jedynka logiczna może być określona wysokim lub niskim poziomem sygnału. Ta ostatnia właściwość pozwala z dwóch sposobów przedstawienia funkcji logicznych (postaci prostej lub zanegowanej) wybrać takie, które jest prostsze w realizacji, a żądany poziom sygnału wyjściowego określić drogą programowania wyjściowej makrokomórki PAL

Makrokomórka uniwersalnego PAL Bramka EXOR służy do programowania logicznego poziomu sygnału wyjściowego funkcji wyjściowej, multiplekser MX1 do programowania typu wyjścia (rejestrowe czy kombinacyjne), MX2 do określenia sposobu podłączenia sprzężenia zwrotnego. W makrokomórkach z dwoma sprzężeniami zwrotnymi brak jest multipleksera MX2.

Układy CPLD Układy CPLD (Complex Programmable Logic Devices) stanowią zespół od kilku do kilkudziesięciu struktur SPLD połączonych ze sobą za pomocą programowalnej matrycy SM (switching matrix). Przetwarzane dane w CPLD są podawane na dwukierunkowe wyprowadzenia bloków funkcjonalnych FB1 - FBT, rezultaty obróbki danych formowane są także na dwukierunkowych wyprowadzeniach bloków funkcjonalnych. Oprócz tego CPLD posiada d wejść specjalizowanych, z których dc może być wykorzystywanych do synchronizacji przerzutników, doe do sterowania buforami trójstanowymi, a di do wykorzystania jako zwykłe wejścia.

Blok funkcjonalny CPLD Zawiera matrycę AND, r makrokomórek MC1,...,MCr i m wyprowadzeń zewnętrznych sterowanych komórkami wejścia-wyjścia IOC1,...,IOCm. Oprócz tego architektury bloków funkcjonalnych niektórych rodzin CPLD posiadają dodatkowo generator sygnałów synchronizacji (Clock Generator), matryce przełączania wyjść (OSMOutput Switch Matrix), matrycę przełączania wejść (ISM Input Switch Matrix), dzielone ekspandery termów (SE Shared Expander) i inne elementy. Matryca AND posiada n wejść z matrycy przełączającej SM.

Makrokomórka CPLD Bramka EXOR może zostać wykorzystana do sterowania poziomem logicznym funkcji wyjściowej, do realizacji funkcji logicznej EXOR do emulacji przerzutników D, T, JK, SR. Niektóre CPLD dopuszczają programowanie przerzutnika do pracy w trybie zatrzasku (latch) lub przezroczystego przerzutnika typu D.

Makrokomórka CPLD Sygnały sterujące makrokomórką dzielą się na globalne (wspólne dla wszystkich makrokomórek CPLD), lokalne (wspólne dal wszystkich makrokomórek jednego bloku funkcjonalnego) oraz indywidualne (wpływające na działanie tylko jednej makrokomórki). Spośród globalnych sygnałów sterowania najczęściej wykorzystuje się następujące: GCLK globalny sygnał zegarowy, GAP globalny sygnał asynchronicznego ustawienia wszystkich przerzutników w stan 1, GAR - globalny sygnał asynchronicznego zerowania przerzutników, GENA globalny sygnał uaktywniania wejścia zegarowego przerzutników, GOE globalne sterowanie buforami wyjściowymi. Do sterowania każdym przerzutnikiem oddzielnie, wykorzystuje się następujące sygnały indywidualnego sterowania: CLK sygnał synchronizacji, AP i AR sygnały asynchronicznego ustawiania i zerowania przerzutnika, ENA uaktywnienie wejścia zegarowego, OE sterowania buforem wyjściowym. Lokalne sygnały sterowania są zwykle formowane za pomocą generatora sygnałów synchronizacji i stosowane zamiast sygnałów sterowania indywidualnego.

Układy FPGA Prostokątna macierz zbudowana z elementów logicznych (LE Logic element). Komórki te łączą się między sobą, a także między blokami wejścia/wyjścia (IOB Input-Output Block) za pomocą kanałów połączeń. Komórka struktury FPGA jest generatorem dowolnej funkcji logicznej kilku zmiennych o jednym lub dwóch wyjściach.

Układy FPGA W skład elementu logicznego wchodzą zazwyczaj generator funkcji logicznych, przerzutnik i programowalne multipleksery. Generator funkcji logicznych określa się skrótem LUT (LookUp Table). We współczesnych strukturach FPGA elementy logiczne są połączone w bloki elementów logicznych LAB

CPLD i FPGA W ostatnim czasie granica pomiędzy układami CPLD i FPGA powoli zaciera się. Pojawiły się układy FPGA z blokową organizacją elementów logicznych (np. FLEX 10K i pochodne) oraz układy CPLD z połączeniami kanałowymi zamiast matrycy przełączników (np. MAX 9000).

CPLD Altera MAX 7000 struktura Układy MAX 7000 zawierają od 2 do 16 bloków funkcjonalnych połączonych matrycą przełączającą, gdzie każdy blok zawiera 16 makrokomórek (łącznie do 256 makrokomórek w całym układzie)

MAX 7000 - makrokomórka indywidualne i globalne sterowanie przerzutnikiem, możliwość obejścia przerzutnika, wprowadzenie do przerzutnika sygnału bezpośrednio z wyprowadzenia we/wy, z pominięciem matrycy połączeń. wspólne ekspandery (shared expander) pozwalają na dołączenie do jednej makrokomórki do 32 termów. Sposób działania ekspanderów oparty jest na uzyskiwaniu sfaktoryzowanego wyrażenia iloczynu zanegowanych zmiennych (lub wyrażeń boolowskich). Jeśli te wyrażenia boolowskie są iloczynami zmiennych to ich negacje są sumami logicznymi zanegowanych zmiennych, a iloczyn tych sum będzie wyrażeniem o zwiększonej liczbie składników. istnienie bloku wyboru termów przychodzących z matrycy AND oraz ekspanderów równoległych (parallel expabders) umożliwiających pożyczenie od sąsiednich makrokomórek pewnej liczby termów w celu realizacji szybkich funkcji o dość dużej złożoności.

Układy CPLD Xilinx XC9500 Struktura Układy CPLD rodziny XC9500 charakteryzują się dużą pojemnością (do 12800 bramek użytkowych i do 576 makrokomórek) oraz dużą szybkością (do 125 MHz). Posiadają one możliwość programowania w systemie (In-System Programmable) umożliwiającą 10000 cykli programowania i kasowania.

CPLD XC9500 blok funkcjonalny Układ XC9500 składa się bloków funkcjonalnych połączonych matrycą łączenia ze sobą oraz z blokami we/wy Każdy blok funkcjonalny zawiera: matrycę AND układ rozdzielający termy (product term allocator) makrokomórki (18)

XC9500 - makrokomórka Każda makrokomórka może być indywidualnie skonfigurowana jako kombinacyjna lub rejestrowa. Do każdej makrokomórki podłączonych jest na stałe 5 termów. Układ rozdzielający zapewnia wykorzystanie termów z innych makrokomórek danego bloku funkcjonalnego. Umożliwia to wykorzystanie wszystkich 90 termów do zbudowania złożonej funkcji logicznej. Drugą funkcją układu rozdzielającego jest zapewnienie indywidualnych sygnałów sterowania przerzutnikiem (ustawianie, zerowanie, zegar) oraz sterowania buforem wyjściowym (OE). Możliwe jest też wykorzystanie globalnych sygnałów sterowania podawanych z wejść dedykowanych.

FPGA Altera FLEX 10K Rodzina układów FLEX oznaczona symbolem 10K jako pierwsza posiada programowalną strukturę logiczną z wbudowaną programowalną logiką specjalnego przeznaczenia umożliwiającą implementacje pamięci ROM i RAM. Dzięki tzw. wbudowanej matrycy (embedded array) możliwa jest emulacja pamięci i specjalizowanych, wielowejściowych i wielowyjściowych funkcji logicznych. Matryca logiczna natomiast wykorzystana jest do tworzenia podstawowej logiki układu. Input/Output Cell Fast Track Interconnect : : Embedde d Array Block Logic Element : : Embedde d Array Block } LAB Logic Array Wyjścia poszczególnych matryc EAB i LAB połączone są poprzez szybkie magistrale wewnętrzne FastTrack Interconnect.

FLEX 10K - blok LAB LAB Logic Array Block Matryce logiczne składają się z szeregu bloków matryc logicznych LAB, przy czym każdy blok LAB zawiera osiem komórek LE i związane z nimi połączenia lokalne.

FLEX 10K komórka LUT LUT Look-Up Table generator logiczny umożliwiający generację dowolnej funkcji logicznej 4 zmiennych Tryby pracy: Normalny Arytmetyczny Licznik w górę/w dół Licznik zerowalny

FLEX 10K Blok pamięci EAB Wbudowana matryca składa się z bloków wbudowanych matryc EAB (Embedded Array Block). Każdy z tych bloków może oddzielnie lub w połączeniu z innymi blokami zostać użyty w celu implementacji pamięci lub specjalizowanej funkcji logicznej. Bloki EAB emulują pamięć o pojemności 2KB i mogą tworzyć struktury pamięci RAM, ROM lub FIFO. W przypadku zastosowania bloków EAB do realizacji funkcji logicznych, dostępnych jest od 100 do 259 bramek umożliwiających budowę układów mnożących, układów arytmetycznych (ALU) i procesorów sygnałowych (DSP).

CPLD vs. FPGA CPLD: Struktura niejednorodna Średnia ilość zasobów Narzucona struktura połączeń Duża szybkość FPGA: Struktura tablicowa Duża ilość zasobów Duża dowolność łączenia zasobów Średnia szybkość

Obszar zastosowań PLD (1) Logika scalająca (glue logic) Szczególnie w początkowym okresie wykorzystywane do zastępowania logiki scalającej składającej się z wielu modułów, takich jak: dekodery, rejestry, automaty FSM. Typowym przykładem są interfejsy dla mikroprocesorów i mikrokontrolerów umożliwiające współpracę z innymi podsystemami takimi, jak pamięci czy układy peryferyjne.

Obszar zastosowań PLD (2) Akceleratory sprzętowe Dla wielu zastosowań układy PLD pozwalają na osiągnięcie wydajności znacznie przewyższającej tą oferowaną przez mikroprocesory tradycyjne lub sygnałowe. Jest to możliwe szczególnie wtedy, gdy istnieje szansa zastosowania obliczeń równoległych. Akceleratory wykorzystuje się w przetwarzaniu: grafiki, dźwięku, sekwencji wideo. Zalety PLD: realizacja różnych funkcji w tym samym sprzęcie, łatwość modernizacji, łatwość rozbudowy o nowe funkcje PLD

Obszar zastosowań PLD (3) Niestandardowe systemy przetwarzania danych Często złożone systemy i algorytmy mogą być przedstawione z wykorzystaniem koncepcji przepływu danych (dataflow) i zrealizowane jako ścieżka przetwarzania danych kontrolowana własnym układem sterującym. Obszary zastosowań: przetwarzanie sygnałów cyfrowych i obrazu, sieci neuronowe, inne obliczeniowo skomplikowane algorytmy. Zalety PLD: opłacalne w przypadku małych serii, łatwość opisu w języku HDL.

Obszar zastosowań PLD (4) Wirtualny sprzęt Dzięki rekonfigurowalności zasoby sprzętowe na żądanie użytkownika mogą wykonywać różne zadania. Postrzega on wtedy zasoby jako większe niż są one w rzeczywistości. aplikacja główna + sprzęt rekonfigurowalny różne konfiguracje zasobów przechowywane w pamięci konfiguracji, ładownie konfiguracji potrzebnej w danej chwili,

Projektowanie z wykorzystaniem PLD Układy FPLD udostępniają zasoby składające się z identycznych komórek logicznych (logic cells) i mechanizmy łączenia ich ze sobą. Wielkość dostępnych zasobów i złożoność projektów realizowanych w układach wymagają narzędzi umożliwiających translację funkcji zadanych przez użytkownika w sieć zbudowaną z komórek logicznych i programowalnych połączeń formującą docelowy projekt. Oprogramowanie umożliwia automatyczną translację projekt dla różnych architektur FPLD. Systemy projektowe integrują różne etapy projektowania w jednolite środowisko projektowe. Systemy umożliwiają projektowanie na wysokim poziomie abstrakcji, ale jednocześnie umożliwiają projektantowi analizowanie fizycznego rozmieszczenia projektu w układzie FPLD a nawet zmianę szczegółów projektu na najniższym bramkowym poziomie abstrakcji.

Możliwości systemów CAD System projektowania umożliwia: opis projektu, translację opisu w celu realizacji projektu, weryfikację projektu, programowanie układu, powtórne wykorzystanie projektów