Projekt i weryfikacja praktyczna podstawowych - kik

Transkrypt

Projekt i weryfikacja praktyczna podstawowych - kik
Robert Berezowski
Magdalena Rajewska
Dariusz Gretkowski
Piotr Pawłowski
Politechnika Koszalińska
Wydział Elektroniki
ul. Śniadeckich 2, 75-453 Koszalin
email: [email protected]
Projekt i weryfikacja praktyczna
podstawowych bloków układów FPGA
zbudowanych w oparciu o bramki prądowe
Słowa kluczowe: logika prądowa, bramki prądowe, układ FPGA, testowanie układów FPGA
STRESZCZENIE
W niniejszej pracy przedstawiono podstawowe bloki układu reprogramowalnego FPGA zbudowane
w oparciu o bramki prądowe, oraz ich realizację i weryfikację praktyczną w układzie scalonym ASIC.
Prowadzone badania zostały wykonane w ramach projektu badawczego KBN 3T11B 059 26, w którym autorzy
pełnili role wykonawców. Wyniki badań potwierdzają tezę, iż układy cyfrowe zbudowane z bramek prądowych
generują kilkukrotnie mniejsze zakłócenia w porównaniu z ich odpowiednikami napięciowymi, co pozwała na
stosowanie bramek prądowych w mieszanych jednoukładowych systemach analogowo-cyfrowych.
1.
WPROWADZENIE
Szybki rozwój współczesnej technologii VLSI już teraz umożliwia realizację całego
wyspecjalizowanego systemu na jednym podłożu (ang. System-on-Chip). Głównym
przeznaczeniem takich systemów jest praca z rzeczywistymi sygnałami. Z tego powodu
realizacja większości zadań współczesnego przetwarzania sygnałów wymaga wykorzystania
mieszanych systemów obliczeniowych składających się z części cyfrowej wykonującej
obliczenia i części analogowej stanowiącej interfejs pomiędzy częścią cyfrową, a
zewnętrznym światem sygnałów analogowych. Jednak na przeszkodzie do praktycznej
realizacji mieszanego jednoukładowego systemu SoC stoi problem zmniejszenia wpływu
części cyfrowej układu na jego część analogową (tzw. zakłóceń podłożowych). Skutecznym
sposobem rozwiązania wymienionego problemu jest realizacja cyfrowej części układu w
oparciu o bramki prądowe [1,2,3], czyli takie, w których zero logiczne odpowiada prądowi
równemu zero, a jedynka – pewnej, arbitralnie przyjętej wartości prądu. Główną cechą
bramek prądowych jest stała wartość pobieranego prądu w różnych trybach ich pracy (np. w
stanach logicznego zera i jedynki). Z tego powodu cechują się one wielokrotnie mniejszym
poziomem pasożytniczych sprzężeń podłożowych, stąd w znacznie mniejszym stopniu
zakłócają układy analogowe w porównaniu z układami napięciowymi. Oprócz tego,
wcześniejsze badania sposobów projektowania cyfrowych układów prądowych, jak też
eksperymenty elektroniczne z wyprodukowanymi w technologiach CMOS 0,8 μm i 0,6 μm
bramkami i układami prądowymi wykazały, że standardowe układy cyfrowe (np. sumatory,
III Krajowa Konferencja Elektroniki
—1—
bloki operacyjne ALU itd.) zbudowane w oparciu o bramki prądowe są prostszymi logicznie
(pod względem liczby wykorzystanych bramek do 50%) od ich prototypów zbudowanych w
oparciu o klasyczne bramki napięciowe. Stwarza to podstawę do opracowania mieszanych
analogowo-cyfrowych układów na wspólnym podłożu, w tym układów reprogramowalnych,
w których część analogowa jest zbudowana w oparciu o standardowe analogowe układy
reprogramowalne FPAA, natomiast cyfrowa część przedstawia sobą układ FPGA zbudowany
w oparciu o bramki prądowe.
W wyniku przeprowadzonej analizy istniejących rodzin układów FPGA różnych firm,
jako prototyp funkcjonalny układu prądowego FPGA wybrany został blok SLICE układu
FPGA Spartan II firmy Xilinx. Wybór rzeczywistego układu FPGA jako wzorca miał na celu
sprawdzenie tezy, iż stosując bramki prądowe, możliwe jest zbudowanie dowolnie złożonego
systemu cyfrowego, a opracowane reguły algebry prądowej i sposoby minimalizacji funkcji
logicznych, umożliwiają otrzymanie układów prądowych o parametrach porównywalnych z
ich prototypami napięciowymi. W związku z tym, w niniejszej pracy przedstawiono
podstawowe bloki układu reprogramowalnego funkcjonalnie zgodne z odpowiednimi blokami
układu Spartan II, lecz zbudowane w oparciu o bramki prądowe, oraz ich realizację i
weryfikację praktyczną w układzie scalonym ASIC. Wyniki badań potwierdzają tezę, iż
układy cyfrowe zbudowane z bramek prądowych generują kilkukrotnie mniejsze zakłócenia
w porównaniu z ich odpowiednikami napięciowymi (przykładowo, fluktuacje wartości
natężenia prądu w linii zasilania układów prądowych mieszczą się w zakresie około 10%
wartości natężenia prądu przypisanej jedynce logicznej), co pozwala na stosowanie bramek
prądowych w mieszanych systemach analogowo-cyfrowych.
OPIS UKŁADU SCALONEGO
5
4
3
2
1
12
84
83
82
81
80
UmemCLK1
GND
UmemCLK2
UmemIN
YmemA
YmemT1
YmemT2
YmemT3
VDD
YmemOUT
2.
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
UKŁAD
ASIC
ULFIFO
YLFIFO
ULFRAM
YLFRAM
ULGFIFO
YLGFIFO
ULGRAM
YLGRAM
ULROM
YLROM
39
40
41
42
43
44
45
46
47
48
Ibias
WBX
WBY
WCE
WCIN
WCLK
WF1
WF2
WF3
WF5
WG1
WG2
WG3
WGSR
WLgtest11
WLgtest13
WLgtest16
WSR
Wtest08
Wtest09
Rys. 1. Opis wyprowadzeń układu ASIC
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
ZCOUT
ZF5
ZLgtest10
ZLgtest12
ZLgtest14
ZLgtest15
ZLgtest17
Ztest01
Ztest02
Ztest03
Ztest04
Ztest05
Ztest06
Ztest07
ZX
ZXB
ZXQ
ZY
ZYB
ZYQ
W obrębie prac nad weryfikacją praktyczną
opracowanych układów prądowych opracowano
projekt układu ASIC do testowania prototypów
prądowych bloków SLICE układu FPGA
SPARTAN
II,
którego
wyprowadzenia
przedstawiono na Rys. 1. Projekt wykonano
kierując się regułami procesu technologicznego
CMOS AMS 0.6μ firmy Austria Mikro Systeme,
o minimalnej długości kanału tranzystora MOS
0,6 μm. Zaprojektowany układ ASIC zawiera
jeden blok SLICE z odpowiednim fragmentem
pamięci konfiguracyjnej. Wyprowadzenia układu
scalonego umożliwiają dostęp do wszystkich
zewnętrznych wejść i wyjść bloku SLICE i
pamięci konfiguracyjnej. Ponadto, układ zawiera
17 dodatkowych wyprowadzeń ułatwiających
testowanie bloku SLICE.
Układ SLICE posiada 14 wejść i 8 wyjść prądowych oraz 32 wejścia pamięci
konfiguracyjnej. Przy projektowaniu struktury wewnętrznej bloku SLICE, szczególną uwagę
zwrócono na opracowanie możliwie najprostszego, pod względem liczby bramek, układu
LUT (ang. Look-Up-Table). Blok LUT pełni w układzie SLICE funkcję 8-komórkowego
bloku pamięci typu RAM, ROM lub FIFO, lub funkcję jednostki arytmetyczno-logicznej.
Pełny funkcjonalny analog 8-komórkowego bloku LUT zbudowany w oparciu o bramki
prądowe przedstawiony został na Rys. 2. Zawiera on osiem przerzutników typu D i niezbędne
—2—
Rys. 2. Schemat bloku LUT zbudowanego w oparciu o bramki prądowe
układy sterujące. Przerzutnik sterowany zboczem sygnału zegarowego jest podstawowym
elementem tego układu. Przerzutnik ten jest zbudowany z dwóch połączonych szeregowo
przerzutników typu D (Rys. 3) działających w trybie master-slave. Na schemacie
przedstawionym na Rys. 2, sygnały G1-G3 oznaczają wejścia układu LUT, O – wyjście
układu, RAM, ROM i FIFO – wejścia sterujące określające tryb pracy układu, DI – wejście
układu, WS – wejście sterujące zapisem i odczytem danych do układu LUT. Dekoder układu
LUT (DC) ma 8 wyjść i jest zbudowany na bazie dekodera dwójkowego przedstawionego na
Rys. 4 (bez bramek inwerterów na wyjściu). Oprócz układu LUT opracowano bloki prądowe
szybkiego przeniesienia oraz sterowania układu SLICE. W wyniku powstał prototyp prądowy
całego układu SLICE przedstawiony na Rys. 5, gdzie grube linie oznaczają magistrale.
Dodatkowo, na Rys. 5 pokazano przepływ sygnałów w układzie SLICE przy realizacji w nim
2-bitowego fragmentu sumatora równoległego (linie kreskowane), gdzie przez Ax, Bx, Ax+1,
Bx+1 oznaczono odpowiednie bity argumentów A i B, Sx i Sx+1 reprezentują 2-bitowe
wyjście sumatora, a Coutx+1 reprezentuje wartość przeniesienia wyjściowego.
Rys. 3. Schemat przerzutnika D pracującego w układzie LUT
Rys. 4. Schemat dekodera DC z układu LUT
Przerzutniki PW1 i PW2 na Rys. 5 są przerzutnikami typu D, które mogą być
konfigurowane jako przerzutniki przełączane zboczem lub poziomem sygnału zegarowego.
Poza tym, istnieje możliwość ustawienia tych przerzutników w stan logicznego zera lub
III Krajowa Konferencja Elektroniki
—3—
jedynki za pomocą wejść S i R. Przykładowa realizacja opisanych przerzutników na
bramkach prądowych przedstawiona jest na Rys. 6.
Rys. 5. Realizacja fragmentu wielobitowego sumatora (2-bity) zbudowanego w oparciu o prądowy układ FPGA
Należy zaznaczyć, że wprowadzenie tranzystorów do układu prądowego SLICE
spowodowane jest zastosowaniem pamięci konfiguracyjnej pracującej w trybie napięciowym
(Rys. 7). Badania wykazały, że najlepszym rozwiązaniem technicznym ze względu na pobór
prądu i zajmowaną w układzie scalonym powierzchnię, jest realizacja komórek tej pamięci w
oparciu o klasyczne bramki napięciowe. Ponieważ podczas normalnej pracy układu (w
odróżnieniu od trybu programowania) zawartość pamięci konfiguracyjnej się nie zmienia,
bramki nie zmieniają swojego stanu, tzn. nie generują zakłóceń.
Rys. 6. Realizacja przerzutników PW1 i PW2
3.
Rys. 7. Realizacja fragmentu pamięci konfiguracyjnej
TESTOWANIE UKŁADÓW PRĄDOWYCH
Dla testowania układu zaprojektowana została płytka pomiarowa zawierająca 24
konwertery sygnału z napięcia na prąd i 18 konwerterów z prądu na napięcie oraz umożli-
—4—
wiająca umieszczenie i połączenie między sobą dwóch układów scalonych w celu zwiększenia liczby bloków SLICE. Zdjęcie płytki pomiarowej z układem scalonym przedstawiono na
Rys. 8. W projekcie płytki drukowanej przewidziano zastosowanie trzech odrębnych układów
zasilania. W celu zwiększenia dokładności pomiarów dynamicznych przebiegów prądowych
badanego układu na płytce umieszczono różnicowe wzmacniacze pomiarowe. Realizacja
procedury pomiaru parametrów elektronicznych układu była wspomagana przez pakiet
oprogramowania WaveStar firmy Tektronix zainstalowany na komputerze PC i
współpracującego poprzez złącze RS232 z dwukanałowym oscyloskopem cyfrowym TDS
340A. Podczas testowania układu w sposób eksperymentalny został określony najlepszy
poziom jedynki logicznej (dla technologii realizacji układu i wybranych rozmiarów
tranzystorów), który wynosi 30 μA. Przy takim poziomie jedynki logicznej jednowyjściowa
bramka pobiera prąd 30 μA od źródła zasilania, i prąd ten rośnie wprost proporcjonalnie ze
zwiększeniem liczby wyjść bramki. W ramach prac nad badaniem zakłóceń podłożowych w
wyprodukowanym układzie scalonym potwierdzono, że dla takiego samego napięcia zasilania
oraz czasu narastania przebiegu cyfrowego, układy prądowe generują kilkukrotnie mniejsze
(co do wartości międzyszczytowej) zakłócenia w porównaniu z ich odpowiednikami
napięciowymi. Stwierdzono, że wartość zakłóceń, oprócz odległości odbiornika od źródła
oraz stromości zboczy sygnału cyfrowego, zależy również od przyjętego poziomu logicznej
jedynki. Należy zaznaczyć, że w przypadku układów pracujących w trybie prądowym poziom
ten może być arbitralnie przyjęty, a nawet może być zmieniany w trakcie pracy układu. Tym
samym rezygnując z dużej szybkości działania układu, dla prądu jedynki logicznej o wartości
dużo mniejszej od maksymalnej można uzyskać nawet o kilka rzędów mniejsze zakłócenia w
porównaniu z generowanymi przez klasyczne bramki napięciowe. Dodatkową zaletą
zmniejszenia poziomu prądu odpowiadającego logicznemu 1, a tym samym prądu
pobieranego przez bramkę, jest zmniejszenie wartości prądu pobieranego ze źródła zasilania
przez cały układ. W wyniku badań eksperymentalnych ustalono, że fluktuacje wartości prądu
w linii zasilania bramki prądowej mieszczą się w zakresie około 10% prądu jedynki logicznej,
co oznacza przykładowo wahania od 36 do 44 μA dla prądu jedynki logicznej wynoszącego
40 μA. Z kolei dla bramek napięciowych te fluktuacje osiągają wartości nawet do 1mA.
Rys. 8. Zdjęcie płytki pomiarowej z układem scalonym
III Krajowa Konferencja Elektroniki
—5—
W celu sprawdzenia możliwości funkcjonalnych układu zaprojektowane i zrealizowane
zostało stanowisko pomiarowe składające się (oprócz wyżej opisanej płytki pomiarowej) z
płytki Xess (XS40 v1.1) zawierającej odpowiednio zaprogramowany układ FPGA Xilinx
XC4010XLPC84-3 oraz komputer klasy PC AT ze specjalnie opracowanym przez członków
zespołu badawczego programem komunikacyjno-testowym. Program ten pozwala na
przesyłanie przez port równoległy PC w jednym cyklu 24 bitów informacji testowej i
odebranie 18 bitów wyników. Przewidziano także możliwość wcześniejszego przygotowania
danych testowych w postaci tablicy (której przykład pokazano na Rys. 9), do której mogą być
w trakcie testowania dopisywane rezultaty. Testowanie możliwości funkcjonalnych układu
scalonego polegało na implementacji w nim różnych układów cyfrowych, zaczynając od
najprostszych (pojedyncza bramka logiczna) po bardziej skomplikowane – układy sumatorów
różnego typu i bloki mnożenia dwóch liczb dwubitowych. Implementacja dowolnego z
wymienionych układów wymagała sformowania dwóch tablic danych przedstawionych w
postaci plików binarnych. Pierwsza tablica odpowiada za konfigurację układu scalonego –
zawiera ona wartości wprowadzane do pamięci konfiguracyjnej. Zawartośc tej tablicy można
określić „ręcznie” lub za pomocą opracowanej w ramach projektu badawczego
zautomatyzowanej procedury projektowania i implementacji w układów prądowych FPGA,
która jest szczegółowo opisana w pracy [4]. Druga tablica decyduje, jakie wartości mają
pojawiać się na wejściach odpowiednio skonfigurowanego już układu. Przykłady obu tablic
dla konfiguracji i testowania sumatora szeregowego w układzie zawierającym jeden blok
SLICE przedstawiono niżej:
Tablica 1. – Konfiguracja
układu SLICE:
0000000010000000010000110000000
Tablica 2. Dane
wejście F1
wejście F2
wejście G1
wejście G2
testowe:
„01010101”
„00110011”
„00110011”
„01010101”
Otrzymane wyniki testowania
sumatora są następujące:
wynik:
wyjście X „01100110”
wyjście Y „01110111”
wyjście Cout „00010001”
Rys. 9. Okno programu komunikacyjnego do testowania
układów prądowych
Praca jest wykonana w ramach grantu KBN 3T11B 059 26
BIBLIOGRAFIA
[1] Maslennikow O. Approaches to Designing and Examples of Digital Circuits Based on the Current-Mode
Gates. Data Recording, Storage & Processing, V.3, No.2, 2001, pp.84-98.
[2] O. Maslennikow, P. Pawłowski, P. Sołtan, R. Berezowski, “Current-Mode Digital Gates and Circuits:
Conception, Design and Verification”, Proc. IEEE Int. Conf. on Electronic Circuits and Systems,
ICECS’2002, Dubrovnik, Croatia 2002, vol. 2, str. 623-626.
[3] O. Maslennikow, R. Berezowski, P. Soltan, M. Rajewska. Designing Prototype of the Spartan II FPGA Slice
with the Current-Mode Gates. Proc. of the IEEE Int.Conf. on Circuits and Systems for Communication,
ICCSC’2002, ST.-Petersburg, pp. 182-185.
[4] P. Sołtan, O. Maslennikow, R. Berezowski, M. Rajewska. Automatyzacja procesu implementacji układów
cyfrowych w technologii prądowych układów FPGA. Prace I Konferencji Krajowej Elektroniki, KKE’2002,
Kołobrzeg, 2002, pp.843-848.
—6—

Podobne dokumenty