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