Czy ewolucja układów reprogramowalnych przyczyni się do zagłady

Transkrypt

Czy ewolucja układów reprogramowalnych przyczyni się do zagłady
Mirosław FOLEJEWSKI*
Czy ewolucja
układów reprogramowalnych
przyczyni się do zagłady
procesorów sygnałowych?1)
Ekspansja telekomunikacji analogowej i cyfrowej oraz techniki internetowej jest czynnikiem stymulującym rozwój technologii mikroelektronicznej. Z tego względu na potrzeby systemów
telekomunikacyjnych zostały stworzone procesory sygnałowe
(DSP). Nieustanna ewolucja tych struktur jest odpowiedzią na
stale rosnące zapotrzebowanie rynku nowych generacji telefonii cyfrowej na bardziej wydajne platformy sprzętowe, a także
odpowiedzią na konkurencję ze strony alternatywnych rozwiązań systemów cyfrowych. Warto zauważyć, że klasyczna,
sztywna architektura procesorów, pomimo licznych modyfikacji
i usprawnień, traci powoli na sile i znaczeniu na rzecz nowych
koncepcji. Nasila się tendencja przenoszenia architektury procesora do wnętrza układu rekonfigurowalnego i tworzenia tym
samym architektury heterogenicznej, łączącej rdzeń klasycznego procesora wspomaganego rekonfigurowalnym modułem,
realizującym koncepcję sprzętu adaptacyjnego (mogącego dynamicznie dostosować się do aktualnie realizowanej aplikacji).
Aby efektywnie wykonać wiele zadań z dziedziny telekomunikacji, układy programowalne FPGA wyposaża się w mechanizmy
wydajnej obsługi, oparte na wbudowanych w strukturę krzemową dedykowanych blokach o szerokim zakresie funkcjonalnym
oraz elastyczności. Dojrzałość tej techniki umożliwia osiągnięcie wydajności znacznie przekraczającej tę, którą oferują wiodące układy DSP i nawet najnowsze usprawnienia budowy architektur procesorów sygnałowych nie są w stanie skutecznie temu zjawisku przeciwdziałać.
Specjalizowana architektura rdzeni procesorów sygnałowych stanowi wsparcie dla cyfrowego przetwarzania sygnałów
w systemy mogące efektywnie realizować algorytmy czasu rzeczywistego. Stosuje się wiele rozwiązań, mających wspierać tę
ideę, takich jak: rozszerzona architektura harwardzka, wbudowana dwuportowa pamięć RAM, moduły generatorów adresowych, bloki: multiplikatora, przesuwnika i jednostki arytmetyczno-logicznej ALU o liście rozkazów zasobnej w instrukcje DSP.
Rozdzielone magistrale, równoległa praca poszczególnych bloków i wykorzystanie mechanizmów wielopoziomowego przetwarzania potokowego sprawiają, że w jednym takcie możliwe
jest równoczesne wykonanie kilku operacji. Poza tym nowoczesna technika umożliwia nie tylko zwiększanie częstotliwości pracy procesora, ale również rozszerzanie liczby wbudowanych
w system jednostek obliczeniowych, potrafiących równolegle
przetwarzać dane. Taka tendencja jest zauważalna w proceso-
* Koło Naukowe Elektroników – KNE działające w Instytucie
Elektroniki na Wydziale Automatyki, Elektroniki i Informatyki
Politechniki Śląskiej w Gliwicach, e-mail: [email protected].
1)
W tytule artykułu nawiązano polemikę z artykułem J. Izydorczyka: Czy
postęp w telekomunikacji przyczyni się do zagłady procesorów sygnałowych? [10]
78
rach o bardzo długim słowie rozkazu (architektura VLIW),
w procesorach superskalarnych oraz macierzowych SIMD.
Przykładem takich koncepcji są architektury: VelociTI oraz zmodernizowana VelociTI. 2 (są one dostępne w procesorach rodziny TMS320C6000 firmy Texas Instruments). Ich cechą wspólną
jest to, że mają osiem niezależnie pracujących jednostek wykonawczych, podzielonych na dwie grupy. Dzięki specjalnej konstrukcji jest możliwe jednoczesne wykonanie do ośmiu 8-bitowych operacji MAC lub czterech (dla VelociTI. 2) albo dwóch
(dla VelociTI) 16-bitowych mnożeń w jednym takcie zegara. Wymienione rozwiązania są dostępne także w wielu innych platformach DSP, jak Carmel (Infineon), TigerSHARC czy Blackfin firmy Analog Devices. Czytelnikom zainteresowanym szczegółową analizą budowy tych architektur polecam przestudiowanie
doskonałych artykułów dostępnych w prasie polskiej [8], [9],
[10] oraz skorzystanie z materiałów katalogowych wymienionych firm.
TENDENCJE ROZWOJU
UKŁADÓW FPGA
W przeciwieństwie do architektury procesorów sygnałowych
macierz elementów logicznych struktur FPGA nie przewiduje
ukierunkowania na stosowanie w konkretnych aplikacjach. Dlatego dzięki uniwersalności tych układów jest możliwe odwzorowanie dowolnie złożonego systemu cyfrowego. Jednak ogromna popularność tej klasy układów logicznych w dziedzinie telekomunikacji wymusiła i ukształtowała wiele rozwiązań
konstrukcyjnych wzbogacających architekturę matryc reprogramowalnych FPGA oraz przyczyniła się do stworzenia nowych
metodologii projektowych. Wśród nich istnieją następujące
trendy i koncepcje:
M nasilające się tendencje opracowywania bloków logicznych
(będących elementarnym składnikiem struktury logicznej) o coraz większej uniwersalności, funkcjonalności i możliwościach
konfigurowania,
M oferowanie zaawansowanych trybów pracy przez wbudowane moduły pamięci RAM (pamięć dwuportowa, kolejka FIFO),
M implementacja dedykowanych bloków obliczeniowych DSP,
mających wydajnie zwiększyć prędkość wykonywania podstawowych operacji arytmetycznych oraz odciążyć strukturę logiczną,
M rosnąca złożoność struktur PLD powodująca zacieranie się
różnic w budowie między układami CPLD i FPGA,
M integrowanie wraz z matrycą reprogramowalną wydajnych
procesorów RISC z architekturą wspierającą funkcje przetwarzania sygnałów DSP,
M rozwinięcie wielu mechanizmów statycznej i dynamicznej
rekonfiguracji sprzętu,
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
MODUŁY SPRZĘTOWE DLA POTRZEB
TELEKOMUNIKACJI
jednostek (a więc zarazem większego stopnia upakowania elementów) w stosunku do rozwiązań opartych na arytmetyce
zmiennoprzecinkowej.
Dzięki nowoczesnej technologii submikronowej3) możliwe
jest scalenie kilkunastu (a nawet kilkuset) bloków obliczeniowych z matrycą rekonfigurowalną w pojedynczej strukturze
FPGA, co jest równoważne mocy obliczeniowej systemu wieloprocesorowego (np. macierzy procesorów sygnałowych) – zauważalne jest zmierzanie w kierunku architektury SIMD (Single
Instruction Multiple Data). Komponenty te wspomagają wykonywanie obliczeń i ułatwiają realizację funkcji z zakresu telekomunikacji i technik teleinformatycznych, takich jak: cyfrowa filtracja
sygnałów, szybka transformata Fouriera FFT, dyskretna transformata kosinusowa DCT czy też kompresja obrazu ruchomego
według standardu MPEG.
Dostępne w obecnie produkowanych strukturach reprogramowalnych architektury bloków logicznych (makrokomórek),
mające szerokie możliwości konfiguracji dzięki różnorodnym
trybom pracy, nie są w stanie sprostać efektywnej realizacji aplikacji z zakresu nowoczesnej telekomunikacji. Skomplikowane
obliczenia arytmetyczne, algorytmy cyfrowego przetwarzania
sygnałów DSP (Digital Signal Processing) oraz przetwarzania
obrazów (Video & Image Processing), działające w czasie rzeczywistym, wymagają dużej mocy obliczeniowej i dostępnej pamięci operacyjnej. Wskutek tego ich implementacja w matrycach FPGA pochłania wiele zasobów sprzętowych2) i powoduje
niezbyt wysoką wydajność wykonywania aplikacji oraz znaczne
rozpraszanie mocy przez układ scalony.
Tabela 1 zawiera ogólną charakterystykę parametrów obecnie produkowanych struktur reprogramowalnych z uwzględnieniem wsparcia aplikacji DSP.
Zintegrowane bloki DSP, wspierające aplikacje cyfrowego
przetwarzania sygnałów, można podzielić na dwie grupy.
M Pierwszą stanowią jednofunkcyjne, dedykowane moduły realizujące proste i ściśle określone operacje arytmetyczne (jak
mnożenie lub sumowanie) w ustalonej, stałoprzecinkowej reprezentacji danych. Stosunkowo prosta struktura logiczna tych
bloków, przekładająca się na niewielką zajmowaną powierzchnię struktury krzemowej, umożliwia umieszczanie wielu setek
takich jednostek scalonych wraz z matrycą FPGA. Najczęściej
spotykanym rozwiązaniem są multiplikatory wykonujące opera-
M integracja w zasobach FPGA ultraszybkich interfejsów komunikacyjnych dla szerokopasmowej wymiany danych; takie rozwiązania są przeznaczone do implementacji sprzętowej gigabitowych protokołów teleinformatycznych,
M intensywny rozwój metod i narzędzi w dziedzinie nowoczesnej syntezy układów logicznych, umożliwiający efektywną implementację złożonych systemów cyfrowych programowalnych
w strukturach bramkowych,
M pojawienie się i rozwinięcie rynku własności intelektualnej IP
w zakresie projektowania uniwersalnych komponentów wirtualnych (IP-Core), opisanych językami HDL.
O Tabela 1. Zestawienie zasobów sprzętowych wybranych układów PLD
Rodzina
Producent
Liczba bloków
logicznych
Wbudowana
pamięć RAM
[kbit]
Bloki
DSP
Dostępne
Wbudowany
Liczba
kanały komu- rdzeń procesora
końcówek I/O
RISC
nikacyjne
Pętle
PLL
Stratix
Altera
10570–114140
898–9980
6–28
426–1314
–
–
6–12
Stratix GX
Altera
10570–41250
898–3343
6–14
328–542
4–20
–
4–8
EclipsePlus
QuickLogic
960–4032
45–81
10–18
250–506
–
–
4
QuickMIPS
QuickLogic
1152–2016
20–81
10–18
109–252
1–2
MIPS 4Kc
2
Virtex–II Pro
Xilinx
3168–125136
216–10008
12–5561)
204–1200
4–24
0–4, PowerPC
4–12
Spartan–3
Xilinx
1728–74880
12–2392
124–784
–
–
0–4
Excalibur
Altera
4160–38400
52–320
–
246–711
–
ARM922T
2
ORCA 4
Lattice
4992–16192
154–404
–
262–466
–
–
8
Mercury
Altera
4800–14400
48–112
–
303–486
8–18
–
2–4
Axcelerator
Actel
2016–32256
28–330
–
168–684
–
–
8
Delta39K
Cypress
512–3072
–
–
174–428
–
–
4
0–104–1)
Uwagi:
Jako moduły dedykowanych sprzętowych multiplikatorów 18 × 18 bitów
1)
Przeciwdziałając tym niekorzystnym zjawiskom oraz wykorzystując fakt, że aplikacje przetwarzające strumień danych
multimedialnych są oparte na podstawowych operacjach arytmetycznych (którymi są dodawanie i mnożenie), producenci
układów reprogramowalnych integrują w strukturach FPGA różnego rodzaju sprzętowe moduły obliczeniowe DSP, takie jak: ultraszybkie sumatory, multiplikatory i rejestry przesuwające.
Układy te mają zaimplementowaną stałoprzecinkową arytmetykę, co w konsekwencji umożliwia uzyskanie większej prędkości
taktowania struktury i znacznie mniej skomplikowanej budowy
cje w formacie 18 × 18 bitów (układy Spartan-3, Virtex-II i VirtexII Pro firmy Xilinx).
M W drugiej grupie znajdują się złożone, uniwersalne bloki
obliczeniowe DSP, charakteryzujące się szerokim zakresem realizowanych operacji oraz dynamiczną konfiguracją architektury. Ich złożoność oraz osiągana wydajność jest porównywalna
z jednostkami przetwarzającymi procesorów sygnałowych.
Ze względu na wysoki stopień skomplikowania budowy bloków DSP, integracja wewnątrz struktur FGPA takich zasobów
jest ograniczona i waha się od kilku do kilkunastu modułów.
2)
Ze względu na ograniczoną liczbę dostępnych bloków logicznych
w strukturach FPGA ogromne znaczenie odgrywają narzędzia syntezy logicznej, których zadaniem jest optymalne umieszczenie (wpasowanie)
tworzonej aplikacji w docelowym układzie scalonym.
3)
Ciekawostką mogą być wprowadzane obecnie do produkcji układy
FPGA rodziny Spartan-3 firmy Xilinx, wykonywane z minimalnym wymiarem charakterystycznym, wynoszącym 90 nm. Na jednym płatku krzemu
dostępnych jest 5 milionów bramek systemowych!
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
79
Przedstawicielami tej klasy rozwiązań są układy generacji
Eclipse i QuickMIPS firmy QuickLogic, a także platformy Stratix
produkowane przez firmę Altera.
W celu efektywnego gromadzenia i obróbki cyfrowej reprezentacji obrazu i dźwięku, w strukturach programowalnych PLD
umieszcza się wbudowane, konfigurowalne bloki pamięciowe
RAM. Mogą one pracować w różnych trybach organizacji (np.
jako moduły 256 × 16, 512 × 8 lub 2048 × 2 bity). Zasoby te można wykorzystać jako jedno- lub dwuportową pamięć ulotną
SRAM (pracującą w trybie synchronicznym albo asynchronicznym) lub pamięć ROM o ustalonej przez projektanta zawartości. Możliwe jest także skonfigurowanie jej jako pamięci kolejkowej FIFO (First In First Out). W niektórych rozwiązaniach jest dostępny dodatkowy bit parzystości dla kontroli i detekcji błędów.
Elementy pamięciowe RAM są implementowane w strukturach
PLD jako niezależnie pracujące jednostki (np. bloki dwuportowej pamięci SRAM w matrycach FPGA serii Eclipse firmy
QuickLogic) lub jako moduły wchodzące w skład większych
bloków logicznych. Przykładem tego są układy serii APEX (Altera), w których moduły pamięciowe EAB (Embedded Array
Block) zostały umieszczone w blokach MegaLAB. Spotykane są
układy FPGA, w których pojemności wbudowanych bloków
RAM osiągają 10 Mbit (generacja Virtex-II Pro).
Ponieważ aplikacje multimedialne i teleinformatyczne wymagają zapewnienia ogromnej ilości dostępnej pamięci operacyjnej o dużej przepływności danych, układy reprogramowalne są
wyposażane w sterowniki pamięci synchronicznych RAM. Są to
moduły obsługujące nowoczesne standardy SDRAM, DDR
SDRAM oraz QDR SRAM. Osiągany w nich transfer danych
przekracza 600 Mbit/s.
Stale rosnące zapotrzebowanie na ultraszybką transmisję
informacji jest podstawowym czynnikiem rozwoju nowoczesnych systemów telekomunikacyjnych. W tym celu zostało
opracowanych wiele zaawansowanych protokołów dla wydajnej wymiany ogromnej liczby danych, wspierających cyfrowe
sieci teleinformatyczne. Pakietowe przesyłanie informacji według tych standardów odbywa się w najniższej, fizycznej warstwie, będącej newralgicznym punktem sieci. Jej sprzętowa realizacja jest doskonale wspomagana przez cyfrowe technologie oparte na układach reprogramowalnych. Dzięki
nieustannemu dążeniu do coraz większej integracji urządzeń,
jest możliwa budowa systemów sieci telekomunikacyjnej w pojedynczych strukturach FPGA. Aby to osiągnąć, producenci
układów logiki programowalnej implementują w układach
kompletne interfejsy, umożliwiające szerokopasmowy przepływ informacji. Są one niezbędne przy realizacji gigabitowych
sieci światłowodowych, szybkich lokalnych sieci komputerowych LAN, w asynchronicznej technice transmisji ATM czy też
w cyfrowej telefonii komórkowej.
KOMPONENTY WIRTUALNE
W zakresie zastosowań układy rekonfigurowalne odniosły
najpoważniejszy sukces w systemach telekomunikacyjnych
i technikach informatycznych. Złożoność obecnie produkowanych struktur logicznych FPGA sięga wielu milionów bramek
przeliczeniowych. Spowodowało to wyparcie tradycyjnych metod projektowych przez systemy komputerowego projektowania CAD (Computer Aided Design), opartego na językach opisu
sprzętu HDL (Hardware Description Language), wśród których
dominującą rolę odgrywają obecnie języki VHDL i Verilog. Taka
metodyka projektowa umożliwia projektantowi układów cyfrowych i systemów zbudowanych z ich wykorzystaniem opisanie
funkcji, struktury i parametrów realizowanego systemu bądź
układu na wyższym niż bramkowy poziomie abstrakcji.
80
Dzięki możliwości ponownego wykorzystania wcześniej
stworzonych komponentów (kodów źródłowych powstałych
przy okazji innych projektów) w bieżących opracowaniach, pojawił się i rozwinął rynek własności intelektualnej IP (Intellectual
Property) w zakresie projektowania nowoczesnych i uniwersalnych komponentów opisanych językami HDL (tzw. komponentów wirtualnych IP-Core) dla potrzeb wykorzystania w telekomunikacji [7]. Spełniają one rolę klasycznych podzespołów, są
rdzeniami bloków funkcjonalnych o różnym stopniu złożoności,
dostarczanymi przez producentów w postaci syntezowalnych
opisów w językach HDL. Zakres tematyczny dotyczący takich
rdzeni funkcjonalnych jest bardzo obszerny i obejmuje wiele zagadnień, takich jak [4], [17], [25]:
M standardowe interfejsy magistral: IIC (Inter-Integrated Circuit), 32- i 64-bitowe interfejsy i mostki PCI (Peripheral Component Interconnect), magistrale szeregowe USB (Universal Serial
Bus), CAN (Controller Area Network), SPI (Serial Protocol Interface) oraz FireWire (wg standardu IEEE 1394),
M przetwarzanie obrazów (Video & Image Processing): bloki
jedno- i dwuwymiarowej dyskretnej i odwrotnej transformaty kosinusowej, transformaty waveletowej, kodery i dekodery kompresji grafiki (wg standardu JPEG i JPEG2000) oraz ruchomego
obrazu (wg standardu MPEG2 i MPEG4), dekodery Huffmana,
funkcje splotu, konwertery przestrzeni kolorów, moduły rozpoznawania krawędzi,
M układy mikroprocesorowe: sterowniki łączy szeregowych
UART, optymalizowane rdzenie mikrokontrolerów 8051, mikroprocesory Z80, PIC, procesory RISC, sterowniki bezpośredniego dostępu do pamięci DMA, układy peryferyjne: liczniki, timery, sterowniki I/O, sterowniki przerwań, moduły obsługi pamięci
synchronicznej SDRAM, DDR SDRAM i QDR SRAM,
M bloki funkcji matematycznych i układy ALU: stało- i zmiennoprzecinkowe sumatory, mnożarki, generatory funkcji sinus i cosinus, pierwiastka kwadratowego, logarytmu i uzupełnienia
w kodzie U2,
M bloki cyfrowego przetwarzania sygnałów DSP: filtry cyfrowe
FIR (o strukturach szeregowych i równoległych), IIR, medianowe i adaptacyjne, układy DDS (Digital Direct Synthesizer), bloki
prostej i odwrotnej szybkiej transformaty Fouriera FFT (Fast
Fourier Transform), rdzenie procesorów sygnałowych DSP, funkcje kodów korekcyjnych: transkodery kodu cyklicznego Redda-Solomona i dekodery Viterbiego, Equalizery QPSK, kompandery µ-Law i A-Law,
M moduły kryptograficzne: bloki szyfrujące DES (Data Encryption Standard), 3DES, AES (Advanced Encryption Standard),
IDEA, funkcje SHA-1 i MD5A, procesory kryptograficzne,
M funkcje i bloki sieci telekomunikacyjnych i informatycznych:
funkcje protokołów sieciowych, sterowniki HLDL (High-Level
Data Link), transkodery ADPCM, interfejsy UTOPIA, CSIX-L1
(Common Switch Interface Layer 1), Flexbus, POS-PHY, układy
dopasowania szybkości transmisji Speedbridge i Speed-Matching, komutatory i rutery sieci ATM, interfejsy sieci Ethernet.
MODUŁY ECU
Mniej znana na polskim rynku firma QuickLogic wyposaża
rodziny układów programowalnych FPGA w dodatkowe, specjalizowane jednostki wspomagające obliczenia ECU (Embedded Computational Units), o dość bogatych możliwościach.
Rozwiązanie to jest bardzo popularne i stosowane od wielu lat
w układach tej firmy, m. in. w generacji układów Eclipse i QuickMIPS [21].
Na rys. 1 przedstawiono budowę pojedynczego bloku ECU.
W jego skład wchodzą ultraszybkie moduły: 8-bitowy multiplikator, 16-bitowy sumator z funkcją przeniesienia, 17-bitowy rejestr
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
O Rys. 1. Uproszczony oraz szczegółowy schemat budowy bloku ECU
[21]
równoległy, dekoder instrukcji oraz multipleksery. Tryby pracy
tego modułu są dynamicznie rekonfigurowalne przez dostępną
jednostkę sekwencera instrukcji. Operacje realizowane przez
blok ECU są następujące: mnożenie, mnożenie z dodawaniem,
akumulacja, dodawanie, mnożenie (rejestrowe), mnożenie
z dodawaniem (rejestrowe), mnożenie z akumulacją – MAC,
a także dodawanie (rejestrowe).
W zależności od wersji układu FPGA jest dostępnych od 10
do 18 bloków ECU w pojedynczym układzie. Ich komunikację
z otoczeniem zapewniają rozdzielone magistrale danych. W celu zwiększenia precyzji obliczeń moduły ECU można ze sobą
łączyć. Dzięki możliwości równolegle pracujących osiemnastu
bloków ECU jest osiągana wydajność 2,6 miliarda 8-bitowych
operacji MACS przy częstotliwości taktowania struktury FPGA
wynoszącej 144 MHz. Kolejną cechą, korzystnie zwiększającą
funkcjonalność, jest możliwość bezpośredniego dostępu do bloków dwuportowej pamięci RAM. Dlatego też moduły ECU mogą
szybko wykonywać operacje bezpośrednio na jej zawartości.
Dodatkowo 8-bitowe operacje MAC mogą być efektywnie zaimplementowane w dostępnych blokach logicznych struktury
programowalnej. W ten sposób zapewnia się wydajność osiągającą 2 GMACS. Łącząc ten wynik z maksymalnymi osiągami
bloków ECU, otrzymuje się 4,6 GMACS, co stanowi sumaryczną ocenę uzyskanej mocy obliczeniowej w układach FPGA rodziny Eclipse.
wanych na rynku struktur reprogramowalnych. Wykonane z zastosowaniem nowoczesnej technologii 0,13 µm układy te mają
architekturę zapewniającą podstawy do realizacji blokowej metody projektowania. Dzięki niej jest osiągana maksymalna wydajność systemu i minimalny czas jej tworzenia. Dzięki wyposażeniu układów tych rodzin w kompleksowe rozwiązania oparte
na wydajnych i ultraszybkich blokach funkcjonalnych (m. in.
różnorodnych modułach pamięciowych, złożonych blokach
DSP, interfejsach o dużej przepływności i pracujących w wielu
protokołach komunikacyjnych) oraz wsparciu dla niesymetrycznych i różnicowych elektrycznych standardów I/O są możliwe
nowe poziomy integracji systemu dla budowy jednoukładowych, programowalnych systemów cyfrowych SoPC (Systemon-a-Programmable-Chip) [16].
Programowalne moduły DSP dostępne w układach FPGA rodzin Stratix i Stratix GX są wysoce wydajnymi, wbudowanymi
jednostkami arytmetycznymi, optymalizowanymi dla zastosowań w aplikacjach telekomunikacyjnych, takich jak: bramki telefonii internetowej VoIP (Voice over Internet Protocol Gateways),
transceiwery OFDM (Orthogonal Frequency Division Multiplexing), operacje przetwarzania obrazu (Image Processing Applications) i systemy multimedialne.
Elastyczne, efektywne i cenne dla różnorodnych aplikacji,
które wymagają wysokiej szybkości prędkości przesyłania danych, bloki DSP mają zaimplementowane wsparcie typowych
funkcji DSP (jak filtry FIR, funkcje szybkiej transformaty Fouriera FFT, korelatory oraz funkcje szyfrowania i deszyfrowania danych). Takie rozwiązanie jest idealne dla rynku bezprzewodowej
telekomunikacji, sprzętu audiowizualnego oraz przetwarzania
obrazów.
Bloki DSP eliminują ograniczanie wydajności w złożonych
aplikacjach, ukierunkowanych na funkcje arytmetyczne, dostarczają łatwo przewidywalnej i niezawodnej mocy obliczeniowej
oraz zachowują dostępne zasoby – bez kompromisów dotyczących ich wydajności. Umożliwia to blokom DSP doskonałą implementację złożonych obliczeniowo systemów, z jednoczesnym zapewnieniem wysokiej szybkości przesyłania danych.
Inżynierowie firmy Altera dokonali opracowania modułów
DSP w sposób przemyślany i staranny, wykorzystując przy tym
ogólnie dostępne rozwiązania konstrukcyjne i doświadczenia
stosowane od lat w procesorach sygnałowych. Takie podejście
zaowocowało stworzeniem modułów cyfrowych o bogatej architekturze, zapewniającej złożoną funkcjonalność oraz moc
obliczeniową szybkich procesorów DSP. Przyjrzyjmy się bliżej
architekturze tych bloków. Na rys. 2 przedstawiono ogólny zarys budowy pojedynczego bloku DSP. Zawiera on we wnętrzu
STRATIX I STRATIX GX
– NOWE POZIOMY INTEGRACJI SYSTEMU
Najnowsze układy rodzin Stratix i Stratix GX kalifornijskiej korporacji Altera stanowią kwintesencję możliwości układów FPGA
pod względem zastosowań telekomunikacyjnych wśród ofero-
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
O Rys. 2. Zarys architektury pojedynczego bloku DSP w układach
Stratix i Stratix GX [16]
81
sprzętowy moduł mnożenia, blok arytmetyczny (dynamicznie
konfigurowalny w trzech trybach: sumatora, subtraktora i akumulatora), jednostkę sumacyjną, interfejs i rejestry wyjściowe.
Z kolei każdy multiplikator ma rejestry wejściowe, stopień mnożenia i rejestry potokowe.
Bloki DSP można scharakteryzować następująco:
M wykonywanie operacji mnożenia w trybach 9 × 9, 18 × 18
i 36 × 36 bitów,
M zaimplementowana arytmetyka stałoprzecinkowa,
M operacje ze znakiem lub bez,
M pełna precyzja obliczeń we wszystkich trybach,
M opcjonalny rejestr przesuwający na wejściu multiplikatora
(dla realizacji linii opóźniającej, stosowanej w cyfrowej filtracji
typu FIR),
M dynamiczne przełączanie pomiędzy sumatorem i subtraktorem,
M 9-, 18- i 36-bitowe operacje dodawania i odejmowania,
M 52-bitowy akumulator,
M jednostka sumacyjna, generująca cztery produkty w pojedynczym takcie zegara,
M złożone funkcje przemieszczania strumienia bitów, takie jak:
przesuwnik (Barrel Shifter), przełącznik krzyżowy i mieszanie bitów (wykorzystywane w algorytmach szyfrowania danych).
Układy rodzin Stratix cechuje struktura pamięciowa TriMatrix,
którą tworzą wbudowane bloki RAM o trzech rozmiarach. Są to
następujące moduły: 512-bitowe bloki M512, 4-kbitowe M4K
oraz 512-kbitowe bloki M-RAM. Mogą być one skonfigurowane
jako wsparcie obszernego zestawu zastosowań. Każdy wbudowany blok RAM struktury pamięciowej TriMatrix jest przewidziany do różnych klas aplikacji. I tak bloki M512 mogą być wykorzystane do realizacji niewielkich funkcji, jak kolejka pamięciowa FIFO czy też linia opóźniająca cyfrowych filtrów o skończonej odpowiedzi impulsowej FIR. Większe bloki M4K są przewidziane do przechowywania nadchodzących danych z wielokanałowych portów komunikacyjnych I/O lub jako pamięć programu dla wbudowanych rdzeni procesorów. Najbardziej
pojemne moduły M-RAM mogą być natomiast zastosowane
w aplikacjach ukierunkowanych na intensywność wykorzystania pamięci. Chodzi tu o buforowanie pakietów protokołów IP
(Internet Protocol) czy też o zastosowanie jako pamięci danych
i programu dla zintegrowanych w strukturze programowalnej
procesorów RISC. Zaletą, niespotykaną na szeroką skalę w dotychczas oferowanych blokach pamięci, jest wyposażanie
wszystkich bloków struktury TriMatrix w dodatkowy bit parzystości do kontroli i detekcji błędów. Kolejną cechą, zwiększającą
funkcjonalność, jest dodanie wbudowanych rejestrów przesuwających, trybów pracy o różnej szerokości słowa oraz wsparcie wielu metod taktowania pamięci. Dodatkowo dla zaawansowanych operacji zapisu i odczytu danych największe bloki M4K
i M-RAM wyposażono w pełny, dwuportowy tryb pracy i funkcje
maskowania bajtów.
Na przykładzie rodziny Stratix GX można przedstawić szeroki
zakres oferowanego wsparcia dla potrzeb budowy kanałów telekomunikacyjnych z wykorzystaniem układów FPGA [15].
W strukturach tych zawarto wbudowane bloki transceiwerowe,
mające po cztery niezależnie pracujące kanały w trybie full-duplex, o przepływności bitowej w zakresie od 622 Mbit/s do
3,125 Gbit/s. Każdy kanał zawiera dedykowane obwody do
realizacji funkcji warstwy fizycznej (m.in. układy kodera/dekodera 8B/10B). Stanowią one czynnik wspomagający prostą i skuteczną implementację ultraszybkich protokołów według standardów: 10 Gigabit Ethernet XAUI, Gigabit Ethernet, InfiniBand,
1G i 2G Fibre Channel, Serial RapidIO, SONET/SDH, SFI-5, SPI5, PCI Express, SMPTE 292M.
Stosowanie wewnątrzukładowych interfejsów komunikacyjnych powoduje uzyskanie zupełnie nowej cechy, poszerzającej
82
znacznie uniwersalność i zdolność zmiany właściwości dostępnej struktury funkcjonalnej układów FPGA. Chodzi tutaj o mechanizmy zdalnej i dynamicznej rekonfiguracji systemu cyfrowego. W metodzie tej wykorzystuje się dostępne łącze komunikacyjne nie tylko do wymiany danych pomiędzy siecią
telekomunikacyjną i modułem bazowym, ale także do załadowania strumienia danych konfiguracyjnych wprost do matrycy
pamięciowej. Taki sposób poszerza możliwości częściowej lub
całkowitej rekonfiguracji struktury układów jedno- lub wielokontekstowych, działających w trybie on-line. Korzyści wynikające
z możliwości zmiany architektury na odległość są bardzo duże.
Można bowiem tworzyć sprzęt zdalnie rekonfigurowalny w czasie rzeczywistym RTR (Run-Time Reconfiguration), niedostępny
dla statycznych, specjalizowanych systemów cyfrowych [15].
MIARODAJNA OCENA WYDAJNOŚCI
Porównanie wydajności (performance benchmark) procesorów sygnałowych i układów logiki programowalnej FPGA jest
zadaniem bardzo trudnym, ponieważ są to platformy systemowe o dość specyficznej i znacznie różniącej się budowie wewnętrznej. Rzetelna ocena osiąganych parametrów powinna
być przeprowadzona z uwzględnieniem właściwości oraz cech
architektur porównywanych klas układów. Po pierwsze, podstawowe współczynniki wydajności MIPS (Million Instruction
Per Second) oraz MFLOPS (Million of Floating-Point Operations per Second), określające wydajność mikroprocesorów,
oznaczają liczbę wykonywanych instrukcji (stało- lub zmiennoprzecinkowych) w jednostce czasu. Parametry te zależą wprost
proporcjonalnie od częstotliwości taktowania i liczby dostępnych jednostek obliczeniowych, ale niestety nie mogą służyć
oszacowaniu osiągów uzyskiwanych w układach FPGA. Po
drugie, silnie specjalizowana i niesymetryczna architektura
procesorów sygnałowych jest słabo odzwierciedlana przez te
parametry4). Mają one znaczenie ogólnikowe i przybliżają jedynie szybkość wykonywania rozkazów, nie wnosząc wiele do
oszacowania rzeczywistej wydajności. Lepszym rozwiązaniem
wydaje się stosowanie terminu MAC (Multiple and ACcumulate), określającego wykonywanie operacji mnożenia dwóch
liczb binarnych, połączonych z akumulacją wyniku. Odnosząc
ten parametr do określonego przedziału czasu i skalując go,
otrzymuje się tym samym powszechnie używaną jednostkę
MMACS (Million Multiple and ACcumulate per Second), określającą wielokrotność miliona operacji MAC w ciągu sekundy
wykonanych przez jednostkę przetwarzającą dane. Parametr
ten jest o tyle ważny, że podstawowym składnikiem architektury procesora DSP jest właśnie efektywna realizacja instrukcji
MAC i są one optymalizowane pod kątem ich wydajnego wykonywania. Z kolei operacja ta jest podstawowym budulcem
wielu algorytmów cyfrowego przetwarzania sygnałów, począwszy od typowego zadania procesora DSP (jakim jest filtracja
sygnałów – struktury typu FIR i IIR), poprzez szybką transformatę Fouriera FFT, a skończywszy na algorytmach kompresji
obrazu ruchomego według standardu MPEG. Kolejną zaletą tego parametru jest możliwość bezpośredniego porównania wydajności skrajnie odmiennych architektur: procesora sygnałowego DSP i układu reprogramowalnego FPGA. A staje się to
realne dzięki implementacji dedykowanych bloków realizujących funkcje MAC w strukturach FPGA (w postaci wbudowanych rdzeni bądź też z wykorzystaniem dostępnych zasobów
logicznych).
4)
Chociaż możemy wpaść w zachwyt przeglądając dane katalogowe najnowszych produktów DSP to jednak jednostki MIPS nie są zbyt
wiarygodnym współczynnikiem.
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
Powyżej opisane wskaźniki można zaklasyfikować do grupy
prostych miar. Parametry te są również wyrażane względem innych jednostek, w celu uwzględnienia czynnika ekonomicznego (jak pobór mocy i koszt produktu – odpowiednio miary
MACS/mW i MACS/$).
Chociaż wydajne wykonywanie operacji MAC jest ważnym
czynnikiem charakteryzującym wydajność jednostek DSP, to
jednak nie odzwierciedla pełnych możliwości dedykowanej wielu aplikacjom dostępnej architektury oraz bogactwa wykonywanych instrukcji. Taka uniwersalność ma bezpośredni wpływ na
efektywność i jakość implementacji wybranych algorytmów, zjawisk niemierzalnych prostymi współczynnikami. Istotną rolę
w przetłumaczeniu algorytmu (często zawierającego równolegle wykonywane fragmenty) na sekwencyjny program zarządzający przepływem strumienia danych odgrywa problem napełniania potoku instrukcji wszystkich jednostek obliczeniowych w procesorach o architekturze VLIW. W niekorzystnych
wypadkach objawia się to obniżeniem efektywności pracy systemu, a tym samym spadkiem wydajności. Przyczyną tego jest
nieciągła praca układów wykonawczych. Dlatego stosowane są
osobne grupy testów porównawczych dla oszacowania skuteczności wykonania danej aplikacji w testowanej platformie
sprzętowej. Jest to również metoda, która uwidocznia wady i zalety testowanych architektur w określonym zastosowaniu oraz
przedstawia osiąganą przez nie wydajność dla celów porównawczych. Testy te stanowią zestawienie czasu realizacji typowych zadań i aplikacji z dziedziny szeroko pojętej telekomunikacji. Można w nich wyróżnić dwie odrębne kategorie: do pierwszej grupy należą w pełni funkcjonalne i kompletne aplikacje
(mogą to być np. modemy telefoniczne wg standardu V. 90), natomiast drugą grupę tworzą jądra algorytmów i podzadania dotyczące szerokiego zakresu zagadnień cyfrowego przetwarzania sygnałów. A są to m. in. następujące operacje:
M filtry cyfrowe o skończonej i nieskończonej odpowiedzi impulsowej (struktury FIR i IIR) o współczynnikach w stałoprzecinkowym formacie 8- lub 16-bitowym i operujące na rzeczywistych lub zespolonych danych,
M filtry adaptacyjne LMS,
M operacje wektorowe,
M 256- i 1024-punktowa rzeczywista i zespolona szybka transformacja Fouriera FFT, operująca na danych 8- lub 16-bitowych,
M transkodery kodu cyklicznego Reeda-Solomona,
M dekodery Viterbiego,
M transkodery turbokodów splotowych.
Jest to zagadnienie o tyle ważne, że porównanie wydajności
układów DSP i FPGA z zastosowaniem takiego kryterium umożliwia bezpośrednie oszacowanie efektywności i właściwości implementacji programowych i sprzętowych na podstawie testowanych aplikacji i różnych zastosowań.
Na marginesie należy zaznaczyć, iż gruntowną i kompleksową
analizą wydajności oraz śledzeniem rozwoju technologii z użyciem techniki mikroprocesorowej zajmuje się wiele korporacji, jak
BDTI (Berkeley Design Technology, Inc.) lub konsorcjum EEMBC
(Embedded Microprocessor Benchmark Consortium).
W POGONI ZA WYDAJNOŚCIĄ
Na rynku zaawansowanych generacji systemów i aplikacji telekomunikacyjnych intensywnie poszukuje się nowych kierunków i sprzętowych rozwiązań, mogących sprostać stawianym
wymaganiom wydajnościowym. Takie zapotrzebowanie jest siłą
napędową rozwoju współczesnej technologii cyfrowej, która
pokonuje kolejne bariery wydajności.
Przejdźmy do porównania rynku rozwiązań, opartych na
dwóch platformach systemowych: procesorach sygnałowych
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
O Rys. 3. Zestawienie prędkości wykonywania 8-bitowych operacji
MAC w implementacjach opartych o procesory sygnałowe i struktury
programowalne (przyjęta jednostka: GMACS)
i logice programowalnej FPGA. Jak widać na rys. 3, ogromna
prędkość taktowania obecnie produkowanych struktur DSP
(przekraczająca ponad 1 GHz) nie przekłada się na równoważną moc obliczeniową, mogącą skutecznie dorównać rozwiązaniom opartym na najnowszych układach FPGA. Warto także zauważyć, że wpływ czasu ma nieuchronny wpływ na starzenie
się technologii półprzewodnikowych. Również układy FPGA
starszej generacji (jakimi są EcipsePlus i FLEX 8000A) kolosalnie różnią się od liderów wydajności wśród platform logiki programowalnej.
Ponadto okazuje się, iż podstawowe zadanie procesora sygnałowego, jakim jest filtracja sygnałów, o wiele efektywniej
można wykonać w strukturze FPGA (tabela 2). Dzięki takiej alternatywie uzyskuje się osiągi, które dotychczas były niemożliwe do zrealizowania. Chodzi tu o przepływność danych na wyjściu tak zbudowanego filtru, przekraczającą barierę 300 milionów wyliczonych próbek w jednostce czasu! Chociaż matryce
reprogramowalne są taktowane kilkakrotnie mniejszymi częstotliwościami (typowo pomiędzy 100–300 MHz), niż konkurencyjne procesory DSP, to jednak implementacja struktury FIR o równoległej architekturze w zasobach FPGA (a jest to przeważająca tendencja) skutecznie niweluje tę różnicę oraz umożliwia
jednotaktowy cykl pracy.
Dla pełniejszej analizy porównania niezbędne jest omówienie także problemu realizacji kluczowej aplikacji z dziedziny
przetwarzania sygnałów, jaki stanowi szybkie przekształcenie
Fouriera FFT. W tabeli 3 przedstawiono obecnie dostępne wykonania tego algorytmu z uwzględnieniem najważniejszych parametrów jego sprzętowej integracji. Jednym z parametrów
określających wydajność implementacji transformaty FFT jest
całkowity czas jej wykonania. Porównując za pomocą tego
wskaźnika otrzymane osiągi, można dojść do wniosku, iż realizacja tego algorytmu oparta na platformie DSP nie odbiega
znacząco od analogicznego umieszczenia tej funkcji w strukturze FPGA. Warto jednak zauważyć silną zależność czasu wykonania od częstotliwości taktowania układu, którą należy
uwzględnić w porównaniu. Dlatego też czynnikiem właściwiej
odzwierciedlającym rzeczywistą wydajność, otrzymaną po procesie sprzętowego odwzorowania omawianej aplikacji, jest liczba taktów potrzebnych do uzyskania końcowego wyniku transformacji Fouriera. Zestawienie z takim kryterium uwidocznia
znaczną przewagę implementacji algorytmu FFT w strukturach
FPGA nad analogicznym wykonaniem z użyciem procesorów
sygnałowych.
83
O Tabela. 2. Porównanie realizacji filtru FIR wykonanego z zastosowaniem procesorów DSP i matryc reprogramowalnych FPGA
Platforma
DSP
Rodzaj
implementacji
Stałoprzecinkowy
Zmiennoprzecinkowy
Rodzina
Wydajność1)
[MSPS]
22,5
Częstotliwość
zegara [MHz]
Liczba taktów
zegara2)
Inne3)
720
32
0,17 ns
250
128
2 ns
64
0,35 ns
256
8-bitowe
TMS320C62x
256
16-bitowe
TMS320C64x
256
16-bitowe
11,3
720
TMS320C64x
256
16-bitowe
17,2
1100
64
0,23 ns
SHARC
256
16-bitowe
0,26
66
256
15 ns
SHARC II
256
16-bitowe
0,78
100
128
5 ns
TigerSHARC
256
16-bitowe
18,75
600
32
0,21 ns
TigerSHARC
256
IEEE 754
4,7
600
128
0,83 ns
FLEX 8000A
Stałoprzecinkowy
Współczynniki/dane
TMS320C64x
ACEX 1K
FPGA
Rząd filtru
1,95
8
16-bitowe
192
192
1
32
8-bitowe
105
105
1
bloki LE
bloki LE
Virtex-E
256
16-bitowe
160
160
1
bloki CLB
Virtex-II
256
16-bitowe
180
180
1
bloki CLB
Virtex-II Pro
256
16-bitowe
300
300
1
bloki CLB
Stratix
256
8-bitowe
200
200
1
bloki LE
Stratix
224
8-bitowe
300
300
1
bloki DSP
Stratix
256
16-bitowe
300
300
1
bloki M512
Uwagi:
1)
Wydajność struktury FIR określana przez liczbę próbek uzyskanych w ciągu jednej sekundy na wyjściu filtru – charakteryzowana z użyciem
jednostek MSPS (Million Samples Per Second)
2)
Liczba taktów zegara potrzebna do obliczenia pojedynczej próbki na wyjściu struktury FIR
3)
W przypadku procesorów DSP: czas obliczenia pojedynczej operacji MAC; w przypadku struktury FPGA: sposób implementacji filtru
O Tabela 3. Zestawienie uzyskanych osiągów realizacji algorytmu FFT w wybranych platformach sprzętowych
Platforma
Rodzaj
implementacji
Stałoprzecinkowy
DSP
Zmiennoprzecinkowy
FPGA
Stałoprzecinkowy
Zmienno
przecinkowy
Rodzina
FFT [punkty]
Czas
Częstotliwość Współczynniki/
/dane
wykonania [ps] zegara [MHz]
Wydajność1)
Inne
TigerSHARC
256
1,55
600
16-bitowe
930
TMS320C55x
256
23,93
200
16-bitowe
4786
–
Radix 2
TMS320C62x
256
7,9
300
16-bitowe
2370
–
TMS320C64x
1024
8,34
720
16-bitowe
6002
Radix 4
Radix 4
SHARC
1024
279
66
IEEE 754
18221
SHARC II
1024
92
100
IEEE 754
9200
TMS320C67x
1024
28,9
500
IEEE 754
14464
–
TigerSHARC
1024
16,77
600
IEEE 754
10062
Radix 2
1,9
100
16-bitowe
190
Virtex-II
64
Virtex-II
256
7,7
100
16-bitowe
770
ACEX 1K
512
23,4
113
8-bitowe
2645
Radix 4
FFT/IFFT
FFT/IFFT
–
Virtex-II
1024
41
100
16-bitowe
4100
FFT/IFFT
Virtex-E
1024
41
100
16-bitowe
4100
–
Virtex-II Pro
1024
1
150
16-bitowe
150
Virtex-II
1024
<1
140
16-bitowe
<140
–
Stratix
1024
57
185
IEEE 754
10630
Radix 2
Stratix
1024
28
185
IEEE 754
5315
Radix 4
Uwagi:
1)
Szacowana wydajność implementacji algorytmu FFT obliczana jako iloczyn częstotliwości taktowania struktury i czasu wykonania algorytmu.
Parametr ten określa bezpośrednio liczbę taktów zegara potrzebnych do obliczenia pełnej transformaty FFT. Im wartość ta jest mniejsza, tym
implementacja taka jest bardziej efektywna.
Podsumowując, układy reprogramowalne stanowią przyszłościową alternatywę dla platform DSP i w wielu typowych aplikacjach zapewniają znacznie większą elastyczność i wydajność,
dotychczas nieosiągalną klasycznymi metodami.
✽✽✽
Ogromny rynek usług telekomunikacyjnych i aplikacji z dziedziny cyfrowego przetwarzania sygnałów w dużej mierze jest
84
wspierany przez systemy cyfrowe, tworzone z zastosowaniem
procesorów sygnałowych. Rynek ten przyciąga także producentów alternatywnych platform sprzętowych, szukających nowych dziedzin ekspansji i zapotrzebowania na swoje produkty.
Takie zagrożenie i groźną konkurencję dla układów DSP stanowią struktury reprogramowalne FPGA, oferujące zupełnie nowe
rozwiązania i niespotykaną dotychczas wydajność budowanych z ich udziałem systemów telekomunikacyjnych. Oznacza
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
to również nieuchronny zmierzch klasycznych koncepcji realizacji architektur procesorów (także DSP), przeniesienie ich i integrację w strukturze krzemowej, zapewniającej kompleksowe
rozwiązania dla implementacji obszernej klasy aplikacji z dziedziny telekomunikacji oraz dostarczającej niespotykane dotychczas mechanizmy i techniki (jak rekonfiguracja sprzętu czy
komponenty wirtualne). Trend ten stanowi kolejny etap ewolucji
układów DSP i nie przyczyni się definitywnie do odejścia od
sprawdzonej przez lata architektury procesorów sygnałowych.
Dokona się natomiast przemiana w sposobie jej fizycznej implementacji. Oznacza to odejście od klasycznych realizacji procesorów DSP w pojedynczych układach scalonych, do jakich dotychczas byliśmy przyzwyczajeni. Przyszłość pokaże, czy alternatywa FPGA istotnie zrewolucjonizowała systemy cyfrowe
i przyczyniła się do odejścia od wysłużonych rozwiązań. Na
przytoczonych przykładach widać, że nie ma powodu by tak się
nie miało stać.
LITERATURA
[1] Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych, WKŁ, Warszawa 2000
[2] Pasierbiński J., Zbysiński P.: Układy programowalne w praktyce,
WKŁ, Warszawa 2001
3] Łuba T., Zbierzchowski B., Zbysiński P.: Układy reprogramowalne dla
potrzeb telekomunikacji cyfrowej, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 5, 2002
[4] Jasiński K., Łuba T., Zbierzchowski B.: Programowalne struktury
logiczne w projektowaniu układów cyfrowych dla telekomunikacji
i informatyki, Materiały II Krajowej Konferencji Naukowej RUC1999,
Szczecin, 1999
[5] Zbysiński P.: Wspomaganie obliczeń za pomocą struktur rekonfigurowalnych, Elektronizacja, nr 4, 2000
[6] Bora P., Łuba T., Zbierzchowski B.: Układy FPGA w przetwarzaniu
sygnałów i w telekomunikacji, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 4, 1995
[7] Jakóbiec T.: IP Cores. Nowoczesna technologia projektowania układów cyfrowych, Elektronika Praktyczna, nr 10, 2002
PRZEGLĄD TELEKOMUNIKACYJNY ! ROCZNIK LXXVII ! nr 2–3/2004
[8] Gajer M.: Nowoczesne procesory sygnałowe TMS320C6000 firmy
Texas Instruments przewidziane do zastosowań telekomunikacyjnych,
Elektronika, nr 1, 2002
[9] Izydorczyk J.: Co nowego w krainie DSP?, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 4, 2001
[10] Izydorczyk J.: Czy postęp w telekomunikacji przyczyni się do zagłady
procesorów sygnałowych?, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 10, 2000
[11] Altera: Digital Signal Processing in FLEX Devices, PIB23, ver. 1,
January 1996
[12] Altera: Using PLDs for High-Performance DSP Applications, ver. 1.0,
February 2002
[13] Altera: DSP Performance in Stratix Devices. Using LEs to Implement
Multipliers, www. altera. com
[14] Altera: Using Soft Multipliers with Stratix & Stratix GX Devices, AN246,
ver. 2.0, November 2002
[15] Altera: Stratix GX – The Low-Risk to 3.125-Gbps Transceiver Applications, ver. 1.0, October 2002
[16] Altera: Stratix – New Levels of System Integration, ver. 2.0, October
2002
[17] Altera: Intellectual Property Selector Guide – IP Functions for Systemon-a-Programmable-Chip Solutions, ver. 3.0, March 2003
[18] Altera: Using the DSP Blocks in Stratix & Stratix GX Devices, AN214,
ver. 3.0, November 2002
[19] Altera: Implementing High-Performance DSP Functions in Stratix
& Stratix GX Devices, AN215, ver. 2.0, November 2002
[20] QuickLogic: Embedded Standard Products FPGA Solutions Guide –
Secure Programmable Logic Solutions, 2002
[21] QuickLogic: EclipsePlus Family Data Sheet, 2003
[22] Xilinx: Virtex-II Platform FPGA User Guide, ver. 1.5, December 2002
[23] Xilinx: FPGA for DSP, www. xilinx. com
[24] Xilinx: Xilinx XtremeDSP Initiative meets the Demand for Extreme
Performance and Flexibility, Xcell journal, Issue 38, Summer 2001
[25] Xilinx: Xcell Journal, Issue 45, Spring 2003
[26] CD-ROM: Documentation Library, Altera, June 2003
[27] CD-ROM: DataSource™ CD-ROM, Xilinx, Rev. 8, 2003
Artykuł recenzowany
(Artykuł nadesłano do red. – październik 2003)
85

Podobne dokumenty