Magdalena Raewska Oleg Maslennikow Robert erezowski Wydział Elektroniki i nformatyki Politechnika Koszalińska ul. Śniadeckich, 75-453 Koszalin atne@ie.tu.koszalin.pl oleg@ie.tu.koszalin.pl beny@ie.tu.koszalin.pl Układy prądowe dokonuące konwersi liczb z systemu binarnego do systemu R i odwrotnie łowa kluczowe: bramki prądowe, resztowy system liczbowy R, logika wielowartościowa, arytmetyka resztowa, układy konwersi TREZCZEE W pracy przedstawiono metody konwersi liczb z systemu binarnego do systemu resztowego R i odwrotnie. Zaprezentowano układy realizuące omawiane konwerse. Proponowane układy zostały zbudowane w oparciu o bramki prądowe. Wyróżniaącą cechą opracowanych układów est znacznie mniesza liczba połączeń w porównaniu do konwerterów zbudowanych w oparciu o klasyczne bramki napięciowe. Do zweryfikowania poprawności działania zaproektowanych układów w środowisku ActiveHDL, stworzono bibliotekę napisaną w ęzyku opisu sprzętu VHDL. Zawiera ona opis podstawowych bramek prądowych i elementów oraz tablicę rezoluci sygnałów prądowych.. WPROWADZEE Resztowe systemy liczbowe R (ang. Residue umber ystem) staą się coraz bardzie popularne ze względu na charakterystyczne właściwości, akie są z nimi związane: zrównoleglenie operaci, modułowość, brak przeniesienia pomiędzy cyframi. R dobrze pasue do systemów cyfrowego przetwarzania sygnałów (CP), szczególnie do konstruowania ednostek przetwarzaących tych systemów. Ze względu na pewną złożoność systemów resztowych pożądana est konwersa z oraz do systemu dziesiętnego i binarnego. Oczywiście ważne est żeby konwersa ta była maksymalnie efektywna. W 998 roku na Politechnice Koszalińskie opracowano pierwsze bramki prądowe [], w których poziomy logiczne odpowiadaą ustalonym wartościom prądu. Od tego czasu bramki te zostały poddane wielu modyfikacom [,3]. Obecnie zdefiniowana logika bramek prądowych est w pewnym stopniu logiką wielowartościową [3]. Dzięki te właściwości bramek prądowych możliwe est konstruowanie układów cyfrowych działaących w logice wielowartościowe z podstawą > lub w arytmetyce resztowe (oparte o arytmetykę modulo ). Wartość zmienne albo funkci logiczne Y na wyściu dowolne bramki prądowe należy do zbioru Y {-, }, natomiast wartość zmienne (albo funkci) logiczne, która może się poawić na weściu bramki, np. ako wynik operaci dodawania lub odemowania prądów, teoretycznie należy do przedziału (-L, R). Dodatkową wyróżniaącą cechą bramek prądowych X Proekty finansowane przez Mi 59
est stała wartość prądu pobieranego ze źródła zasilania w różnych trybach ich pracy (np. w stanach logicznego zera i edynki). Z tego powodu cechuą się one znacznie mnieszym poziomem pasożytniczych sprzężeń podłożowych, stąd w mnieszym stopniu (do 0 razy, w zależności od wartości prądu odpowiadaącego edynce logiczne, i od wymagane szybkości działania) zakłócaą układy analogowe w porównaniu z układami napięciowymi. Oprócz tego, wcześniesze badania sposobów proektowania cyfrowych układów prądowych [] wykazały, że standardowe układy cyfrowe (np. sumatory, multipleksery, dekodery, bloki operacyne ALU, liczniki itd.) zbudowane w oparciu o bramki prądowe są prostszymi logicznie (pod względem ilości wykorzystanych bramek do 35%) od ich prototypów zbudowanych w oparciu o klasyczne bramki napięciowe [4]. X Y Y Y 3 Y 4 X K A A Y Y Y 3 Rys.. Przykładowa realizaca wielowyściowe bramki prądowe (=) Y 4 X 4 Y Y X Rys.. Przykładowa realizaca dwuwyściowe bramki prądowe (=4) Charakterystyczną cechą budowy bramek prądowych est modułowość i regularność ich budowy. Oznacza to, że schemat bramki składa się z prostych bloków kilku różnych typów, mianowicie bloków K, i A, których liczba zależy od wartości podstawy systemu liczbowego. Każda bramka zawiera obwod weściowy przedstawiaący sobą - szeregowo połączonych komparatorów K oraz ednego lub kilku (w zależności od liczby wyść bramki) obwodów wyściowych typu inwerter lub anty-inwerter A. Przykład realizaci bramki prądowe z wyściami wszystkich czterech typów (inwerter, anty-inwerter, podwóny inwerter, anty-podwóny inwerter) przedstawiono, dla =, na rys.. W przypadku większe wartości, realizaca ednego wyścia typu inwerter wymaga podłączenia osobnego bloku do wyścia każdego komparatora K. Wyścia wszystkich (-) bloków są połączone w eden węzeł reprezentuący wyście bramki. posób realizaci bramki z wyściem typu inwerter i wyściem typu anty-inwerter przedstawiono (dla =4) na rys.. zczegółowy opis bramek prądowych przedstawiony est w pracy [3].. YTEM REZTOWY R W arytmetyce modulo zapis liczby est uzależniony od podstawy systemu i pozwala na przedstawienie w sposób ednoznaczny - liczb. Zapis większych od podstawy systemu liczb sprowadza się do wyliczenia reszty z dzielenia te liczby przez ego podstawę. Ważną zaletą arytmetyki modulo est brak przeniesienia przy wykonywaniu operaci dodawania, odemowania i mnożenia. ystem resztowy używa G poedynczych arytmetyk modulo, pozwalaąc na ednoznaczny zapis liczb z zakresu od 0 do * (=,,,G). Przykładowo liczba 7 0 zapisana w 3-cyfrowym (G=3) systemie resztowym R( 3 )=R(5 3 ) będzie oznaczona ako ( ) R(5 3 ). Jednoznacznie dla tego przykładu możemy zapisać liczby z zakresu od 0 do (*3*5-=9). stotnym elementem est dobór poszczególnych podstaw w systemie resztowym. Powinien on spełniać dwa warunki: pozwolić na obęcie swoim zakresem całego zbioru liczb, na którym operue system CP oraz podstawy powinny spełniać warunek: WW( i, )= i (namniesza wspólna wielokrotność każde pary liczb reprezentuących podstawy systemów est równa iloczynowi tych liczb). Ze względu na brak przeniesienia przy wykonywaniu podstawowych operaci arytmetycznych, wykonywane one mogą być równolegle na wszystkich cyfrach systemu, niezależnie od siebie. Zwiększa to szybkość działania układu, głównie tam gdzie wykorzystywane są podstawowe operace K K K 3 A A A Y Y 59
matematyczne (filtry cyfrowe, FFT). Przykładowo dodaąc liczbę 7 do liczby 4 otrzymuemy ( ) R(5 3 ) +(4 0) R(5 3 ) =( 0 ) R(5 3 ), odpowiednio modyfikuąc poszczególne cyfry wyniku, które przekraczaą określoną podstawę systemu. 3. MODELOWAE UKŁADÓW PRĄDOWYCH Rosnąca liczba bramek prądowych w realizowanych układach wymaga środowiska, w którym można realizowany układ testować. Język VHDL został stworzony przede wszystkim do opisu cyfrowych układów w technologii napięciowe. iblioteka EEE4 (est ona elementem składowym symulatora ActiveHDL) zawiera opis VHDL podstawowych bramek napięciowych i określa 9 poziomów logicznych w pełni opisuących standardową logikę binarną. W celu testowania układów zbudowanych w oparciu o bramki prądowe opracowano bibliotekę nstd_logic_003 [5]. Wprowadzenie większe liczby poziomów oraz nowych elementów związanych z systemami resztowymi o podstawach większych niż 0 wymusiło stworzenie nowe wersi biblioteki o nazwie current_pk. W bibliotece zadeklarowano wartości od m30 do p30 odpowiadaące poziomom logicznym od -30 do +30 oraz tablicę rezoluci sygnałów (Tab. ) z uwzględnieniem algebry prądowe. Tabela. Przykładowy wycinek tablicy rezoluci sygnałów w algebrze prądowe z biblioteki current_pk U X m3 m m p0 p p P3 U U U U U U U U U U U poziom logiczny niezainicowany X U X X X X X X X X X poziom logiczny sygnalizuący błąd m3 U X m m5 m4 m3 m m p0 m3 poziom logiczny minus 3 m U X m5 m4 m3 m m p0 p m poziom logiczny minus m U X m4 m3 m m p0 p p m poziom logiczny minus p0 U X m3 m m p0 p p p3 p0 poziom logiczny 0 p U X m m p0 p p p3 p4 p poziom logiczny p U X m p0 p p p3 p4 p5 p poziom logiczny p3 U X p0 p p p3 p4 p5 p p3 poziom logiczny 3 Poszczególne poziomy określaą wartość i kierunek natężenia prądu przepływaącego przez węzeł. 4. KOWERJA LCZ Z YTEMU AREGO DO YTEMU REZTOWEGO Konwersa P-bitowe liczby binarne X = ) wyrażona est wzorem (): ( xg, xg,..., x R Y = ) do systemu R ( yp, yp,..., x = ( y + () gdzie reszta: x P P 0 P P 0 P, yp,..., ) = yp + yp +... + = yp yp y + 0 = Y = Y mod () a rys. 3 przedstawiono ogólny schemat układu do konwersi liczb z systemu binarnego na system modulo. Kolene bity liczby binarne Y = ( yp, yp,..., ) steruą buforami, które przekazuą stałe p-, p-,, 0 na weścia sumatorów Σmod. p., eżeli na weściu y i poawi się wartość bufor przekaże wartość odpowiednie stałe i do układu sumatorów modulo. Tab. zawiera wartości stałych i dla różnych podstaw, które zostały wyznaczone na podstawie wzoru (). W przypadku konwersi P-bitowe liczby binarne do G-cyfrowego systemu R o podstawach,..., G wymagane est wykorzystanie G niezależnie działaących układów konwertera (przedstawionego na X Proekty finansowane przez Mi 593
Tabela. Pomocnicza tabela do konwersi liczb z systemu binarnego na system resztowy 0 3 4 5 7 8 0 0 0 0 0 0 0 0 3 5 4 3 4 3 7 4 4 4 9 4 8 7 9 4 4 8 5 0 9 7 3 3 4 8 3 9 7 4 8 5 3 9 rys.3), w których sumatory resztowe muszą działać w arytmetyce z odpowiednią podstawą. Rys.4 zawiera przykładowy schemat konwertera -bitowych liczb binarnych do systemu resztowego R(7 3 ). kłada się on z trzech niezależnych od siebie konwerterów (schemat ogólny poedynczego konwertera pokazano na rys. 3). Wartości na weściach p-, p-,, 0 oraz układy sumatorów modulo zostały dostosowane do odpowiednich arytmetyk modulo ( 3 =7, =3, =), z których składa się prezentowany system resztowy Ze względu na charakterystyczne wartości w Tab. dla arytmetyki modulo (podobnie dla arytmetyk: modulo 4, modulo 8, itd.) schemat konwertera został uproszczony i składa się edynie z bufora. chematy sumatorów modulo przedstawione zostały na rys. 5,. a rys. 7 przedstawiono wyniki symulaci opisanego powyże konwertera. Zgodnie z założeniem ednoznacznie można określić wartość z zakresu od 0 DEC do 4 DEC. Dla wartości 4 DEC na wyściu poawia się wartość (0 0 0) R(7 3 ), która odpowiada wartości 0 DEC. 0 n- y y P buforów yg- Mod Mod Mod P- sumatorów mod Rys. 3. Ogólny schemat konwertera liczb z systemu binarnego do liczb w arytmetyce resztowe modulo (X) mod (x)= ADDR3 ADDR3 ADDR3 (x)=3 y y ADDR7 3 4 y3 ADDR3 ADDR7 ADDR7 (x3)=7 - Rys. 5. umator resztowy modulo 3 ADDR3 ADDR7 y4 ADDR3 7 y5-4 ADDR7 Rys. 4. Konwerter liczb z systemu binarnego do systemu resztowego R(7 3 ) zbudowany w oparciu o bramki prądowe Rys.. umator resztowy modulo 7 ADDR7 Rys. 7. Wyniki symulaci konwertera liczb z systemu binarnego do R(7 3 ) w środowisku ActiveHDL 594
5. KOWERJA LCZ Z YTEMU REZTOWEGO DO YTEMU AREGO W literaturze [] opisane są dwa sposoby konwersi liczb z systemu resztowego do systemu binarnego. Jedna z metod oparta est na prześciowe konwersi do systemu MR (Mixed Radix form ystem), a następnie do systemu binarnego. Druga metoda wykorzystue Chińskie twierdzenie o resztach (CRT). Do proektowania konwertera wykorzystano pierwszą metodę. Konwersa liczb z systemu R do systemu dziesiętnego sprowadza się do wyznaczenia odwrotności multiplikatywne α (3) dla każde podstawy systemu. gdzie α =, (3) G = =, podstawa -te cyfry układu R. Liczbę w kodzie dziesiętnym można obliczyć korzystaąc ze wzoru (4): G DEC = x α (4) = Przykładowo podano obliczenia dla systemu R(5 3). = 5, = 3 = 5 α = α =, α = α =. + x = x + x = x + 0 n n 5 3 5 5 DEC = x α α x (5) Wykorzystuąc wzór (5) zaproektowano konwerter liczb z systemu R(5 3) do systemu dziesiętnego zbudowanego w oparciu o bramki prądowe (rys. 0). chemat konwertera est praktyczną realizacą wzoru (5). kłada się z układów mnożących oraz układów sumatorów (rys. ) działaących w arytmetyce resztowe modulo (w omawianym przykładzie = * =5). Wyniki symulaci przedstawione są na rys. 8. Drugim etapem est konwersa liczb z systemu dziesiętnego na liczbę w systemie binarnym. Przykładowa realizaca konwertera pokazana est na rys. 4. Wadą tego układu est czas propagaci sygnału weściowego zależny od ilości bitów. Wyniki symulaci przedstawione są na rys. 9. Rys. 8. Wyniki symulaci układu konwertuącego liczbę z systemu resztowego R(5 3) do systemu dziesiętnego Rys. 9. Wyniki symulaci układu konwertuącego liczbę z systemu dziesiętnego do systemu binarnego X Proekty finansowane przez Mi 595
(x)=3 0 0 ADDR5 3 (x)=5 5 K0 K K0 K K K3 ADDR5 ADDR5 DEC + 5-4 Rys.. umator resztowy modulo 5 ADDR5 + - Rys.. umator wielowartościowy o podstawie - ADDMVL -3 Rys. 0. Konwerter liczb z systemu R(5 3) do systemu dziesiętnego zbudowany w oparciu o bramki prądowe DEC ADDMVL8 ADDMVL4 ADDMVL Rys. 4. Konwerter liczb z systemu dziesiętnego do systemu binarnego zbudowany w oparciu o bramki prądowe. WOK y y y3 + 4 Rys. 3. umator wielowartościowy o podstawie 4- ADDMVL4 + 8-7 Rys. 5. umator wielowartościowy o podstawie 8- ADDMVL8 W pracy zaprezentowano układy zbudowane z bramek prądowych, konwertuące liczby z systemu binarnego na system resztowy i odwrotnie. Zaprezentowano bibliotekę napisaną w ęzyku opisu sprzętu VHDL, którą wykorzystano do symulaci zaproektowanych układów w środowisku ActiveHDL. Wyniki symulaci potwierdziły poprawność działania układów. Otwartym problemem zostae minimalizaca czasu opóźnienia układu konwertera z systemu dziesiętnego na system binarny. LOGRAFA [] D. Gretkowski, R. erezowski,. Maslennikowa, Opis i modelowanie cyfrowych układów prądowych z wykorzystaniem ęzyka VHDL, Mat. Konferenci Kraowe Reprogramowalne układy cyfrowe, RUC 99, zczecin 999, str. 5-7 [] Maslennikow O., Gretkowski D., Pawłowski P. Current-Mode Circuits for Multiple- Valued Logic and Residue umber ystem Arithmetic, Proc. of the 0-th nt. Conf. on Mixed Design, MXDE 003, pp. 8-87 [3] O. Maslennikow, Podstawy teorii zautomatyzowanego proektowania reprogramowalnych równoległych ednostek przetwarzaących dla ednoukładowych systemów czasu rzeczywistego, Wydawnictwo Uczelniane Politechniki Koszalińskie, Koszalin 004, pp. 48-9 [4] W. Traczyk, Układy cyfrowe. Podstawy teoretyczne i metody syntezy, WT Warszawa, 98 [5] M. iałko, M. Raewska, R. erezowski, Wykorzystanie ęzyka VHDL do modelowania układów pracuących w logice wielowartościowe i w arytmetyce resztowe, Prace X Konferenci Kraowe Komputerowe wspomaganie badań naukowych, KOWA 003 []. J. Piestrak, Design of High-peed Residue-to-inary umber ystem Converter ased on Chinese remainder theorem, Proc. CCD 94, nt. Conf. on Computer Design: VL in Computers and Processors, Cambridge, MA Oct. 0-.994, pp. 508-5 5 C C C Praca est wykonana w ramach grantu K 3T059 59