Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Tadeusz UBA*, Krzysztof JASISKI*, Bogdan ZBIERZCHOWSKI*

Programowalne ukady
przetwarzania sygnaw
i informacji technika cyfrowa
w multimediach i kryptografii
W dzisiejszych czasach trudno sobie wyobrazi dziedzin szeroko rozumianej telekomunikacji, w ktrej cyfrowe przetwarzanie sygnaw DSP (Digital Signal Processing) nie miaoby zasadniczego
znaczenia. Odnosi si to do wszystkich warstw systemu telekomunikacyjnego: od urzdze przetwarzajcych obrazy, dwiki, dane
alfanumeryczne na sygnay (i odwrotnie), przez sieci telekomunikacyjne przenoszce i komutujce te sygnay, a po systemy urzdze, zapewniajcych dostarczanie rnorakich treci, zwanych powszechnie usugami. Mona tu wymieni takie przykady, jak: modemy telefoniczne, systemy cyfrowego szerokopasmowego dostpu
abonenckiego DSL (Digital Subscriber Line), dostpu radiowego,
rozpoznawanie mowy i mwcw, telewizja cyfrowa wysokiej rozdzielczoci, telefonia komrkowa i satelitarna czy zwizana z wikszoci wymienionych systemw kryptografia. Trzeba podkreli,
e tak szerokie zastosowanie techniki cyfrowej w telekomunikacji
znalazo zastosowanie dopiero w momencie opanowania technologii wytwarzania na wielk skal scalonych ukadw specjalizowanych ASIC (Application Specific Integrated Circuits). Coraz wiksz
popularnoci w tym zakresie ciesz si procesory sygnaowe mikrokomputery skonstruowane specjalnie do cyfrowego przetwarzania sygnaw. Obecnie z procesorami sygnaowymi w wielu zastosowaniach mog konkurowa ukady programowalne i reprogramowalne.
Dynamiczny rozwj cyfrowych technik telekomunikacyjnych daje
si zauway zwaszcza w systemach multimedialnych. Oglnie
mona powiedzie, e telekomunikacyjny system multimedialny to
zesp rodkw technicznych i procesw, umoliwiajcych przekaz
i prezentacj wiadomoci za pomoc przynajmniej dwch, wzajemnie zsynchronizowanych, rodkw przekazu, takich jak: mowa, muzyka, ruchomy obraz, tekst, grafika itp. Powszechnie jest on utosamiany z takimi usugami, jak: wideotelefonia, wideokonferencja, wideo na danie (lub prawie na danie), telepraca, teleedukacja,
telezakupy itd. W takim systemie wyrnia si trzy podstawowe elementy funkcjonalne: serwer usug multimedialnych, terminale multimedialne oraz sie dostpu do usug. Zadaniem sieci jest przeniesienie sygnaw dotyczcych usug oferowanych przez serwery
do terminali, a take wymiana danych midzy serwerami. Paszczyzna transportowa takiej sieci jest na og bardzo dobrze rozwinita
i przystosowana do przenoszenia sygnaw cyfrowych z du szybkoci. Najczciej s w niej stosowane kable wiatowodowe
i szybkie techniki transmisyjne: SDH, ATM, Frame-Relay itp. Najbardziej krytycznym elementem tego systemu jest abonencka sie dostpowa, przenoszca sygnay multimedialne od wzw sieci transportowej do terminalu i na odwrt. Ze wzgldu na istniejc infrastruktur kablow tej sieci (najczciej symetryczna para
przewodw miedzianych, tzw. skrtka), stao si konieczne opracowanie systemw umoliwiajcych transmisj cyfrow do (i od) abonenta z du szybkoci.

Instytut Telekomunikacji Politechniki Warszawskiej


e-mail: luba@tele.pw.edu.pl, kjasio@tele.pw.edu.pl,
bogdan@tele.pw.edu.pl

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

W tej czci sieci powszechnie przyjmowana szeroko pasma


podstawowego 300 Hz 3400 Hz nie wynika z wasnoci linii transmisyjnej, lecz z przepustowoci filtrw stosowanych (dla transmisji
telefonicznej) w punktach styku z sieci transportow. Wspomniana
skrtka umoliwia (oczywicie po usuniciu filtrw) wykorzystanie
pasma do 1 MHz, a jedynym ograniczeniem szybkoci transmisji cyfrowej jest dugo kabla i jako jego wykonania. Efektywne zwikszenie wykorzystania pasma do transmisji dwukierunkowej osiga
si przez stosowanie odpowiednich kodw liniowych oraz przez stosowanie cyfrowej kompensacji (kasowania) echa (Echo Canceller)
w ukadach rozganych po stronie abonenta i po stronie sieci.
Na przykad w sieciach ISDN dla dostpu podstawowego
(2B + D) do transmisji o szybkoci 144 kbit/s (2 kanay po 64 kbit/s
+ 16 kbit/s dla kanau sygnalizacyjnego) wykorzystuje si kod liniowy 2B1Q (2-Binary 1-Quatenary) oraz technik kompensacji echa.
Sprowadza si ona do wytworzenia w nadajniku przez adaptacyjny
filtr cyfrowy sygnau identycznego z przebiegiem echowym i odjcia
go od cakowitego sygnau odbieranego.
Podobn zasad kasowania echa stosuje si w systemach dostpowych DSL. Opracowano (i dalej si rozwija) systemy HDSL (High
data rate Digital Subscribe Line), ADSL (Asymmetric Digital Subscribe Line), VDSL (Very high data rate Digital Subscribe Line) o rnych przepywnociach i rnych technikach kodowania.
Kodowanie liniowe i cyfrowe kasowanie echa w systemach dostpowych i sieciach ISDN to niewielka cz szerokiego zakresu
stosowania cyfrowego przetwarzania sygnaw. Ogromne znaczenie maj techniki kodowania sygnaw telefonicznych i wizyjnych,
umoliwiajce zmniejszenie przepywnoci kanaw sucych do
ich przenoszenia, a take wykrywanie i ewentualnie korekcj bdw
transmisji. Wystarczy powiedzie, e w systemach radiokomunikacji
ruchomej szybko strumienia sygnau mowy zmniejsza si
z 64 kbit/s (w systemach PCM) do szybkoci poniej 10 kbit/s.
W spoeczestwie informacyjnym wiele dziedzin ycia gospodarczego i kulturalnego korzysta z elektronicznego przekazywania danych. Ogromnego znaczenia nabiera zatem poufno, a nawet tajno przekazywanych informacji. Z coraz wikszym przekonaniem
przyjmowany jest pogld, e ochrona danych bdzie odgrywaa
podstawow rol w funkcjonowaniu przyszych systemw informacyjnych. Dotyczy ona gwnie aplikacji telekomunikacyjnych, takich
jak telefonia bezprzewodowa i komrkowa, faksy, pagery, patna telewizja, komercyjne produkty audio/wideo itp. Jednak najwaniejszym obszarem, w ktrym decydujce znaczenie maj mechanizmy
ochrony informacji, jest komunikacja cyfrowa, a w szczeglnoci
sie internetowa.
Mechanizmy ochrony komunikacji cyfrowej s realizowane za pomoc specjalnych protokow bezpieczestwa i w formie algorytmw kryptograficznych stay si czci wielu standardowych rozwiza, jak IPSec (protok internetowy), SSL (Secure Socket
Layer), szyfrowane komrki sieci ATM oraz rnych standardw
ANSI dla bankowoci. Eksplozja wzrostu usug internetowych w zakresie handlu i biznesu, w tym operacji finansowych i obrotu kapitaowego, spowodowaa, e realizacja mechanizmw zabezpieczenia
przed nieuprawnionym dostpem do informacji staa si ogromnym
wyzwaniem.

409

Jak wida, zakres zastosowa ukadw cyfrowych w telekomunikacji bdzie coraz wikszy i niedobrze byoby, gdyby w rozwoju tej
techniki i jej ogromnych rynkowych moliwoci nie uczestniczyy firmy polskie. Zrozumienie tych szans jest szczeglnie istotne w dobie
rewolucyjnego rozwoju technologii ukadw programowalnych [26].
Dotychczasowe sukcesy polskich firm w komercyjnych aplikacjach
techniki cyfrowej w telekomunikacji potwierdzaj t tez. Doskonaym przykadem moe tu by firma ADB Polska, zaoona przed piciu laty przez pracownikw naukowych Politechniki Zielonogrskiej.
Z duym powodzeniem opracowuje ona i sprzedaje w milionach
sztuk rwnie na rynki zagraniczne urzdzenia telewizji cyfrowej.
W artykule opisano podstawowe waciwoci ukadw programowalnych oraz moliwoci ich zastosowania w przetwarzaniu sygnaw i informacji. Omwiono przykady eksperymentalnych i przemysowych aplikacji multimedialnych oraz realizacje algorytmw kryptograficznych. Przedstawiono now ofert na rynku cyfrowych
ukadw telekomunikacyjnych produkty wirtualne. Wskazano take na ogromne znaczenie syntezy logicznej w tych zastosowaniach.

ROLA UKADW PROGRAMOWALNYCH


W ROZWOJU TECHNIKI CYFROWEJ
DLA POTRZEB PRZETWARZANIA
SYGNAW I INFORMACJI
W technice cyfrowej w ostatnich latach obserwuje si ogromne
zmiany w metodach projektowania ukadw i systemw cyfrowych
oraz w technologiach wykonywania urzdze cyfrowych. Z punktu
widzenia technologii jest to postp od ukadw katalogowych i pytki drukowanej do specjalizowanych ukadw ASIC i specjalizowanych procesorw ASIP (Application Specific Instruction Set Processors) o zoonoci sigajcej milionw bramek. W szczeglnoci
udoskonalenia procesu technologicznego, polegajce na redukowaniu wymiarw elementw pprzewodnikowych i zwikszaniu
liczby warstw metalizowanych pocze, a take nowe techniki programowania umoliwiy opracowanie generacji struktur FPLD (Field
Programmable Logic Devices) z moliwoci reprogramowania i rekonfiguracji [21], [30]. Te cechy ukadw FPLD umoliwiaj implementacje algorytmw DSP, niekiedy znacznie lepsze w porwnaniu
z implementacjami na procesorach sygnaowych.
Obecnie produkowane ukady FPLD, w zalenoci od struktury,
klasyfikuje si na ukady matrycowe CPLD (Complex PLD) oraz
ukady komrkowe FPGA.
Elementem charakterystycznym dla architektury CPLD jest wykorzystanie w ukadach wielu struktur typu PAL (Programmable Array
Logic) zgrupowanych w bloki SPLD (Simple PLD). Bloki te s ze sob poczone szybk, programowan matryc poczeniow, jak to
pokazano na rys. 1. Jej zadaniem jest przesyanie sygnaw midzy

O Rys. 1. Struktura CPLD. Oznaczenia: PIA (Programmable Interconnect Array) matryca poczeniowa, SPLD prosta struktura PLD
typu PAL

410

wejciami zewntrznymi a wewntrznymi blokami logicznymi oraz


midzy tymi blokami.
Niezalenie od wykonania, wanymi parametrami matrycy poczeniowej, bdcej krytycznym fragmentem ukadw CPLD, s:
zdolno czeniowa i czas propagacji sygnau. Pod pojciem zdolnoci czeniowej rozumie si moliwo czenia dowolnych elementw struktury programowalnej. Producenci ukadw rozwizuj
zwizane z tym problemy w rny sposb, czego efektem s rnorodne architektury matryc poczeniowych, w duych ukadach
CPLD take wielopoziomowe. Architektura matrycy poczeniowej
i technologia zastosowana do jej realizacji maj duy wpyw na czas
propagacji sygnau. We wspczesnych ukadach CPLD czas propagacji sygnau przez matryc poczeniow nie przekracza zazwyczaj
0,8... 3 ns (m. in. matryce GRP firmy Lattice, PIA Altera, PIM Cypress, ZIA Xilinx). Dostpne s take ukady, w ktrych czas propagacji skrcono do ok. 100... 200 ps (ZIA, AIM Xilinx).
Grup ukadw programowalnych o architekturze i budowie elementarnych komrek logicznych, znacznie odmiennej od architektury i budowy komrek ukadw SPLD i CPLD, s struktury FPGA
(Field Progammable Gate Array). Na rys. 2 pokazano uoenie komrek logicznych oraz traktw poczeniowych, charakterystyczne dla
wikszoci ukadw FPGA.

O Rys. 2. Struktura FPGA. Oznaczenia: PIP (Programmable Interconnect Point) programowalne punkty poczeniowe, RC (Routing
Channels) trakty poczeniowe, I/O bloki wejciowo-wyjciowe, LB
(Logic Blocks) bloki logiczne

Praktycznie wszystkie obecnie produkowane ukady programowalne s wyposaone w reprogramowalne matryce pamiciowe.
Najczciej s stosowane dwa rodzaje matryc: z komrkami pamici SRAM (Static RAM) i trwaej EEPROM, a coraz rzadziej PROM lub
EPROM. Ukady reprogramowalne CPLD i FPGA oferuje na wiecie
kilku producentw. S to zarwno ukady z matrycami SRAM, jak
i EEPROM. Nieulotne matryce EEPROM charakteryzuj si ograniczon liczb dopuszczalnych cykli reprogramowania, zazwyczaj od
100 do 1000, gwarantuj natomiast dugi czas przechowywania zapisanych w nich konfiguracji (do 100 lat) bez zasilania.
W aplikacjach wymagajcych duej pojemnoci logicznej s stosowane przede wszystkim struktury FPGA, w ktrych rol elementu
pamiciowego spenia komrka pamici nietrwaej SRAM. Po kadorazowym wczeniu zasilania niezbdne jest wprowadzenie danych o konfiguracji, czyli tzw. inicjalizacja konfiguracji matrycy. Proces rekonfiguracji we wszystkich ukadach FPGA przebiega podobnie, przy czym w zalenoci od typu ukadu czas inicjalizacji
struktury waha si od 1ms (ukady serii AT6000) a do 320 ms (ukady FLEX10K). Dziki wykorzystaniu standardowych interfejsw szeregowych SDI (Serial Data Interface) w ukadach FPGA oraz JTAGISP w ukadach CPLD, dane konfiguracyjne mona zaadowa do

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

struktury programowalnej za pomoc lokalnego sterownika lub specjalnego interfejsu programujcego. Strumie danych konfiguracyjnych jest zwykle przechowywany w standardowej pamici staej
o dowolnej organizacji lub w specjalnej pamici szeregowej.
Ze wzgldu na waciwoci matryc pamiciowych, do stosowania
w aplikacjach rekonfigurowalnych s predestynowane ukady
FPGA.
Gwnym celem rekonfiguracji systemu jest dostosowanie struktury funkcjonalnej, dostpnej w ramach jego architektury podstawowej, do wymaga realizowanych algorytmw. W przypadku realizacji algorytmw, ktre nie mieszcz si w caoci w strukturze systemu, istnieje konieczno ich rozoenia na sekwencje podzada
realizowanych kolejno w odpowiednich konfiguracjach. Warunkiem
niezbdnym do realizacji caego algorytmu jest zdolno systemu
rekonfigurowalnego do wymiany danych konfiguracyjnych wraz
z przekazaniem wynikw uzyskanych w biecej konfiguracji do
kontynuowania oblicze w nastpnej konfiguracji. Taki sposb rekonfiguracji systemu podczas jego dziaania jest wyrniany terminem run-time.
Obecnie stosuje si kilka metod rekonfiguracji ukadw FPGA
[40]. Najprostszym implementacyjnie, ale niezbyt efektywnym sposobem rekonfiguracji, jest zmiana konfiguracji (tzw. kontekstu) caej
struktury programowalnej. Polega ona na szeregowym wprowadzeniu strumienia nowych danych konfiguracyjnych. Wad tej metody
jest konieczno przerwania pracy caego ukadu, co w konsekwencji moe obniy wydajno caego systemu. Ukady wyposaone
w taki mechanizm rekonfiguracji s nazywane jednokontekstowymi.
Wikszo obecnie produkowanych ukadw FPGA mona uwaa
za ukady jednokontekstowe o rnych czasach rekonfiguracji.
Bardziej efektywnym sposobem rekonfiguracji jest rekonfiguracja
czciowa. Jest ona moliwa pod warunkiem przerwania pracy ukadu, podobnie jak w przypadku ukadw jednokontekstowych, chocia dziki moliwoci wymiany tylko niezbdnej czci danych konfiguracyjnych redni czas rekonfiguracji moe by zalenie od
przyjtego sposobu przydziau zada znacznie krtszy.
Do najbardziej znanych ukadw rekonfigurowalnych nale
struktury AT40K/KA/KAL, AT6000 oraz FPSLIC AT94 (wszystkie
wymienione rodziny s to ukady FPGA, produkowane przez firm
Atmel [13]) oraz Virtex/Virtex II i Virtex E (produkowane przez firm
Xilinx).
Ogromn zalet ukadw AT40K/KA/KAL oraz AT6000 jest moliwo ich czciowej rekonfiguracji bez koniecznoci wyczania
pozostaej, nie poddawanej rekonfiguracji, czci ukadu. Uzyskanie
tak dobrego efektu uytkowego jest moliwe dziki zaawansowanemu mechanizmowi wymiany danych konfiguracyjnych CacheLogic,
w ktry wyposaono wszystkie ukady obydwu rodzin.
Zupenie inn architektur i nieco inne walory uytkowe maj
ukady AT94, nazywane w nomenklaturze producenta take FPSLIC
(Field Programmable System Level Integrated Circuit). Integruj one
bowiem w jednej strukturze rekonfigurowaln matryc FPGA oraz 8bitowy mikrokontroler RISC. Budowa, waciwoci (w tym moliwo czciowej rekonfiguracji) i podstawowe parametry matryc rekonfigurowalnych s identyczne jak dla matryc stosowanych w ukadach AT40K. Moliwoci uytkowe ukadw AT94K znacznie
zwiksza fakt zintegrowania w ich strukturze szybkiego mikrokontrolera o architekturze RISC, ktrego wydajno dochodzi do 40 MIPS.
Szczegowy opis architektury ukadw FPSLIC mona znale m.
in. w artykule [40].
Do stosowania w aplikacjach nie wymagajcych czciowej rekonfiguracji struktury ukadu doskonale nadaj si ukady z rodzin
Virtex oraz APEX, ktre nale obecnie do grupy najwyej zaawansowanych technologicznie ukadw FPGA. O ich duych zaletach
decyduj m. in. mechanizmy sprztowej implementacji pamici rnego typu (w tym FIFO oraz DualPort FIFO), moliwo czenia blokw logicznych w bloki funkcjonalne bez wykorzystywania lokalnych zasobw poczeniowych, a take krtki czas rekonfiguracji.
Jednak nie tylko z tych powodw ukady FPGA maj przewaajce zalety w implementacjach algorytmw DSP. Decydujcym czynnikiem w coraz powszechniejszym zastosowaniu ukadw FPGA do
syntezy ukadw DSP jest ich specyficzna, ziarnista i potokowa
struktura wewntrzna. Zalety tej struktury objawiaj si ju na poziomie najprostszych ale wyjtkowo typowych w DSP ukadw
mnoenia skalarnego z akumulacj. Na rys. 3 pokazano uproszczon struktur mnoenia szeregowego, realizowanego w jednowymia-

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

O Rys. 3. Jednowymiarowa systoliczna matryca sumatora; D przerzutnik

rowej matrycy systolicznej. Kade ogniwo tego ukadu mona bezporednio zrealizowa w pojedynczych komrkach struktur FPGA,
a niezaleno tej struktury od liczby bitw przetwarzanych sw jest
dodatkow zalet decydujc o wydajnoci i skalowalnoci realizowanych algorytmw. Ukady szeregowego mnoenia bitowego znajduj zastosowanie w realizacjach filtrw typu FIR [26], [36].
Komrkowa budowa struktur FPGA, a w szczeglnoci moliwo grupowania czsto wykorzystywanych blokw tablic odwzorowa (tablic prawdy) LUT (Look Up Table) w wielowyjciowe pamici, znakomicie uatwia realizacj ukadw arytmetyki rozproszonej
DA (Distributed Arithmetic) [26]. Struktur ukadu DA pokazano na
rys. 4. Zalet architektury DA jest wygodna i efektywna implementacja w strukturach FPGA. Przeprowadzone eksperymenty [36] wskazuj, e rwnolege i rozproszone ukady mnoce implementowane w strukturach FPGA s 6 razy szybsze przy zaledwie 2,5-krotnym
zwikszeniu zasobw sprztowych.
Rekonfigurowalne ukady FPGA, ktre zapocztkoway now er
w dziedzinie projektowania ukadw DSP, stanowi rwnie doskonae medium implementacyjne do realizacji algorytmw szyfrujcych w rnych zastosowaniach, takich jak protokoy bezpieczestwa komunikacji w sieciach, ochrona i potwierdzanie autentycznoci informacji i dokumentw oraz do realizacji maszyn wyszukujcych klucze w kryptoanalizie.
Gwnym atutem ukadw rekonfigurowalnych jako medium konstrukcyjnego jest ich zdolno adaptacyjna, polegajca na moliwoci dostosowania architektury logicznej do typu, ksztatu i waciwoci realizowanych funkcji. Do efektywnego wykorzystania
moliwoci tych ukadw, zarwno pod wzgldem optymalizacji logicznej, jak te parametrw fizycznych (szybko, moc, powierzchnia) jest potrzebna gruntowna znajomo funkcji i wasnoci implementowanych algorytmw. rodkiem do osignicia tak okrelonego celu jest wiedza o sposobach odwzorowywania podstawowych
operacji i funkcji algorytmu w struktur podstawow matrycy rekonfigurowalnej oraz wybr logicznej reprezentacji danych, odpowiedniej do specyfikacji algorytmu architektury.
Wikszo algorytmw szyfrowania mona przedstawi za pomoc grafu przepywu danych, ktry jest zbudowany zaledwie z kilku rnych komponentw, realizujcych mniej lub bardziej zoone
operacje arytmetyczne i funkcje logiczne. Poniej przedstawiono list najczciej stosowanych operacji i funkcji.
M Proste operacje arytmetyczne, takie jak dodawanie i odejmowanie.
M Operacje na krtkich sowach binarnych o nietypowych dugociach.

O Rys. 4. Architektura DA. Oznaczenia: RP rejestry przesuwajce,


POT rejestr potokowy, R rejestr wyjciowy

411

M Operacje mnoenia mnoenie oglne (dowolne wartoci operandw), mnoenie modularne, mnoenie z obciciem wyniku, mnoenie przez sta, mnoenie z uyciem kodowania nadmiarowego
operandw etc.
M Rwnolege operacje logiczne.
M Sekwencje operacji logicznych.
M Tablice odwzorowa LUT, np. nieliniowe typu S-box.
M Operacje rotacji i przesunicia.
Dla kadej z wymienionych operacji mona wyznaczy efektywne odwzorowanie w strukturze matrycy rekonfigurowalnej. Zastosowanie takich wzorw realizacyjnych do projektowania algorytmw
kryptograficznych pozwala lepiej wykorzysta walory systemw rekonfigurowalnych.

EKSPERYMENTALNE I PRZEMYSOWE
APLIKACJE MULTIMEDIALNE
Wraz z wprowadzeniem rekonfigurowalnych struktur logicznych
pojawiy si nowe moliwoci ich zastosowa w dziedzinie przetwarzania obrazw i dwiku. Pierwsz architektur komputera konfigurowanego ze strukturami FPGA bya wirtualna maszyna, pomylana
jako programowalna pami aktywna PAM (Programmable Active
Memory); miaa ona form rekonfigurowalnego koprocesora sterowanego standardowym procesorem. Rola procesora sprowadzaa
si do zarzdzania konfiguracj macierzy ukadw FPGA, ktre peniy funkcje koprocesora, i wsppracy z tym koprocesorem, analogicznie jak w konwencjonalnych komputerach.
Przykadami zastosowania platformy PAM do realizacji specjalizowanych maszyn liczcych s midzy innymi: system DECPeRLe
zaprojektowany przez Digital Equipment Corporations Paris Research Laboratory [38] i system SPLASH, opracowany w Supercomputer Research Center [3].
Systemy PeRLe-0 i PeRLe-1 cechuje wielka efektywno rozwizywania zadziwiajco szerokiej klasy problemw obliczeniowych.
S one zbudowane z macierzy dwuwymiarowej ukadw FPGA
komunikujcej si z otoczeniem zewntrznym za pomoc szyny
o duej przepywnoci.
Oprcz 16 ukadw macierzy 4x4 FPGA system zawiera 1 MB
pamici statycznej RAM na kadej z krawdzi macierzy FPGA. Ukad
zosta zaprojektowany do przyspieszenia realizacji zada wymagajcych duych mocy obliczeniowych przy zaoeniu, e czci realizowanego algorytmu, ktre stanowi jego wskie gardo, bd
przekazywane do wykonania ukadowi. Do specyfikacji zada zostao zaprojektowane specjalne rodowisko programowe [4], ktre
czy w sobie cechy kompilatorw zoonych jzykw programowania oraz systemw do projektowania sprztu. Lista problemw, ktre efektywnie rozwizywano za pomoc DEC PeRLe, zawiera wiele
istotnych zada z dziedziny przetwarzania obrazu i dwiku, jak na
przykad: mnoenie duych liczb cakowitych, kompresja danych,
rozwizywanie rwna Laplacea, synteza dwiku, rozpoznawanie
wzorca, splot w dziedzinie dwuwymiarowej, kompresja obrazu.
Innym przykadem wysoko wyspecjalizowanej maszyny liczcej
jest system SPLASH zaprojektowany w Supercomputer Research
Center [3], [8] oraz jego nastpca SPLASH-2. Podobnie jak system
DEC PeRLe, wsppracuje on ze stacj robocz, przyspieszajc jej
dziaanie w tych sytuacjach, gdy nie moe ona upora si z zadaniem wymagajcym duych mocy obliczeniowych. Architektura
SPLASH-2 zostaa zaprojektowana jako macierz systoliczna na pojedynczej pytce o 16 elementach obliczeniowych, z ktrych kady
zawiera ukad FPGA oraz lokaln pami. Analogicznie jak w przypadku PeRLe, stworzono rodowisko programistyczne, dajce moliwo tworzenia aplikacji. Miao ono wbudowany symulator jzyka
VHDL [1], [2], jzyk opisu logiki LDG [9] oraz model programowy
SIMD [10]. Za pomoc systemu SPLASH uruchomiono i przetestowano wiele aplikacji. Otrzymane wyniki wiadcz o jego duej efektywnoci. Lista przykadowych problemw rozwizanych za pomoc
systemu SPLASH-2 zawieraa m. in. nastpujce zadania: wyszukiwanie tekstu, przetwarzanie obrazw, ustalanie zmiennego przecinka oraz splot w dziedzinie dwuwymiarowej.
Eksperymenty przeprowadzone z architekturami PeRLe
i SPLASH pokazay, e pojedyncza platforma obliczeniowa zbudowana z ukadw FPGA moe zapewni imponujc efektywno dla

412

bardzo szerokiej rodziny zastosowa. Tak wysoki poziom efektywnoci by moliwy do osignicia dziki zaprojektowaniu dla kadego z wymienionych problemw specjalizowanej architektury. Mechanizmy rekonfiguracji gwarantuj, e z wykorzystaniem tego samego sprztu mona realizowa niezliczon liczb rnych
architektur logicznych. Osignicie wysokiej efektywnoci systemw PeRLe i SPLASH byo moliwe dziki:
M wyspecjalizowaniu blokw funkcjonalnych;
M wykorzystaniu wspbienoci;
M optymalizacji procesw i interfejsw komunikacyjnych;
M wyspecjalizowaniu ukadw wejciowo-wyjciowych.
Niewtpliwie eksperymenty te stay si bezporedni przyczyn
zastosowania ukadw programowalnych w komercyjnych (przemysowych) aplikacjach telekomunikacyjnych. Typowym przykadem
mog by satelitarne systemy telemetryczne firmy TSI TelSys [16],
w ktrych rekonfigurowalna matryca skadajca si z 12 ukadw
APEX20K100 spenia rol rekonfigurowalnego systemu DSP, automatycznie dostosowujcego si do protokou transmisyjnego ledzonej misji satelitarniej (EOS, SBIRS-High, DRTS, Heliosat).
Moliwo rekonfiguracji ukadw CPLD wykorzystaa firma LG
Information & Telecommunications. W jej ofercie znajduj si urzdzenia stosowane w systemach komrkowych CDMA (Code Division Multiple Access), W-CDMA (Wideband CDMA) oraz WLL (Wireless Local Loop). We wsppracy z firm Hanaro Telecom [12] firma
LGIE wdroya do produkcji modemy W-CDMA, w ktrych zastosowano po cztery ukady EPF10K100. Zastosowanie ukadw rekonfigurowalnych wie si z moliwoci szybkiego i w miar bezproblemowego dostosowania toru obrbki sygnau do modyfikacji
wprowadzanych w zaleceniach ITU, ktre maj na celu m. in. zwikszenie przepywnoci kanaw transmisyjnych, przy jednoczesnym
zaweniu zajmowanego pasma.
Ukady rekonfigurowalne znalazy zastosowanie take we wspczesnych telewizyjnych systemach retransmisyjnych, czego przykadem moe by rodzina procesorw wizyjnych D1 firmy Snell & Wilcox [12]. Wedug danych producenta, zastosowanie ukadw rekonfigurowalnych spowodowao obnienie kosztu wykonania takiego
procesora o ok. 30% w stosunku do klasycznych rozwiza opartych na procesorach sygnaowych.
Amerykaska firma Metalithic Systems jest producentem profesjonalnego, studyjnego sprztu audio, w tym wielu cyfrowych
konsol mikserskich. W 1999 roku inynierowie tej firmy opracowali

O Rys. 5. Schemat blokowy systemu ze zdalnie rekonfigurowanym


blokiem sprztowym; 1, 2, 3, 4 etapy rekonfiguracji

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

128-kanaow konsol, wykonan na ukadach Spartan firmy Xilinx,


w ktrej moliwo rekonfiguracji ukadw wykorzystano do budowy
rnego rodzaju efektw audio, w tym cyfrowego pogosu i kompresji szumw [15].
Szczeglnym przykadem w grupie opracowa komercyjnych
jest propagowana od 1998 roku przez firm Xilinx idea budowania
sprztu rekonfigurowanego przez Internet IRL (Internet Reconfigurable Logic), co schematycznie pokazano na rys. 5 [17].
Pierwsze komercyjne aplikacje IRL opracoway i wdroyy w 1999
roku firmy Bosch i Siemens, ktre testuj moliwoci stosowania
ukadw zdalnie rekonfigurowalnych w aplikacjach samochodowych [17]. Na pocztku 2001 roku, w wyniku prac prowadzonych
wsplnie z LG Electronics oraz konsorcjum: Xilinx, Celoxica oraz
WindRiver, powstay wykorzystujce ukady Virtex E zdalnie rekonfigurowalne: odtwarzacz MP3 oraz internetowy telefon VoIP
[14]. Urzdzenia te maj zosta wdroone do masowej produkcji
przed kocem 2003 roku.

UKADY PROGRAMOWALNE
W KRYPTOGRAFII
Wrd pierwszych implementacji szyfrw blokowych w ukadach
programowalnych szczeglnie interesujce byy dwa opracowania.
Pierwsze powstao w Szwajcarskim Federalnym Instytucie Technicznym w Lozannie pod akronimem CryptoBooster [25]. CryptoBooster
spenia funkcje rekonfigurowalnego, moduowego koprocesora
kryptograficznego, ktry wsppracuje z gwnym komputerem jako
akcelerator operacji kryptograficznych. Prbnym moduem wykonanym w tej architekturze bya realizacja symetrycznego szyfru blokowego IDEA. Przeprowadzone testy wykazay, e pod wzgldem
szybkoci i przepustowoci koprocesor nadaje si do zastosowa
w szybkich sieciach, jak ATM, SONET i GigaEthernet.
Drugi przykad to projekt wykorzystujcy rekonfigurowalny procesor PipeRench opracowany w Carnegie Mellon University [37]. Oryginalna warstwowa architektura procesora PipeRench, zaprojektowana w CMU, zostaa zoptymalizowana pod wzgldem implementacji
kryptograficznych. Jej gwnymi cechami s: wirtualizacja, potokowa
organizacja cieki danych i zerowy pozorny czas rekonfiguracji. Wirtualizacja umoliwia implementacj algorytmw nie mieszczcych
si w caoci w fizycznej strukturze systemu. W architekturze
PipeRench zrealizowano szereg algorytmw, jak CRYPTON, IDEA,
RC6 i Twofish.
Na podstawie analizy wielu zastosowa sprztowych [5] realizacji algorytmw kryptograficznych mona okreli funkcje i wymagania, jakie powinien spenia elastyczny system kryptograficzny. S
to:
M moliwo zmiany algorytmu w trakcie pracy,
M moliwo wprowadzania nowych algorytmw,
M dua szybko przetwarzania danych,
M atwa obsuga interfejsu uytkownika,
M modyfikowalno oprogramowania sterujcego (upgradable
firmware),
M modyfikowalno sprztu.
Traktujc powysze warunki jako zaoenia do konstrukcji systemu kryptograficznego, wsppracujcego z gwnym komputerem
PC na zasadzie koprocesora, mona zaproponowa konstrukcj,
ktrej uproszczona architektura jest przedstawiona na rys. 6. Zasadniczymi blokami takiego systemu s:
M koprocesor kryptograficzny z pamici buforow,
M ukad sterujcy,
M biblioteka algorytmw.
Koprocesor kryptograficzny wykonuje wszelkie operacje zwizane z szyfrowaniem i deszyfrowaniem danych. Po wczeniu zasilania koprocesor rezydujcy w strukturach FPGA nie jest jeszcze
zaprogramowany. Na sygna wyboru algorytmu, wydany przez
uytkownika za porednictwem interfejsu, ukad sterujcy przepisuje do koprocesora z biblioteki algorytmw odpowiedni zbir
konfiguracyjny. Po skonfigurowaniu koprocesor jest gotowy do
pracy. Transmisja danych szyfrowanych i deszyfrowanych pomidzy systemem a komputerem odbywa si za porednictwem magistrali ISA. T sam drog, z komputera do systemu, s przekazywane nowe zbiory modyfikujce lub rozszerzajce bibliotek algorytmw.

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

O Rys. 6. Architektura elastycznego systemu kryptograficznego

Naszkicowana wyej koncepcja elastycznego systemu kryptograficznego zostaa wykorzystana przez autorw przy opracowaniu
prototypu wieloalgorytmowego koprocesora kryptograficznego, ktry zrealizowano w ramach prac badawczych w Instytucie Telekomunikacji PW. Prototyp koprocesora zosta wykonany w formie karty do
komputerw klasy PC. Schemat blokowy karty koprocesora,
uwzgldniajcy szczegowo sygnay magistrali ISA, jest przedstawiony na rys. 7. Karta wymaga wstpnej inicjalizacji kilku wewntrznych rejestrw, ktrych zawarto ustawia si przez interfejs programowy w komputerze. Ich wartoci definiuj szczegowo nastpujce funkcje i parametry karty:
M wybr algorytmu kryptograficznego DES, X_DES_X,
DES3_EEE, DES3_EDE;
M tryb pracy algorytmu ECB, CBC, OFB_64, CFB_01, CFB_08,
CFB_16, CFB_64;
M tryb wsppracy z magistral ISA normal lub pipeline;
M funkcje karty szyfrowanie/deszyfrowanie, wpisywanie kluczy
i wektora stanu pocztkowego.
Przed rozpoczciem cyklu szyfrowania/deszyfrowania s testowane wybrane komrki rejestru stanw w celu ustalenia prawidowoci przeprowadzonej inicjalizacji. Aby zapobiec lub przynajmniej
utrudni ataki hackerw, wprowadzono dodatkowe mechanizmy
ochronne zapewniajce bezpieczestwo kluczy i blokw danych zarwno jawnych, jak i zaszyfrowanych. Zastosowane mechanizmy
wykrywaj pewne odstpstwa od oczekiwanych prawidowych sekwencji instrukcji inicjujcych proces szyfrowania/deszyfrowania
i blokuj reakcje koprocesora na sygna startu GO lub niszcz zawarto rejestrw kluczy i rejestru stanu pocztkowego.
Algorytm DES zosta zaprojektowany wedug amerykaskiej normy FIPS 46, za tryby pracy opracowano na podstawie normy FIPS
81. Algorytmy DES-EDE i DES-EEE, mimo i nie s aktualnie ujte
w normach, nale obecnie do najczciej uywanych szyfrw

O Rys. 7. Schemat blokowy wieloalgorytmowego koprocesora kryptograficznego

413

w protokoach bezpieczestwa stosowanych w sektorze bankowym


na caym wiecie. Tryby pracy, pozwalajce dopasowa waciwoci
szyfru do wymaga otoczenia, s zgodne z midzynarodowymi normami ISO/IEC 8372 i ISO/IEC 10116.
Gwna cz projektu zostaa wyspecyfikowana w jzyku
AHDL dla rodowiska MAX+PLUS II firmy ALTERA, z przeznaczeniem dla rodziny ukadw rekonfigurowalnych FLEX 10K. W prototypie wykorzystano ukad FLEX 10K30. Eksperymenty symulacyjne
przeprowadzone z algorytmem DES, uwzgldniajce zastosowanie
w koprocesorze ukadu FLEX 10K50, wykazay, e maksymalna
czstotliwo zegara systemowego moe wynosi okoo 70 MHz.
Odpowiada to maksymalnej szybkoci przetwarzania rzdu 190
Mbit/s. Dla algorytmu potrjny DES osigalna szybko wynosi
okoo 66 Mbit/s.

NOWY STANDARD SZYFROWANIA:


ALGORYTMY ANALIZA I WYBR
OPTYMALNYCH IMPLEMENTACJI
Przedstawione powyej przykady implementacji algorytmw
kryptograficznych byy jedn z wielu prb poszukiwania optymalnych realizacji nowych algorytmw szyfrujcych, ktre w XXI wieku
mogyby zastpi dotychczasowy wiatowy standard DES.
Wydarzeniem o przeomowym znaczeniu kamieniem milowym
w dziedzinie ochrony systemw informacyjnych i bezpieczestwa
w sieciach teleinformatycznych sta si konkurs zorganizowany
przez amerykaski NIST (National Institute of Standards and Technology). Wyoniona w ostatniej rundzie konkursu grupa najlepszych
algorytmw kryptograficznych zostaa poddana niezwykle gruntownym badaniom teoretycznym i szczegowej analizie ich walorw
praktycznych, zwaszcza implementacji sprztowych wybranej grupy szyfrw pod wzgldem oceny ich wydajnoci i przydatnoci
w przyszych systemach kryptograficznych. Analizowane implementacje szyfrw zostay zrealizowane w kilku orodkach akademickich
na podstawie tych samych zaoe funkcjonalnych, wsplnej metodologii i wsplnych narzdzi projektowania, tej samej technologii
i tych samych architektur ukadw rekonfigurowalnych. Za podstaw oceny implementacji zgoszonych na forum III Konferencji Kandydatw AES (Advanced Encryption Standard) posuyy przyjte
i uzgodnione wczeniej miary parametrw zwizanych z szybkoci
przetwarzania i zoonoci realizacji.
Gwnymi kryteriami przyjtymi przez NIST do oceny i kwalifikacji szyfrw w konkursie na nowy standard byy: bezpieczestwo,
efektywno w realizacjach sprztowych i programowych oraz elastyczno. Spord tych czterech parametrw efektywno realizacji sprztowej okazaa si szczeglnie wanym czynnikiem, umoliwiajcym zrnicowanie konkurujcych algorytmw, przy zaoeniu,
e:
M porwnanie byo oparte na zbiorze obiektywnych i zgodnie akceptowanych miar,
M istniay dostrzegalne rnice pomidzy kandydatami,
M ustalono wyran zgodno pomidzy wynikami uzyskanymi
przez niezalene grupy.
W celu osignicia wikszej jednolitoci i czytelnoci porwna
wynikw otrzymanych przez rne grupy, zaproponowano zgodn
terminologi, ktra moe by uyta do opisu rnych architektur
i parametrw wydajnoci szyfrw blokowych.

si zestawieniem parametrw uytkowych, wasnoci funkcjonalnych i charakterystyki procesu projektowania.


Do grupy parametrw uytkowych, ktre maj istotny wpyw na
efektywno przetwarzania danych, nale: moliwo przetwarzania rwnolegego i potokowego, zmienna dugo sowa i szybko
dziaania. Do najwaniejszych waciwoci funkcjonalnych, decydujcych o elastycznoci i bezpieczestwie implementacji kryptograficznej, zalicza si: moliwo wymiany algorytmu w trakcie pracy
(algorithm agility), zabezpieczenie przed penetracj (tamper resistance) i kontrol dostpu do kluczy. Charakterystyk procesu projektowania okrelaj midzy innymi: jzyki specyfikacji, dugo
cyklu projektowania, koszty narzdzi do projektowania, koszty testowania, utrzymania i modyfikacji. Z porwnania parametrw uytkowych wynika, e ukady ASIC i FPGA maj wyran przewag nad
implementacj programow pod wzgldem efektywnoci przetwarzania. Istotna rnica pomidzy technologi ASIC i FPGA dotyczy
szybkoci dziaania ukadw FPGA, ktre s wolniejsze, co wynika
z opnie wprowadzanych przez elementy programowalnych pocze i proces rekonfiguracji. Pod wzgldem funkcjonalnym nastpuje wiksze zrnicowanie: najwiksze bezpieczestwo zapewnia
ASIC, natomiast wad jest cakowity brak moliwoci modyfikacji.
W przypadku ukadw ASIC i FPGA proces projektowania jest podobny w sposobie specyfikacji (jzyk opisu sprztu), weryfikacji (symulator) i testowania (pyta prototypowa). Zasadnicza rnica pomidzy nimi polega na tym, e ukady FPGA nie wymagaj projektu
warstwy fizycznej (layout), wytwarzania i testowania defektw fizycznych. Konsekwencj tego s: znacznie krtszy cykl projektowania
i duo tasze narzdzia do projektowania i testowania. Z porwna
wynika, e implementacje oparte na FPGA maj przewag nad technologi ASIC pod wzgldem kosztw i dugoci cyklu opracowania
prototypu, moliwoci wielokrotnego i szybkiego rekonfigurowania
i moliwoci eksperymentalnego testowania duej liczby rnych architektur. Ponadto implementacje na ukadach FPGA zapewniaj
znacznie wyszy stopie zgodnoci i wiarygodnoci porwna. S
bowiem weryfikowane na podstawie dokadnych symulacji funkcjonalno-czasowych gotowych struktur i eksperymentalnego testowania prototypu.

Zaoenia, porwnywane parametry


i zasady projektowania
Oglny model sprztowej implementacji symetrycznych szyfrw
blokowych jest pokazany w formie schematu blokowego na rys. 8.
Wedug tego schematu zostay zrealizowane wszystkie szyfry
z ostatniej rundy konkursu AES. Schemat ten skada si z nastpujcych czci:
M moduu szyfrowania/deszyfrowania, w ktrym s kodowane i dekodowane bloki danych wejciowych,
M bloku generacji kluczy pochodnych, w ktrym wyznacza si zbir
kluczy wewntrznych na podstawie jednego klucza zewntrznego,
M pamici kluczy wewntrznych, w ktrej s przechowywane klucze utworzone w bloku generacji kluczy lub dostarczone przez interfejs wejciowy z zewntrz,

Wybr technologii
Algorytmy kryptograficzne mog by realizowane zarwno w formie programu, jak i sprztu. Implementacje programowe s projektowane i kodowane przy uyciu jzykw programowania, takich jak
C, C++, Java czy asembler, a nastpnie wykonywane w uniwersalnych mikroprocesorach, procesorach sygnaowych lub kartach inteligentnych. Implementacje sprztowe s projektowane i specyfikowane za pomoc jzykw opisu sprztu, takich jak VHDL i Verilog
HDL i realizowane z wykorzystaniem jednej z dwch technologii:
specjalizowanych ukadw scalonych typu ASIC lub rekonfigurowalnych matryc logicznych FPGA.
Do porwnania i oceny wymienionych technologii pod wzgldem
ich przydatnoci do zastosowa kryptograficznych mona posuy

414

O Rys. 8. Schemat blokowy realizacji sprztowej szyfrw blokowych

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

M interfejsu wejciowego, sucego do wprowadzania danych wejciowych i kluczy oraz do buforowania danych wejciowych oczekujcych na kodowanie/dekodowanie,
M interfejsu wyjciowego, uywanego do buforowania danych przetworzonych i przesyania ich do zewntrznej pamici,
M jednostki sterujcej, w ktrej s wytwarzane sygnay sterujce
prac pozostaych blokw.
W celu ujednolicenia procedury projektowania implementacji
szyfrw, przyjto wstpnie nastpujce zaoenia:
M dugo klucza 128 bitw, co upraszcza porwnywanie i analiz
M generowanie kluczy pochodnych na zewntrz,
M dugo bloku danych 128 bitw,
M dzielenie zasobw funkcjonalnych pomidzy cz szyfrujc
i deszyfrujc.
Poniej przedstawiono definicje parametrw uywanych do porwnywania szyfrw z punktu widzenia efektywnoci ich implementacji sprztowych.
Szybko szyfrowania (deszyfrowania) jest okrelana jako liczba bitw zaszyfrowanych (zdeszyfrowanych) w jednostce czasu.
Jednostk szybkoci jest Mbit/s.
Czas opnienia szyfrowania (deszyfrowania) (latency) jest
zdefiniowany jako czas niezbdny do zaszyfrowania (zdeszyfrowania) jednego bloku danych jawnych lub zaszyfrowanych. Jeeli
w aplikacji podczas jednej sesji s szyfrowane/deszyfrowane due
porcje danych, to szybko wyznacza cakowity czas wykonywania
tych operacji i jest najlepsz miar szybkoci szyfru.
Drugi wany parametr to powierzchnia zajmowana przez ukad,
gdy jest gwnym czynnikiem okrelajcym jego koszt. Przyjmuje
si, e z grubsza koszt ukadu scalonego jest wprost proporcjonalny do jego powierzchni. Dla cisoci naley jednak uwzgldni
koszt obudowy, na ktry ma wpyw liczba wyprowadze. W pewnych aplikacjach mog wystpi ograniczenia maksymalnej dostpnej powierzchni do realizacji moduu kryptograficznego, wynikajce
z kosztw dostpnej technologii wytwarzania, zuywanej mocy lub
kombinacji tych czynnikw, np. w inteligentnych kartach z mikrokontrolerem.
W ukadach ASIC powierzchnia wymagana do implementacji jest
zwykle wyraana w m2, cho s te uywane dwie miary wzgldne:
liczba tranzystorw i liczba bramek logicznych. Wartoci tych trzech
miar s ze sob cile skorelowane, ale relacje te trudno okreli.
W implementacjach FPGA jedyn uznan miar wielkoci ukadu
jest liczba komrek logicznych.
Struktura tworzenia projektu w rodowisku CAD do implementacji algorytmw w ukadach FPGA jest pokazana na rys. 9. Wszystkie
szyfry AES zostay w pierwszym kroku opisane w jzyku VHDL, a na-

Tryby pracy
Symetryczne szyfry blokowe s uywane w kilku trybach operacyjnych, ktre z punktu widzenia implementacji sprztowej mona
podzieli na dwie kategorie:
M tryby bez sprzenia zwrotnego, takie jak tryb elektronicznej
ksiki kodowej (ECB) i tryb licznikowy,
M tryby ze sprzeniem zwrotnym, jak tryb wizania blokw zaszyfrowanych (CBC), tryb sprzenia zwrotnego szyfrogramu (CFB)
i tryb sprzenia zwrotnego wyjciowego (OFB).
W trybach bez sprzenia zwrotnego szyfrowanie kadego kolejnego bloku danych moe by wykonane niezalenie od przetwarzania innych blokw. W trybach ze sprzeniem zwrotnym nie jest
moliwe rozpoczcie szyfrowania nastpnego bloku danych przed
zakoczeniem kodowania bloku biecego i wszystkie bloki musz
by szyfrowane sekwencyjnie. To ograniczenie nie dotyczy operacji
deszyfrowania, ktra moe by wykonywana rwnolegle na kilku
blokach szyfrogramu we wszystkich trybach. Zgodnie z obecnymi
standardami bezpieczestwa, szyfrowanie jest wykonywane przede
wszystkim z uyciem trybw sprzenia zwrotnego, jak CBC i CFB,
za tryby bez sprzenia zwrotnego s gwnie stosowane do szyfrowania kluczy podczas ich dystrybucji. Te wymagania bezpieczestwa uniemoliwiaj wykorzystanie w peni efektywnoci implementacji sprztowych opartych na rwnolegym przetwarzaniu wielu blokw danych.

Podstawowe architektury
Wybierajc architektur dla implementacji szyfrw w strukturach
FPGA, wystarczy ograniczy si do dwch typw: bazowej architektury iteracyjnej i architektury z rozwinit (czciowo lub w peni) ptl. Podstawow architektur sprztow stosowan do implementacji jednostki szyfrujcej/deszyfrujcej typowego szyfru blokowego
z tajnym kluczem pokazano na rys. 10a. Jedn rund szyfru zrealizowano jako ukad kombinacyjny, uzupeniony rejestrem i multiplekserem. W pierwszym cyklu zegara wejciowy blok danych jest podawany przez multiplekser i zapisywany w rejestrze. W kadym kolejnym cyklu zegara jest realizowana operacja jednej rundy
szyfrowania, a jej rezultat podawany zwrotnie do ukadu przez multiplekser i zapisywany nastpnie w rejestrze. Architektura bazowa
ma dwie cechy charakterystyczne:
M w tym samym czasie jest kodowany tylko jeden blok danych,
M liczba cykli zegara, koniecznych do zaszyfrowania jednego bloku
danych, jest rwna liczbie rund szyfru.
Architektura z czciowo rozwinit ptl jest przedstawiona na
rys. 10b. Jedyna rnica w porwnaniu z bazow architektur iteracyjn polega na tym, e cz kombinacyjna ukadu realizuje K rund
szyfrowania zamiast jednej. Liczba K musi by podzielnikiem cakowitej liczby rund. Liczba cykli zegara koniecznych do zaszyfrowania
jednego bloku danych jest K-krotnie mniejsza od liczby rund. Minimalny okres zegara wzrasta ze wspczynnikiem nieco mniejszym
ni K.

O Rys. 9. rodowisko projektowe CAD

stpnie zweryfikowane przy uyciu symulatora Active-HDL z firmy


ALDEC. Do korekcji bdw i weryfikacji kodw rdowych wykorzystano wektory testowe i porednie wyniki przetwarzania z opublikowanych wczeniej implementacji programowych. Przedstawione
raporty zawieraj powierzchni, szybko i inne dane o implementacji oraz zbiory danych do symulacji czasowej i do skonfigurowania
ukadu.

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

O Rys. 10. Podstawowe architektury szyfrw w trybach ze sprzeniem zwrotnym: a) bazowa architektura iteracyjna, b) z czciowo
rozwinit ptl, c) z ptl w peni rozwinit

415

Architektura z rozwinit w peni ptl jest pokazana na rys. 10c.


Schemat ten nie zawiera wejciowego multipleksera ani linii sprzenia zwrotnego. Dziki temu jest moliwy niewielki wzrost szybkoci i zmniejszenie powierzchni ukadu w porwnaniu z architektur
o czciowo rozwinitej ptli zawierajcej tak sam liczb rund.
Z przegldu architektur wynika, e do implementacji szyfrw AES
w ukadach FPGA optymalny wybr stanowi bazowa architektura iteracyjna. Zapewnia ona maksymalny wspczynnik szybko/powierzchnia dla trybw operacyjnych ze sprzeniem zwrotnym
(CBC, CFB), uywanych powszechnie do szyfrowania masowych
danych i gwarantuje szybkoci i powierzchnie bliskie optymalnym.
Wydaje si bardzo prawdopodobne, e architektura ta bdzie powszechnie stosowana w wikszoci aplikacji. Jest take wzgldnie
atwa do implementacji w podobny sposb dla wszystkich szyfrw
AES, dziki czemu umoliwi bardziej miarodajne porwnanie.

PRODUKTY WIRTUALNE
NOWA OFERTA
NA RYNKU TELEKOMUNIKACJI
Wraz z wprowadzeniem struktur reprogramowalnych pojawiy si
jeszcze inne moliwoci aplikacyjne. Wynikaj one nie tylko z poprawy parametrw funkcjonalnych i czasowych oraz zmian w architekturze logicznej, ale rwnie z samej istoty reprogramowalnoci. Jeden z kierunkw takich aplikacji okrela koncepcja produktu wirtualnego systemu, funkcji lub ukadu scalonego, ktre nie istniej
w rzeczywistoci materialnej, ale potencjalnie mog by w kadej
chwili zrealizowane. Takie ukady wirtualne to zarwno gotowe produkty o zmiennych funkcjach i waciwociach, jak rwnie elastyczne klocki, z ktrych mona konstruowa wiksze systemy.
Powsta ogromny rynek wirtualnych produktw specjalizowanych, tzw. rynek wasnoci intelektualnej IP (Intellectual Property Business) zawartej w ukadach zaprojektowanych w postaci kodw
rdowych jzykw HDL. Dziaalnoci tak zajmuj si m.in. firmy:
ALTERA, XILINX INC., TILAB, CAST INC., inSILICON CORPORATION, DIGITAL COMMUNICATION TECHNOLOGIES, IP SEMICONDUCTORS, a w Polsce DIGITAL CORE DESIGN. Typow ofert tych
firm s wanie ukady DSP, a w szczeglnoci: kodery FFT i DCT,
ukady kryptograficzne, komutatory i rutery ATM, dekodery Viterbiego dla sieci LAN, skramblery i deskramblery itp.
Rynek produktw wirtualnych to jednoczenie ogromne wyzwanie dla zaawansowanych metod optymalizacji logicznej. Wynika to
z faktu, e konkurencj na tym rynku bd wygrywa tylko najlepsze
produkty. Do ich realizacji zostan wykorzystane zaawansowane
metody syntezy, niejednokrotnie wystpujce wycznie w specjalistycznym oprogramowaniu uniwersyteckim. Dua zoono struktur FPGA, a take ich nietypowe konstrukcje (komrki), spowodoway wzrost roli i znaczenia zaawansowanych procedur syntezy logicznej.
Wpyw zaawansowanych procedur syntezy logicznej na jako
implementacji sprztowych ukadw przetwarzania informacji i sygnaw jest szczeglnie znaczcy w algorytmach wykorzystujcych
struktury tablicowe typu LUT. Struktury takie s powszechnie stosowane w filtrach cyfrowych, ukadach transformacji falkowej [31],
w szczeglnoci do realizacji wykorzystujcych arytmetyk rozproszon [26], a take w algorytmach kryptograficznych, korzystajcych z tzw. blokw permutacyjno-podstawieniowych.
W Zakadzie Podstaw Telekomunikacji IT-PW opracowano
specjalistyczne oprogramowanie do optymalizacji implementacji
sprztowych struktur typu LUT. Oprogramowanie to nazwane
DEMAIN [21], [22], [27] jest dostpne nieodpatnie na
stronie internetowej Zakadu Podstaw Telekomunikacji IT-PW:
http://www.zpt.tele.pw.edu.pl. W systemie DEMAIN, jako gwn
procedur syntezy logicznej zorientowanej na struktury FPGA,
wykorzystuje si tzw. algorytm dekompozycji zrwnowaonej. Skuteczno tego oprogramowania mona oceni na podstawie eksperymentw przeprowadzonych z realizacjami ukadw cyfrowych
wyposaonych w struktury specyfikowane tablicami LUT.
Eksperymenty te polegay na implementacji typowych ukadw
cyfrowych gwnie z dziedziny teleinformatyki za pomoc rnych systemw projektowania, a nastpnie na porwnaniu ich realizacji pod wzgldem liczby uytych komrek odpowiedniej struktury
FPGA. Wymowa przeprowadzonych eksperymentw jest znaczca,

416

bowiem do projektowania uyto systemw renomowanych firm


wiatowych, takich jak Altera, Synopsys, Exemplar i Xilinx.
W szczeglnoci zrealizowano i porwnano nastpujce ukady:
M bin2bcd1 konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 99,
M bin2bcd2 konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 355,
M DESboxes zesp skrzynek podstawieniowych szyfru DES,
M rd88 sbox z algorytmu kryptograficznego Rijndael,
M DESaut kombinacyjn cz ukadu sekwencyjnego z implementacji algorytmu kryptograficznego DES,
M 5B6B kombinacyjn cz ukadu kodera 5B-6B.
W tabeli 1 przedstawiono wyniki porwnania metody wykorzystujcej dekompozycj zrwnowaon, zaimplementowan w systemie
DEMAIN, z metodami zaimplementowanymi w systemach: SIS,
FPGA Express, Leonardo Spectrum i MAX+PlusII. Przykadowe
ukady zostay zaimplementowane w strukturach FPGA z rodziny
O Tabela 1. Wyniki implementacji rzeczywistych ukadw przy uyciu
rnych narzdzi syntezy logicznej
Architektura FPGA
EPF10K10LC84-3
Przykad

DEMAIN

MAX
+Plus II

FPGA
Express

Leonardo
Spectrum

SIS

liczba komrek logicznych


bin2bcd1

13

131

30

30

bin2bcd2

39

505

225

120

136

DESboxes

184

585

486

192

rd88

167

332

341

245

248

DESaut

28

46

25

30

32

5B6B

41

92

100

49

51

FLEX. W tabeli podano liczb komrek logicznych wymaganych do


implementacji poszczeglnych ukadw. Z podanych rezultatw wynika, e realizacja za pomoc metody wykorzystujcej dekompozycj zrwnowaon jest najoszczdniejsza pod wzgldem liczby zajtych komrek i wygrywa nawet z realizacj osignit za pomoc
uniwersyteckiego systemu SIS [35], opracowanego na Uniwersytecie Kalifornijskim w Berkeley.
W szczeglnoci warto zwrci uwag na implementacj konwertera kodu binarnego na kod BCD (wersja 1) oraz na implementacje skrzynek podstawieniowych (s-box) szyfrw DES i Rijndael.
Jak wida, wspomaganie procesu projektowania zaawansowanymi
procedurami syntezy logicznej prowadzi do rezultatw niemoliwych do uzyskania nawet za pomoc najlepszych systemw komercyjnych. Trzeba rwnie podkreli, e na jako powyszych implementacji w systemach komercyjnych nie maj wpywu nawet najlepsze kompilatory jzykw HDL. Konwerter BIN2BCD1 jest typowym
przykadem takiej sytuacji. Ot konwerter ten mona zaprojektowa bd to w strukturze zbudowanej z blokw funkcjonalnych wedug tzw. algorytmu +31), bd te jako ukad kombinacyjny realizujcy bezporednio tablic LUT konwertera. W obu przypadkach
struktur konwertera mona zapisa w jzykach opisu sprztu, np.
AHDL lub VHDL. Opisujc realizacj wedug algorytmu +3 w jzyku
VHDL i dokonujc odpowiedniej kompilacji w systemie MAX+PLUS
II amerykaskiej firmy Altera, uzyskuje si realizacj ukadu
BIN2BCD1 na 62 komrkach struktury FLEX 10K [23]. Ten sam
ukad opisany tablic prawdy (w specyfikacji VHDL instrukcjami
CASE) i skompilowany w tym samym systemie Altery zajmuje 131
komrek FLEX. Ale wprowadzajc tablic prawdy ukadu
BIN2BCD1 do systemu DEMAIN i dokonujc odpowiedniej dekompozycji, uzyskuje si realizacj tego samego konwertera na
zaledwie 13 komrkach struktury FLEX czyli 10 razy lepiej.
Nie mniej intrygujce s wyniki implementacji skrzynek S-box
algorytmw kryptograficznych DES i Rijndael.
Istotne jest, e wykorzystanie tak zrealizowanych blokw permutacyjnych do budowy moduu rundy DES, a nastpnie moduu cie-
1)
Dokadny opis takiej realizacji mona znale w ksice [21]

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

ki przepywu danych nie wymaga adnych dalszych zmian w innych


plikach skadowych projektu. Implementacje cieki przepywu danych w strukturze rodziny FLEX10K program DEMAIN redukuje do
296 komrek logicznych. W porwnaniu do 709 komrek niezbdnych do realizacji tego bloku bez zastosowania programu DEMAIN
stanowi to ponad dwukrotn redukcj wymaganych zasobw. Optymalizacja z uyciem systemu DEMAIN poprawia take maksymalna
czstotliwo taktowania moduu DES. Wzrosa ona o ponad 51,5
MHz. Poniewa do zaszyfrowania jednego bloku danych tekstu jawnego potrzeba 16 cykli, szacunkowa szybko szyfrowania P tego
moduu wynosi:
P = 51,5 MHz/16 64 bity = 206 Mbit/s.
Oznacza to prawie dwukrotny wzrost szybkoci szyfrowania bloku cieki przepywu danych.
Podobnie jak w przypadku bloku rundy zrealizowanego bez wykorzystania dekompozycji, rzeczywista szybko ukadu realizujcego cay algorytm DES bdzie zaleaa od sposobu realizacji pozostaych moduw tego algorytmu, a wic moduu sterowania i moduu generacji podkluczy.
Tak zoptymalizowany blok rundy umoliwia realizacj caej cieki rozpywu danych w sposb potokowy. Specyfikacj takiej realizacji w jzyku AHDL podano w tabeli 2. Wykorzystano tu zmodyfikowany blok rundy (desroundp). Modyfikacja polega na dodaniu na
wyjciu moduu odpowiedniego rejestru. Umieszczenie 16 blokw
tak zmodyfikowanych blokw rundy w acuchu zapewnia znacznie
efektywniejsz prac ukadu, gdy dane mog by szyfrowane potokowo. Ukad wymaga 4346 komrek logicznych i moe pracowa
z szybkoci P = 86,9 MHz 64 bity 5 Gbit/s.
O duej skutecznoci systemu DEMAIN wiadczy rwnie realizacja szyfru HIEROCRYPT, wykonana w ramach pracy magisterskiej
na Wydziale Cybernetyki WAT [34]. Efektem jego zastosowania bya redukcja zasobw sprztowych z ok. 22 tys. komrek logicznych
do 10 tys., a take 5-krotne przypieszenie dziaania ukadu. Praca
ta zdobya I nagrod w konkursie na najlepsz prac magistersk,
zorganizowanym w ramach konferencji ENIGMA.
Przeprowadzone eksperymenty w peni potwierdzaj tez, e komercyjne systemy projektowania ukadw cyfrowych niejednokrotnie realizuj projekty dalekie od rozwiza optymalnych pod wzgldem zajtoci zasobw sprztowych. Sytuacja ta jest szczeglnie
niepokojca dla najnowszych ukadw reprogramowalnych typu
O Tabela 2. Specyfikacja rozpywu danych w jzyku AHDL
OPTIONS BIT0 = MSB;
INCLUDE "iniperm";
INCLUDE "desroundp";
INCLUDE "invperm";
SUBDESIGN datapathp(
clk
: INPUT;
plaintext[1..64]
: INPUT;
subkey[1..16][1..48]
: INPUT;
encrypteddata[1..64]
: OUTPUT;
)
VARIABLE
ip
: iniperm;
round[1..16]
: desroundp;
invp
: invperm;
BEGIN
round[].clk = clk;
ip.IN[] = plaintext[];
round[1].R[] = ip.OUT[33..64];
round[1].L[] = ip.OUT[1..32];
round[1].K[] = subkey[1][];
FOR i IN 1 TO 15 GENERATE
round[i+1].R[] = round[i].NEXTR[];
round[i+1].L[] = round[i].NEXTL[];
round[i+1].K[] = subkey[i+1][];
END GENERATE;
invp.IN[] = (round[16].NEXTR[],round[16].NEXTL[]);
encrypteddata[] = invp.OUT[];
END;

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

FPGA i FLEX. Przyczyna tego zjawiska tkwi w niedostosowaniu procedur syntezy logicznej, ktre w systemach komercyjnych s z reguy realizowane wedug klasycznych metod minimalizacji funkcji
boolowskich i nie uwzgldniaj metod dekompozycji funkcjonalnej
[22]. Zatem stosowanie zaawansowanych systemw uniwersyteckich niejednokrotnie moe si przyczyni do sukcesu rynkowego,
w szczeglnoci specyficznej techniki ukadw FPLD.

Omwione w artykule zastosowania ukadw reprogramowalnych w cyfrowym przetwarzaniu sygnaw i kryptografii, dziki moliwoci zmiany konfiguracji w trakcie pracy i elastycznemu wykorzystywaniu zasobw sprztowych, zapewniaj ich wykorzystanie do
realizacji zoonych algorytmw obliczeniowych. W poczeniu
z moliwociami wspierania procesw optymalizacji komercyjnych
systemw zaawansowanymi systemami syntezy i optymalizacji logicznej stwarza to szans dla rozwoju rodzimych opracowa urzdze telekomunikacyjnych. Jest ona szczeglnie widoczna w systemach multimedialnych i kryptograficznych, dla ktrych istotniejsze
s parametry techniczne, wynikajce z istoty reprogramowania, ni
jednostkowy koszt produkcji.

LITERATURA
[1] Arnold J. M.: The Splash 2 software environment. In D. A. Buell and
K. L. Pocek, editors, Proceedings of IEEE Workshop on FPGAs for
Custom Computing Machines, Napa, CA, April, 1993
[2] Arnold M., Buell D. A. and Davis E. G.: VHDL programming on
Splash 2. In More FPGAs: Proceedings of the 1993 International
Workshop on Field-Programmable Logic and Applications, Oxford,
England, September 1993
[3] Arnold, D. A. Buell, and E. G: Davis. Splash 2. In Proceedings of the
4th Annual ACM Symposium on Parallel Algorithms and Architectures, June 1992
[4] Bertin P. and Touati H.: PAM programming environments: Practice
and experience. In D. A. Buell and K. L. Pocek, editors, Proceedings
of IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1994
[5] Connor T., Deng S., Marchant S.: Cryptographic Coprocesor with
Algorithm Agility, Worcester Polytechnic Institute, Worcester, March
1999
[6] Elbirt A. J., Yip W., Chetwynd B., Paar C.: An FPGA implementation
and performance evaluation of the AES block cipher candidate algorithm finalists, Proc. 3rd Advanced Encryption Standard (AES) Candidate Conference, New York, April 13-14, 2000
[7] Gaj K., Chodowiec P.: Comparison of the hardware performance of
the AES candidates using reconfigurable hardware, Proc. 3rd Advanced Encryption Standard (AES) Candidate Conference, New York,
April 13-14, 2000
[8] Gokhale M., Holmes W., Kopser A., Lucas S., Minnich R., Swelly D.,
and Lopresti D.: Building and using a highly parallel programmable
logic array. IEEE Computer, 24 (1), January 1991
[9] Gokhale M., Kopser A., Lucas S. and Minnich R.: The logic description generator. Technical Report SRC-TR-90-011, Suprtcomputer
Research Center (SRC), 1990
[10] Gokhale M. and Schott B.: Data Parallel C on a reconfigurable logic
array. Journal of Supercomputing, 9 (3), 1994
[11] Guccione S. A., Delon L., Downs D.: A reconfigurable content addressable memory, Parallel and Distributed Processing. SpringerVerlag, Berlin, May 2000
[12] http://www.altera.com
[13] http://www.atmel.com
[14] http://www.windriver.com
[15] http://pw1.netcom.com
[16] http://www.tsi-telsys.com
[17] http://www.xilinx.com
[18] IEEE Computer Society, Proceedings of IEEE Workshop on FPGAs
for Custom Computing Machines, 1993-1996
[19] Jachna Z.: Analiza metod specyfikacji ukadw cyfrowych z punktu
widzenia optymalizacji logicznej i odwzorowania technologicznego.
Rozprawa doktorska, WAT, Warszawa 2002
[20] Jasiski K., Zbysiski P.: Rekonfigurowalny koprocesor systemowy:
uniwersalna platforma obliczeniowa, Przegld Telekomunikacyjny
i Wiadomoci Telekomunikacyjne, nr 10, 2000
[21] uba T., Zbierzchowski B.: Komputerowe projektowanie ukadw cyfrowych. Wydawnictwa Komunikacji i cznoci, Warszawa 2000
[22] uba T.: Synteza ukadw logicznych, Wysza Szkoa Informatyki
Stosowanej i Zarzdzania, wyd. 2, poprawione i rozszerzone, Warszawa 2001

417

[23] uba T., Zbierzchowski B., Zbysiski P.: Ukady reprogramowalne dla
potrzeb telekomunikacji cyfrowej. Przegld Telekomunikacyjny
i Wiadomoci Telekomunikacyjne, nr 5, 2002
[24] uba T. (red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza ukadw cyfrowych. WK Warszawa (przewidywany termin wydania listopad 2003)
[25] Mosanya E. et al.: CryptoBooster: A Reconfigurable and Modular
Cryptographic Coprocesor, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August
1999
[26] Meyer-Baese U.: Digital Signal Processing with Field Programmable
Gate Arrays, Springer Verlag, Berlin 2001
[27] National Security Agency, Initial plans for estimating the hardware
performance of AES submissions http://csrc.nist.gov/encryption/
aes/round2/round2.htm
[28] Nowicka M., Rawski M., uba T.: DEMAIN an Interactive Tool for
FPGA-Based Logic Decomposition, Proceedings of the 6th International Conference Mixed Design of Integrated Circuits and Systems,
Krakw 1999
[29] IFAC Workshop on Programmable Devices and Systems (E. Hrynkiewicz chairman), PDS2001, materiay konferencyjne, Gliwice 2001
[30] Pasierbiski J., Zbysiski P.: Ukady programowalne w praktyce,
WK, Warszawa 2001
[31] Rakowski W.: O implementacjach sprztowych transformacji falkowej. Przegld Telekomunikacyjny i Wiadomoci Telekomunikacyjne,
nr 23, 2003

418

[32] Rawski M., Jwiak L., uba T.: Functional decomposition with an efficient input support selection for sub-functions based on information
relationship measures. Journal of Systems Architecture, 47, Elsevier
Science B. V., 2001
[33] Reprogramowalne ukady cyfrowe (J. Sodek przewodniczcy Komitetu Programowego), materiay IV Konferencji Naukowej, Szczecin 2001
[34] Rogowski M.: Implementacja algorytmu HIEROCRYPT w strukturach
programowalnych. Praca magisterska, WAT, 2003
[35] Sentovich E., et al.: SIS: A system for Sequential Circuits Synthesis. Electronics Research Laboratory Memorandum, No.
VCB/ERLM92/41, University of California, Berkeley, 1992
[36] Tessier R., Burlesson W.: Reconfigurable Computing for Digital
Signal Processing: A Survej. Journal of VLSI Signal Processing, 28,
2001
[37] Taylor R., Goldstein S.: A High-Perfomance Flexible Architecture for
Cryptography, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August 1999
[38] Vuillemin Bertin P., Roncin D., Shand M., Touati H., and Boucard P.:
Programmable active memories: Reconfigurable systems come of
age. IEEE Transactions on VLSI Systems, 4 (1), 1996
[39] Wiatr K.: Sprztowe implementacje algorytmw przetwarzania obrazw w systemach wizyjnych czasu rzeczywistego. AGH, Krakw
2002
[40] Zbysiski P.: Rekonfigurowalne ukady FPSLIC firmy Atmel, Elektronizacja nr 782000

PRZEGLD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 89/2003

You might also like