You are on page 1of 22

UKŁADY FPGA

Piotr Spyra, Michał Urbaniak


Układy elektroniczne wielkiej skali integracji
Wydział Informatyki
Politechnika Poznańska
METODOLOGIA PROJEKTOWANIA UKŁADÓW
CYFROWYCH Z WYKORZYSTANIEM HDL
METODY PROJEKTOWANIA UKŁADÓW
CYFROWYCH
Metody projektowania układów scalonych:
 Bottom-up – od pojedynczego elementu do układu,
 Top-down – od funkcji układu do jego fizycznej
realizacji

Do modelowania układów najczęściej używa się:


 Schematów logicznych,
 Diagramów stanów,
 Języków opisu sprzętu takich jak VHDL i Verilog
Języki opisu sprzętu (HDL) zyskały sporą popularność
dzięki narzędziom do syntezy logicznej. Dzięki nim
możliwa jest automatyczna zamiana abstrakcyjnego
opisu na listę połączeń w zadanej technologii.
UKŁADY ELEKTRONICZNE WIELKIEJ SKALI
INTEGRACJI NA PRZYKŁADZIE FPGA

 FPGA – reprogramowalny układ logiczny.


Podstawowymi elementami są:
 Matryca z blokami logicznymi (CLB),
 Programowalne połączenia między blokami,
 Programowalne układy wejścia/wyjścia.

 Zaprogramowanie FPGA jest równoznaczne ze


stworzeniem sprzętowego odwzorowania
opracowanego algorytmu.
 FPGA mogą zawierać od kilkudziesięciu do
dziesiątków tysięcy bloków logicznych.
RODZAJ TECHNOLOGII WYKORZYSTYWANYCH
DO ZAPAMIĘTYWANIA KONFIGURACJI FPGA

 SRAM – pamięć statyczna, konfiguracja


przepada w chwili odcięcia zasilania.
 EEPROM, FLASH – zapamiętują konfigurację
także w przypadku braku zasilania.
 Fuse, antifuse – trwały zapis poprzez
„przepalenie ścieżek”, stworzenie stałych
połączeń pomiędzy blokami logicznymi.
Charakteryzuje się wysoką odpornością na
impuls elektromagnetyczny.
ZASTOSOWANIE UKŁADÓW FPGA
 Robotyka i sterowanie maszynami
 Układach obsługi wentylatorów,
 Pomp,
 Kompresorów,
 Taśmociągów,

 Obróbka sygnałów
 Pomiar szerokości impulsów,
 Realizacja filtrów cyfrowych,
 Pomiar pozycji lub prędkości obrotowej z enkoderów
cyfrowych
 Projektowanie prototypów układów ASIC
PRODUCENCI UKŁADÓW FPGA
Wiodącą rolę na rynku odgrywa obecnie czterech
dostawców:
 Xilinx,

 Altera,

 Atmel,

 Lattice Semiconductor.

Znaleźć można także układy takich producentów


jak Actel, Cypress, QuickLogic.
RODZINY FPGA FIRMY XILINX
 Przestarzałe rodziny
 XC3000, XC4000, XC5200
 Stare technologie 0.5µm, 0.35µm i 0.25µm. Nie zalecane
dla nowych projektów
 Tanie rodziny
 Spartan/XL – pochodna XC4000
 Spartan-II – pochodna Virtex
 Spartan –IE – pochodna Virtex-E
 Spartan-3, Spartan 3E, Spartan 3L
 Wydajne rodziny
 Virtex (220nm)
 Virtex E, Virtex EM (180nm)
 Virtex-II, Virtex-II PRO (130nm)
 Virtex 4 (90nm)
 Virtex 5 (65nm)
PROGRAMY SŁUŻĄCE DO PROJEKTOWANIA
APLIKACJI DLA UKŁADÓW FPGA
Na rynku dostępne są także programy i narzędzia
ułatwiające i przyspieszające proces projektowania
specyficznych aplikacji dla FPGA, np.:
 Xilinx Targeted Design Platform – zawiera
podstawowe elementy niezbędne w przygotowaniu
przemysłowych aplikacji wizualizacyjnych
 HyperKinetix (firmy Atlantix) – dedykowany do
aplikacji napędowych, ułatwiający opracowywanie
aplikacji z układami FPGA dla cyfrowych
sterowników napędów
 Opal Kelly – zawiera gotowe moduły zapewniające
niezawodność przy opracowywaniu aplikacji
wymagających współpracy FPGA z modułami
wyposażonymi w procesor lub działającymi na bazie
przemysłowych komputerów PC.
BUDOWA FPGA NA PRZYKŁADZIE
RODZINY SPARTAN 3 FIRMY XILINX

 Blok CLB
 IOB

 Globalne systemy zegarowe

 DCM

 Sprzętowe multiplakatory

 Pamięć Block RAM


Schemat blokowy ukazujący budowę układów Spartan 3
Źródło: Elektronika Praktyczna
CLB

Budowa komórki logicznej CLB w układach Spartan 3


Źródło: Elektronika Praktyczna
IOB I UCF
 Input-Output Block
 Zadaniem komórek IOB jest zapewnienie
dwukierunkowej wymiany danych pomiędzy CLB
a otoczeniem.

 User Constraints File


 W pliku UCF znajdują się przypisania sygnałów
do konkretnych wyprowadzeń układu
 NET „test” LOC = 88
GLOBALNE LINIE ZEGAROWE
 Standardowe połączenia pomiędzy CLB są
podzielone na krótkie segmenty – zmniejszenie
częstotliwości taktowania projektu.
 GLZ służą m.in. do dystrybucji niezależnych
sygnałów zegarowych.
DCM – DIGITAL CLOCK MANAGER
 Elementy w strukturze FPGA pomimo
taktowania sygnałem zegarowym pochodzącym z
jednego źródła nie są taktowane jednocześnie.
 Różny czas dystrybucji sygnału w zależności od:
 Trasy jaką pokonuje,
 Odległości pomiędzy źródłem i celem,

 Liczby wejść taktowanych jednocześnie

 DCM pozwala kompensować różnice faz sygnałów


zegarowych
 W prostych aplikacjach używanie DCM nie jest
konieczne.
MULTIPLIKATORY
 Pozwalają mnożyć dwie liczby 18 bitowe,
 Praca w trybie
 Asynchronicznym,
 Synchronicznym (synchronizowane sygnałem zeg.)
SRAM I BLOCKRAM
 SRAM – konfigurowalna pamięć,
 Liczba niezależnych bloków BlockRAM oraz jej
pojemność zależy od typu układu,
 Możliwość zapisu oraz odczytu z różnych adresów
(pamięć dwuportowa),
 Konfiguracja bloków pamięci:
 Jednoportowa,
 Dwuportowa,
 FIFO,
 CAM (Content Addressable Memory),
 ROM.
RÓŻNICE FPGA ORAZ CLPD

FPGA CLPD
Struktura tablicowa Struktura niejednorodna
Duża ilość zasobów Średnia ilość zasobów
Duża dowolność łączenia zasobów Narzucona struktura połączeń
Średnia szybkość Duża szybkość
Droższe od CLPD Niższa cena
DIGILENT NEXYS
DIGILENT NEXYS II
DIGILENT HW-SPAR3E-SK
LITERATURA
 http://www.controlengpolska.com/menu-
gorne/artykul/article/uklady-fpga-w-automatyce-
nowe-mozliwosci-i-
zastosowania.html?tx_ttnews[backPid]=846&cHa
sh=3cf50529b4
 http://budinfo24.pl/index.php/elektrykaelektronik
a/uklady-cyfrowe/122-klasyfikacja-ukladow-
cyfrowych
 http://willow.iie.uz.zgora.pl/~jbiegano/verilog/mai
n.html
 Elektronika Praktyczna 2006, Układy FPGA w
przykładach.

You might also like