Oleg Maslennikow Michał Białko Wydział Elektroniki Politechnika Koszalińska ul. Partyzantów 17, 75-411 Koszalin email: oleg@ie.tu.koszalin.pl Piotr Pawłowski Robert Berezowski Przerzutniki prądowe dla logiki wielowartościowej i arytmetyki resztowej Słowa kluczowe: logika prądowa, logika wielowartościowa, bramki prądowe, arytmetyka resztowa, RNS STRESZCZENIE W pracy zaproponowano nowe przerzutniki typu D zbudowane w oparciu o bramki prądowe nowe elementy logiczne cechujące się znacznie mniejszym poziomem szumu cyfrowego i przeznaczone dla umieszczenia razem z układami analogowymi na wspólnym podłożu układu VLSI. Opracowane przerzutniki działają w logice wielowartościowej z cyframi od 0 do N, i arytmetyce resztowej modulo N i mogą być wykorzystane w blokach ALU specjalistycznych urządzeń, lub w układach FPGA działających w wymienionych systemach liczbowych. Wyróżniającą cechą przerzutników jest uniwersalność ich budowy, tzn. schemat przerzutnika prawie nie zmienia się przy zmianie liczby N. Testowanie przerzutników było wykonane w środowisku PSPICE, oraz (na poziomie funkcjonalnym) w specjalnie stworzonym programie - symulatorze układów prądowych MPUK. 1. WPROWADZENIE Rozwój współczesnej technologii VLSI umożliwia obecnie umieszczenie całego systemu komputerowego składającego się z cyfrowej i analogowej części, na wspólnym podłożu [1]. Jednak, jednym z głównych problemów praktycznej realizacji tej idei jest problem zmniejszenia wpływu części cyfrowej układu (tzw. zakłóceń podłożowych) na jego część analogową [2]. Radykalnym sposobem rozwiązania wymienionego problemu jest realizacja cyfrowej części układu w oparciu o bramki prądowe [3-7]. Główną ich cechą jest stała wartość pobieranego prądu w różnych stanach, w tym podczas zmiany stanu. Z tego powodu cechują się one znacznie mniejszym poziomem szumu cyfrowego i nie zakłócają układów analogowych. Oprócz tego, wcześniejsze badania sposobów projektowania cyfrowych układów prądowych i modelów VHDL opracowanych urządzeń [3, 4] wykazały, że standardowe układy cyfrowe (np. sumatory, multipleksery, dekodery, jednostki operacyjne, liczniki itd.) zbudowane w oparciu o bramki prądowe są układami prostszymi logicznie (pod względem ilości wykorzystanych bramek do 35%) 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. Dodatkową zaletą stosowania technologii bramek prądowych jest to, że algebra (logika) bramek prądowych jest w przypadku ogólnym logiką wielowartościową (ang. multiple-valued I Projekty finansowane przez KBN 725
logic, MVL) [8]. Pozwala to wykorzystać bramki prądowe do konstruowania jednostek arytmetyczno logicznych (ALU) działających w logice wielowartościowej lub w arytmetyce resztowej (ang. residue arithmetic, RNS) [9]. W związku z tym, w pracy zaproponowano nowe przerzutniki typu D zbudowane w oparciu o bramki prądowe. Opracowane przerzutniki działają w logice wielowartościowej z podstawą N, i arytmetyce resztowej modulo N. Wyróżniającą cechą przerzutników jest modularność ich budowy, tzn. schemat przerzutnika praktycznie nie zmienia się przy zmianie liczby N. Testowanie przerzutników było wykonane w środowisku PSPICE, oraz (na poziomie funkcjonalnym) w specjalnie stworzonym programie symulatorze układów prądowych MPUK. 2. PODSTAWOWE BRAMKI PRĄDOWE Koncepcję bramki pracującej w trybie prądowym, oraz przykładową realizację bramki inwertera przedstawiono na rys. 1. a) c) 0 na wejściu I DD =I H I i < I Lmax I o ~I H I o 1 na wejściu I DD =I H I i > I Hmin I o ~ 0 60µA 50µA I (V DD ) I Ltyp I Lmax I i I Hmin I Htyp 40µA b) V DD M p1 M p3 I bias Rys. 1. 1:1 1:1 GND M p2 M p4 M p5 V bias1 2: in V bias2 I in M i3 M i4 M i2 M i1 :1 :1:2 M o1 I out M o2 M o3 :1 out :2 M o1b out 2 I out2 M o2b M o3b 30µA 20µA 10µA 0A I out I D (Mi1) I D (Mi3) 0A 10µA 20µA 30µA 40µA 50µA I in Koncepcja bramki prądowej (a), przykładowa realizacja (b), wyniki symulacji w programie SPICE (c) Na podstawie charakterystyki przejściowej prądu I out dla zmieniającego się prądu I in (rys. 1c) można określić, że podstawowa bramka prądowa realizuje funkcję binarną NOT z zachowaniem marginesów zakłóceń statycznych. W wyniku przeprowadzonych badań bramek prądowych, do wykorzystania w układach cyfrowych zostały zakwalifikowane bramki czterech podstawowych typów. Bramka pierwszego typu to inwerter. Jej symbol graficzny i wykonywana funkcja logiczna Y 1 = są przedstawione na rys. 2. Bramka drugiego typu ma nazwę anty-inwerter, a jej wygląd i wykonywana funkcja Y 2 = ˆ są przedstawione na rys. 3. Bramki trzeciego i czwartego typu mają nazwy odpowiednio podwójny-inwerter i anty-podwójny-inwerter oraz wykonują funkcje Y 3 = i Y 4 =. Przedstawione są one odpowiednio na rys. 4 i rys. 5 Należy też zaznaczyć, że zastosowanie techniki bramek prądowych umożliwia również realizację bramek wielowyjściowych, a nawet takich, które mają wyjścia różnych typów. Podstawowymi operacjami algebry (logiki) bramek prądowych jest dodawanie i odejmowanie arytmetyczne, których przykładowa realizacja dla logiki binarnej z cyframi 0 i 1 jest przedstawiona na rys. 6 (gdzie zaznaczono kierunek prądu dla wartości dodatnich). I in 726
1gdy = 0, 1, 2,... Y 1 = = (1) 0 gdy = 1, 2, 3,... 0 gdy = 0, 1, 2,... Y 2 = ˆ = (2) 1gdy = 1, 2, 3,... Rys. 2. Bramka inwertera prądowego Rys. 3. Bramka anty-inwertera prądowego 0 gdy = 0, 1, 2,... Y 3 = = (3) 1gdy = 1, 2, 3,... = = ˆ 1gdy 0, 1, 2,... Y 4 = (4) 0 gdy = 1, 2, 3,... Rys. 4. Bramka podwójnego inwertera prądowego Rys. 5. Bramka podwójnego anty-inwertera prądowego Rys. 6. a) b) Y +Y -Y Y -Y Realizacja operacji dodawania (a) i odejmowania (b) w algebrze bramek prądowych Z podstawowych operacji algebry prądowej oraz postaci funkcji wykonywanych przez stosowane tu bramki prądowe (1) - (4) wynika, że dowolna logiczna zmienna może być zmienną wielowartościową. Mianowicie, wartość zmiennej lub funkcji logicznej Y, otrzymywanej na wyjściu dowolnej bramki prądowej, należy do zbioru {-1, 0, 1}, natomiast wartość zmiennej na wejściu bramki (np. jako wynik operacji dodawania lub odejmowania) mogą w ogólnym przypadku należeć do przedziału (-, ). Z powodu takich właściwości logicznych, w algebrze bramek prądowych, nie działają tożsamości algebry Boole a. Mimo to, jak wykazali autorzy [3, 4], dowolna funkcja logiczna, przedstawiona w algebrze Boole a, może być również przedstawiona w algebrze prądowej i zrealizowana z użyciem bramek prądowych. W pracach [3, 4, 7] zaprezentowano sposoby minimalizacji prądowych funkcji logicznych, a także etapy projektowania układów prądowych działających w logice binarnej z cyframi 0 i 1. 3. OPRACOWANIE PRZERZUTNIKÓW TYPU D DLA LOGIKI WIELO- WARTOŚCIOWEJ I ARYTMETYKI RESZTOWEJ 3.1. Zalety logiki wielowartościowej i arytmetyki resztowej Przykładem logiki wielowartościowej może być np. system trójkowy z cyframi 0, 1, 2, jak również dziesiętny z cyframi 0, 1, 2,..., 9. Wykorzystanie arytmetyki wielowartościowej w specjalizowanych systemach komputerowych ma kilka ważnych zalet, np.: 1) przedstawienie danej liczby z określoną dokładnością wymaga wykorzystania kilkukrotnie mniejszej liczby cyfr w porównaniu z systemem dwójkowym (na przykład, w systemie trójkowym przy użyciu 1,58 razy mniejszej liczby cyfr (trójkowych bitów czyli trytów) w porównaniu z systemem dwójkowym. Pozwala to na adekwatne zmniejszenie szerokości rejestrów, komórek pamięci, układów ALU itd., oraz zmniejszenie szerokości magistral systemu. 2) dzięki mniejszej liczbie cyfr przedstawiających dane, czas wykonywania operacji w układach szeregowych, np. szeregowych sumatorach, również jest mniejszy. 3) system wielowartościowy może być łatwo przekształcony w odpowiedni system resztowy (arytmetyka modulo N), poprzez usunięcie bloków przeniesienia z układów sumujących; I Projekty finansowane przez KBN 727
Uzyskujemy wtedy dodatkowe zalety wykorzystania arytmetyki resztowej, mianowicie: brak przeniesienia między poszczególnymi cyframi w liczbach oraz łatwość i szybkość wykonania operacji dodawania, odejmowania i mnożenia. Ponieważ bramki prądowe mogą być wykorzystane dla realizacji operacji logiki wielowartościowej z cyframi 0, 1, 2, 3,..., N, oraz w arytmetyce resztowej modulo N, autorzy postawili sobie za cel skonstruowanie układów działających w wymienionych systemach liczbowych. 3.2. Opracowanie przerzutników prądowych typu D różnych typów Przerzutniki typu D są podstawowymi blokami rejestrów, liczników, pamięci rejestrowej, a w układach FPGA są podstawą generatorów funkcji logicznych LUT. Ogólny schemat przerzutnika typu D sterowanego poziomem sygnału zegarowego i zbudowanego w technologii bramek prądowych, jest przedstawiony na rys. 7. Przerzutnik składa się z dwuwejściowego multipleksera MU oraz układu transmisyjnego UT. Układ transmisyjny przekazuje informacje z wejścia na wyjścia bez żadnych zmian. Wprowadzenie takiego układu spowodowano jest tym, że w technologii bramek prądowych wyjście dowolnej bramki może być połączone tylko do jednego wejścia innej bramki. Na wejście sterujące multipleksera MU podaje się sygnał zegarowy. Dzięki temu, gdy sygnał sterujący jest aktywny, informacja przekazywana jest z wejścia D na wyjście Q przerzutnika. Natomiast, kiedy sygnał sterujący ma poziom niski, informacja z wyjścia układu transmisyjnego jest przekazywana przez multiplekser MU na wejście układu UT. Przedstawiony schemat może być wykorzystany do otrzymania przerzutnika typu master-slave sterowanego zboczem sygnału zegarowego. W tym celu może być zastosowane standardowe rozwiązanie: dwa szeregowo połączone przerzutniki działające w przeciwnych fazach zegara. Zaletą przedstawionego rozwiązania jest jego niezależność od systemu liczbowego, w którym działa przerzutnik tzn. nie jest ważne, czy jest to arytmetyka resztowa modulo N, czy też logika wielowartościowa z cyframi 0, 1, 2, 3,..., N-1. Schemat nie zależy też od wartości N, nawet jeśli N = 2. Natomiast realizacja bloków MU i UT jest rożna dla różnych wartości N. Na przykład, dla przypadku N = 2 (system liczbowy z cyframi 0 i 1, lub arytmetyka modulo 2) wymienione układy MU i UT mogą być zbudowane w oparciu o przedstawione wyżej bramki prądowe inwerterów. Np. układ UT może być realizowany za pomocą dwuwyjściowej bramki podwójnego (rys. 8a) lub zwykłego inwertera prądowego (rys. 8b). Natomiast przykładowa realizacja dwuwyjściowego multipleksera zbudowanego z bramek prądowych dla przypadku N = 2 jest przedstawioną na rys. 9. Cały schemat przerzutnika prądowego D sterowanego niskim poziomem sygnału zegarowego jest przedstawiony dla przypadku N = 2 na rys. 10. D MU UT Q a) UT b) UT CLK Rys. 7. Ogólny schemat przerzutnika typu D sterowanego poziomem sygnału zegarowego Rys. 8. Przykładowa realizacja układu transmisyjnego UT (N = 2) Realizacja przerzutników prądowych działających w wielowartościowych systemach liczbowych i/lub arytmetyce resztowej modulo N (gdzie N>2) wymaga wprowadzenia dodatkowych typów bramek i układów prądowych. Schematy niektórych z nich zostały opracowane i zbadane w środowisku PSPICE. Na przykład, multiplekser dla przypadku N>2 728
może być realizowany na podstawie schematu przedstawionego na rys. 11, który też jest faktycznie niezależny od wartości N. Zaznaczmy, że w takim multiplekserze przy zwiększeniu N muszą być odpowiednio zwiększone rozmiary W szerokości kanałów tranzystorów M 1 i M 2, dla zmniejszenia rezystancji dla przepływającego prądu. MU D CLK Q nq Rys. 9. Przykładowa realizacja multipleksera MU (N=2) Rys. 10. Przykładowa realizacja przerzutnika prądowego typu D (N=2) Przykładowa realizacja inwertera prądowego z możliwością replikowania sygnału wyjściowego (układu transmisyjny z negacją) dla systemu trójkowego z cyframi 0, 1, 2, lub dla arytmetyki resztowej modulo 3 przedstawiona jest na rys. 12. Jest to wzmacniacz prądowy odwracający, o wzmocnieniu równym -1 (układ odwraca kierunek prądu). Działanie układu można opisać wyrażeniem I(Y)=I(N)-I(). Przykładowo dla prądu jedynki logicznej 50 µa i N = 3, prąd I(N)= 150 µa, a dla I()= 30 µa prąd I(Y)= 120 µa. Można utworzyć wyjście typu anty (wyjście Y 2 i tranzystory M 2b i M 4b ); wtedy prąd I(Y 2 )= -30 µa. Dla prądu wejściowego I() >I(N) prąd I(Y) staje się ujemny. W tym układzie zwiększenie wartości N o jeden wymaga dodania jednego tranzystora do fragmentu układu zawierającego tranzystory M 11, M 12 i M 13. M 1 I() V bias1 V DD M 11 M 12 M 13 inwerter I(Y) typ wyjścia antyinwerter Y Y 2 I(Y 2 ) CLK M 2 M 1 M 3 1:1 M 2 1:1 :1 M 4 :1 M 2b M 4b Rys. 11. Przykładowa realizacja multipleksera MU przy pomocy bramek transmisyjnych dla N > 2 Rys. 12. Przykładowa realizacja inwertera prądowego dla N = 3 w bloku UT 3.3. Program do badania układów zbudowanych z bramek prądowych Program MPUK przeznaczony jest do konstruowania i badania układów zbudowanych z bramek prądowych. Program zawiera wbudowany edytor graficzny, który umożliwia między innymi wybór, umieszczenie, przesunięcie i usunięcie bramek prądowych różnych typów oraz ich łączenie. Program umożliwia również wykonanie symulacji schematu poprzez określenie stanu każdego wejścia układu i wyświetlenia stanów wszystkich jego wyjść. Główne okno programu zamieszczono na rys. 13, gdzie w górnej części przedstawiono schemat sumatora jednobitowego, a w dolnej części wyniki symulacji działania tego układu dla różnych wartości danych wejściowych. 4. PODSUMOWANIE W pracy zaproponowano nowe przerzutniki typu D działające w logice wielowartościowej z cyframi od 0 do N, i arytmetyce resztowej modulo N. Zaproponowane przerzutniki są zbudowane w technologii bramek prądowych, których dodatkową zaletą jest bardzo niski poziom zakłóceń podłożowych. Wyróżniającą cechą przerzutników jest uniwersalność ich budowy, tzn. schemat przerzutnika prawie nie zmienia się przy zmianie liczby N. I Projekty finansowane przez KBN 729
Testowanie przerzutników w środowisku PSPICE wykazało prawidłowość ich działania we wszystkich trybach pracy, jak i zgodność otrzymanych parametrów elektrycznych z oczekiwanymi. Rys. 13. Okno główne programu MPUK Praca wykonana w ramach grantu KBN 7T11B 004 20 BIBLIOGRAFIA [1] R. T. L. Saez, M. Kayal, M. Declercq, M.C. Schneider, Digital circuit techniques for mixed analog/digital circuits applications Proc. of Int. Conf. ICECS 96, pp. 956-959 [2] M. Ingels, M. S. J. Steyaert. Design strategies and decoupling techniques for reducing the effects of electrical interference in mixed-mode ICs IEEE J. Of Solid-State Circuits, No 7, 1997, pp.1136-1141 [3] A. Guziński, P. Pawłowski, D. Czwyrow, J. Kaniewski, O. Maslennikow, N. Maslennikowa, D. Rataj, Design of Digital Circuits with Current-mode Gates Bulletin of the Polish Academy of Sciences, Technical Sciences, Electronics and Electrotechnics, vol. 48, No. 1, 2000, pp. 74-91 [4] O. Maslennikow, Approaches to Designing and Examples of Digital Circuits Based on the Current-Mode Gates Data Recording, Storage & Processing, vol.3, No. 2, 2001, pp.84-98 [5] O. Maslennikow, R. Berezowski, P. Soltan, M. Rajewska, Designing Prototype of the Spartan II FPGA Slice with the Current-Mode Gates Proc. of IEEE ICCSC 2002, St.-Petersburg, pp. 182-185 [6] P. Pawłowski, Current Mode Digital Gates for Mixed Mode Reprogrammable Integrated System Proc. of the IEEE Conf. on Circuits and Systems for Communication, ICCSC 2002, St. Petersburg, pp. 186-189 [7] O. Maslennikow, P. Pawłowski, P. Sołtan, R. Berezowski, Current-Mode Digital Gates and Circuits: Conception, Design and Verification Proc. of the IEEE Int. Conf. on Electronic Circuits and Systems, ICECS 2002, Chorwacja, vol. 2, pp. 623-626 [8] D. M. Miller, Multiple Valued Logic: sites of interest International Symposium on Multiple-Valued Logic IEEE Technical Committee on Multiple-Valued Logic, www.csr.uvic.ca [9] Residue Number System Arithmetic: Modern Applications in Digital Signal Processing. M. Soderstrand, W. Jenkins, G. Jullien, F. Taylor (editors)., IEEE Press, 1988 730