Modelowanie reprogramowalnych układów prądowych
Transkrypt
Modelowanie reprogramowalnych układów prądowych
Przemysław Sołtan, Natalia Maslennikow, Oleg Maslennikow Wydział Elektroniki i Informatyki Politechnika Koszalińska, Koszalin Modelowanie reprogramowalnych układów prądowych pracujących w logice wielowartościowej STRESZCZENIE W niniejszej pracy przedstawiono rozwój projektu wspomagającego modelowanie reprogramowalnych układów prądowych pracujących w logice wielowartościowej. Podczas kilkuletnich prac badawczych nad koncepcją bramek prądowych opracowano zestaw bibliotek opisujących w języku VHDL: logikę wielowartościową technologii prądowej, bramki prądowe oraz podstawowe jak i złoŜone bloki funkcyjne operacji logicznych i arytmetycznych. Zaprojektowano takŜe model reprogramowalnego układ prądowego na bazie napięciowej technologii FPGA. Modelowanie układów prądowych w logice wielowartościowej wymusiło zaproponowanie nowej koncepcji układu reprogramowalnego opartego na odmiennych blokach funkcyjnych. Cały proces projektowy został wsparty przez mechanizm weryfikacji biblioteki testów jednostkowych VhdlUnit. WSTĘP Idea reprogramowalnych układów cyfrowych oparta jest na wielokrotnym wykorzystaniu raz opracowanej rekonfigurowalnej struktury półprzewodnikowej układu cyfrowego. Wielokrotne wykorzystanie oraz wszechstronność zastosowań umoŜliwiło znaczny spadek cen takich układów i ich powszechność w uŜytkowaniu. Wraz z ich rozwojem dokonał się takŜe znaczny postęp w narzędziach wspomagających ich projektowanie. Oba te czynniki miały wpływ na ukierunkowanie badań na modelowanie reprogramowalnych układów prądowych pracujących w logice wielowartościowej. Bramki cyfrowe pracujące w trybie prądowym charakteryzują się stałym poziomem zuŜywanego prądu w róŜnych trybach pracy. Ma to wpływ na zmniejszenie zakłóceń, co jest istotne dla mieszanych układów analogowo-cyfrowych. Tryb prądowy pracy układu cyfrowego oznacza, Ŝe poziom logiczny „0” odpowiada prądowi o wartości zero, a poziom logiczny „1” odpowiada pewnej ustalonej wartości prądu wpływającego na wejście bramki lub wypływającego z jej wyjścia. W odróŜnieniu od funkcjonowania klasycznych bramek napięciowych, bramki prądowe mogą posiadać na wyjściu trzeci stan logiczny – „-1” w przypadku którego prąd z wyjścia bramki nie wypływa, ale do tego wyjścia wpływa. Z tego względu wynika, Ŝe fizyczne i logiczne zasady funkcjonowania bramek są inne od bramek napięciowych. W związku z tym algebra bramek prądowych nie jest algebrą binarną [1]. Rozwój prac nad koncepcją bramki prądowej wymusił zastosowanie oprogramowania wspomagającego projektowanie na poziomie logicznym. Coraz bardziej złoŜone układy cyfrowe wymagały formalnej metody projektowania jak i efektywnego języka opisu takich układów[2]. Jako bazę do tworzenia wszelkiego rodzaju projektów wybrano język VHDL (ang. Very high level Hardware Description Language) oraz związane z nim środowisko projektowe ActiveHDL firmy Aldec, Inc.[3]. Pierwsze prace [4] nad koncepcją reprogramowalnego układu prądowego oparto na budowie istniejących matrycowych blokach logicznych CLB układów FPGA (ang. Field-Programmable Gate Array). Podstawowym załoŜeniem jakie przyjęto to binarny format danych pobieranych i przekazywanych na zewnątrz. Wewnętrznie zaprojektowane modele bloków CLB pracowały zgodnie z wielowartościową logiką prądową. Przejście na rekonfigurowalne układy prądowe pracujące w całości na logice wielowartościowej wymusiło opracowanie koncepcji opartej o nowe bloki K, I oraz AI. Uzyskano w ten sposób pełniejsze wykorzystanie moŜliwości nowych architektur w zastosowaniach wielowartościowych (np. w rozwiązaniach z arytmetyką resztową). MODELOWANIE UKŁADÓW PRĄDOWYCH MoŜna określić kilka poziomy modelowania układów prądowych: • niskopoziomowe przy uŜyciu modeli tranzystorowych i symulacji SPICE; • projekt opisany bezpośrednio na poziomie bramek prądowych w języku VHDL; • projekt oparty na elementarnych blokach K, I, AI schematów BDE; • projekt opisany jako odpowiednio skonfigurowany układ reprogramowalny MVL. Efekty pracy związanej z koncepcją bramek prądowych, ich symulacji i fizycznych realizacji w strukturach krzemowych zostały szczegółowo opisane w publikacji [4]. Projektowanie bardziej złoŜonych architektur wymusiło przejście na wyŜszy poziom modelowania jakim jest modelowanie logiczne. Przy uŜyciu zaprojektowanej biblioteki bramek prądowych nstd_logic_2000, zgodnie z zasadami algebry prądowej, istnieje moŜliwość wizualnego budowania schematów prądowych i ich symulacji w środowisku ActiveHDL. a) b) Rys. 1. Przykładowe schemat realizacji: a) funkcji f = X 1 ⊕ X 2 ⊕ X 3 ⊕ X 4 i b) sumatora jednobitowego Na rys. 1 przedstawiono dwa przykładowe schematy układów zgodnych z zasadami opracowanymi dla cyfrowych bramek pracujących w trybie prądowym. Na podstawie schematów moŜna zauwaŜyć szczególne właściwości technologii prądowej: występowanie węzłów spływowych dla prądów oraz tego, Ŝe bramki prądowe mają tylko jedno wejście i jedno lub wiele wyjść. Koncepcja węzłów jest o tyle waŜna, Ŝe spływ prądów oznacza wykonanie operacji arytmetycznego dodawania. Rys. 2. Przykładowa realizacja wielowyjściowej bramki prądowej (o podstawie N=2) Przy zastosowaniu prądowych bramek cyfrowych w układach pracujących w logice wielowartościowej celowe jest wyselekcjonowanie części ich wewnętrznej budowy do specjalnych komponetów w tym celu, aby z określonej ich liczby i odpowiednich połączeń uzyskiwać róŜne typy bramek prądowych odpowiadające bibliotece nstd_logic_2000. W tym celu opracowano trzy typy bloków: K, I oraz AI, których złoŜenie umoŜliwia realizację dowolnej bramki prądowej. Na rys. 2 przedstawiono przykładowy odpowiednik wielowyjściowej bramki prądowej zbudowanej przy pomocy bloków K,I,AI. Wyjście inwertera (wyprowadzenie Y1) i anty-inwertera (wyprowadzenie Y2) zawierają pojedynczy blok funkcyjny (I lub AI), w przypadku podwójnego inwertera (wyprowadzenie Y3) oraz anty-podwójnego inwertera (wyprowadzenie Y4) naleŜy stosować dodatkowo wstępny blok I. Więcej na temat budowy, typów i konwencji nazewniczych bramek prądowych moŜna odnaleźć w publikacjach [1,2,4]. Bardziej złoŜony przykład zaprezentowano na rys. 3. Schemat jednobitowego sumatora prądowego zawiera trzy bloki K formujące kaŜdy oddzielny sygnał. Dodatkowo dodano bloki IOB (wejścia/wyjścia) zgodne z dalszymi modelami układów reprogramowalnych. Rys. 3. Przykładowe schemat realizacji sumatora jednobitowego z zastosowaniem bloków K, I,AI i IOB MODEL REPROGRAMOWALNEGO UKŁADU PRĄDOWEGO Realizacja procesu projektowego składa się z kilku etapów: • projektowanie modelu układu reprogramowalnego; • konfiguracja układu reprogramowalnego do realizacji konkretnego schematu; • weryfikacja i porównanie zgodności z zaprojektowanym schematem bazującym na standardowej biblioteki bramek prądowych. Celem etapu projektowania modelu układu reprogramowalnego jest jego późniejsza konwersja do postaci dokumentu XML opisu tej architektury. Ma to umoŜliwić generację bliźniaczych architektur o większych rozmiarach bez ich ponownego projektowania. Opis VHDL komponentów układu reprogrmowalnego (K,I, A, IOB, przełączniki) PLATFORMA Eclipse (JAVA) Opis BDE architektury reprogramowalnego układu prądowego Opis XML Analizator plików BDE Opis SVG ŚRODOWISKO ActiveHDL Rys. 4. Schemat blokowy środowiska do analizy plików BDE Narzędzie analizatora plików BDE dokonuje analizy opisu architektury i przekształca dane na dwa typy formatów XML (ang. eXtensible Markup Language) i SVG (ang. Scalable Vector Graphics). Schemat blokowy tego rozwiązania przedstawiono na rys. 4, a przykładową architekturę reprogramowalnego układu prądowego przedstawiono (dokument BDE) na rys. 5. Rys. 5. Widok przykładowej architektury reprogramowalnego układu prądowego (Active HDL) Proces dalszego przetwarzania oparty jest na dokumencie XML zawierającym opis architektury. Na rys. 6 przedstawiono schemat blokowy przetwarzania wejściowych plików XML (opisu architektury i dodatkowej konfiguracji). PoniewaŜ format XML doskonale nadaje się do danych i ich przetwarzania to poprzez zastosowanie odpowiednich skryptów transformacji XSLT (ang. XSL Transformations, Extensible Stylesheet Language Transformations) uzyskuje się wynikowy kod skonfigurowanej architektury oraz automatyczną generację dodatkowych dokumentów do opisu testów jednostkowych biblioteki vhdlUnit. Opis architektury (xml) + konfiguracja Transformacja projektu XML+XSLTVHDL Model VHDL nstd_logic_2000 vhdlUnit Model VHDL nstd_mvl_2005 Opis Architektury Opis Architektury Opis XSLTmodelu XSLT XSLT Rys. 6. Schemat blokowy środowiska do generowania modeli architektur reprogramowalnych układów prądowych Całość wspomagająca cały proces analizy dokumentów BDE i transformacji XSLT oparta została o bibliotekę współpracującą z Platformą ECLIPSE ( http://www.eclipse.org ). Widok środowiska z przykładowymi plikami XML i SVG przedstawiono na rys. 7. Projekt wykorzystuje wtyczkową architekturę, dzięki temu w jednym środowisku moŜna implementować jednocześnie róŜne mechanizmy. Jednym z nich jest np. projekt wtyczki do prezentacji i refaktoryzacji kodu języka VHDL – vdtProject ( http://kik.ie.tu.koszalin.pl/mvl/vdt ). Rys. 7. Modelowanie reprogramowalnego układu prądowego (platfotma Eclipse) TESTOWANIE I WERYFIKACJA Testowanie jest jednym z najwaŜniejszych mechanizmów podnoszących jakości tworzonego projektu. Ma to szczególne znaczenie dla realizacji sprzętowych w postaci układu scalonego, którego poprawianie jest niemoŜliwe lub bardzo kosztowne. W celu jak najlepszego przetestowania schematów układów prądowych zaprojektowano biblioteką testów jednostkowych vhdlUnit. Podstawowym celem tworzenia testów jest programowa symulacja i weryfikacja projektu wraz z raportowaniem wyników na podstawie zaprojektowanych metod asercji – wymuszeń zachowania określonego warunku pracy symulowanego systemu. Tworzenie złoŜonych modeli rekonfigurowalnych układów prądowych wraz z zastosowaniem biblioteki vhdlUnit umoŜliwiło kompleksowe sprawdzanie grupy wszystkich testów dzięki zastosowaniu specjalnych procesów testowych pracujących w wielowartościowej logice prądowej. Projekt vhdlUnit został szczegółowo opisany w publikacjach [5 i 6] i jest dostępny pod adresem http://kik.ie.tu.koszalin.pl/vhdlunit . WNIOSKI W pracy zaprezentowano modelowanie projektów reprogramowalnych układów prądowych poprzez opis mechanizmów uczestniczących w tym procesie. Dalsze etapu rozwoju projektu polegają na opracowaniu zestawu szeregu testów i dokonaniu oceny wymagań co do ilości/proporcji komonentów K, I, i AI oraz ewentualnych modyfikacji architektur połączeń. Celem jest zwiększenie dopasowania poprzez lepsze wykorzystanie rekonfigurowalnej struktury układu reprogramowalnego. Dodatkowo naleŜy opracować mechanizmy generacji struktur o większych wymiarach, ale w taki sposób, aby konfiguracje przy ich mniejszych odpowiednikach nie musiały być modyfikowane i były zgodne dla rodziny architektury o większych wymiarach. Zasadniczym problemem jest jednak brak narzędzi automatyzujących proces rozmieszczania i mapowania połączeń (ang. place&route). Nie było to jednak celem dotychczasowych badań. W modelu zastosowano opis behawioralny funkcjonowania matrycy przełączników. W przypadku rzeczywistej implementacji naleŜy uwzględniać dodatkowe elementy wynikające z wykorzystania technologii bramek prądowych. Jest to wynik złoŜoności realizacji i trudności w ich symulowaniu na poziomie logicznym przy uŜyciu języka VHDL [7]. W pracy pominięto omówienie koncepcji technologii prądowej, która szczegółowo została opisana w publikacji [1] i skupiono się na komputerowych narzędziach i mechanizmach wspomagających projektowanie. BIBLIOGRAFIA [1] M. Białko, O. Maslennikow, N. Maslennikow, P. Pawłowski “Układy cyfrowe zbudowane w oparciu o bramki prądowe: stan obecny, perspektywy rozwoju i zastosowania”. Prace III Konferencji Krajowej Elektroniki, KKE’2004, Kołobrzeg, 2004, pp.83-93. [2] 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, Horwacja. [3] Środowisko ActiveHDL – Aldec, Inc. - www.aldec.com [4] P. Pawłowski “Ocena przydatności bramek cyfrowych pracujących w trybie prądowym w mieszanych systemach analogowo-cyfrowych”. Rozprawa doktorska, Politechnika Koszalińska, Koszalin, 2004. [5] P. Sołtan “Koncepcja realizacji testów jednostkowych w języku VHDL”. Prace VII Konferencji Krajowej „Reprogramowalne układy cyfrowe”, RUC’2004, Szczecin, 2004, pp.117-124. [6] P. Sołtan “Weryfikacja logiczna projektów VHDL realizowanych w reprogramowalnych układach FPGA pracujących w trybie prądowym”. Prace III Konferencji Krajowej Elektroniki, KKE’2004, Kołobrzeg, 2004. [7] P. Sołtan, O. Maslennikow „Model reprogramowalnego układu działającego w logice wielowartościowej”. Prace IV Konferencji Krajowej Elektroniki, KKE’2005, Darłówko Wschodnie, 2005, pp. 585-590. [8] Eclipse Platform - www.eclipse.org [9] Strona domowa projektów związanych z prądową logiką wielowartościową http://kik.ie.tu.koszalin.pl/mvl/ Praca wykonana w ramach grantu KBN 3T11B 05926