You are on page 1of 5

Portal internetowy do symulacji fizycznej przyrządów

półprzewodnikowych z wykorzystaniem technologii CORBA.

B.ZIĘBA, J.WOJCIECHOWSKI, G. JABŁOŃSKI,


W.ZABIEROWSKI, A. NAPIERALSKI
KATEDRA MIKROELEKTRONIKI I TECHNIK INFORMATYCZNYCH
POLITECHNIKA ŁÓDZKA, POLSKA

Słowa kluczowe: symulator, model rozproszony diody


półprzewodnikowe, obliczenia rozproszone, Java, CORBA

STRESZCZENIE: Artykuł opisuje aplikację internetową, która jest symulatorem modelu diody półprzewodnikowej o
stałych rozłożonych, opartej na jednowymiarowej analizie numerycznej zjawisk fizycznych zachodzących we wnętrzu
struktury półprzewodnikowej. Kontekstem obliczeniowym (obiektem obliczeniowym) jest program MOPS (Modelling
Program for Semiconductors) przeznaczony do analizy układów elektronicznych zawierających przyrządy
półprzewodnikowe modelowane za pomocą jedno-dwu wymiarowych modeli fizycznych, opartych na symulacji
zjawisk zachodzących wewnątrz struktury półprzewodnikowej. Przedstawiany projekt ma architekturę modułową.
Symulator rozprasza obliczenia, które mogą być wykonywane zdalnie. Do komunikacji, pomiędzy modułami,
wykorzystywana jest technologia CORBA. Warstwę prezentacji tworzy zbiór dynamicznie generowanych stron
WWW. Logiczna warstwa aplikacji jest zaimplementowana w języku Java w obiektach Serwletów. Projekt jest
udostępniony jako ćwiczenie laboratoryjne z Przyrządów Półprzewodnikowych Mocy dla studentów kierunku
elektronika.

Wprowadzenie symulacja DC.


Kontekst obliczeniowy jest inicjowany poprzez
Coraz większą popularność zdobywają program zarządzający (MOPS FACTORY). Program
rozwiązania informatyczne oparte o aplikacje ten rejestruje się w systemie poprzez Serwis Nazw
internetowe. Interfejs użytkownika w tego typu (sieciowe repozytorium obiektów CORBA).
aplikacjach stanowią dynamicznie generowane strony Komponent aplikacji internetowej może zdalnie
WWW. Całość przetwarzanie odbywa się na serwerze, wywoływać metody na obiekcie MOPS (w tym
a przeglądarka stron WWW jest tzw. ,,cienkim przypadku obiekcie serwera).
klientem”. Rozwiązania takie stosowane są w Przyśpieszenie obliczeń uzyskuje się dzięki ich
wirtualnych bankach, w systemach elektronicznych rozproszeniu na dwa komputery. Po wykonaniu
rezerwacji biletów lotniczych itd. obliczeń wyniki są scalane i prezentowane
Opisywany projekt jest przykładem aplikacji użytkownikowi poprzez aplet.
internetowej służącej do symulacji fizycznej
przyrządów półprzewodnikowych. W projekcie tym
kontekstem obliczeniowym (obiektem obliczeniowym) CORBA
jest program MOPS (Modelling Program for
Semiconductors)[1]. Jest on przeznaczony do analizy Idea systemu opiera się na komunikacji
układów elektronicznych zawierających przyrządy realizowanej poprzez użycie technologii CORBA.
półprzewodnikowe modelowane za pomocą jedno-dwu Rozdział ten, przeznaczony jest dla czytelników
wymiarowych modeli fizycznych, opartych na niemających wcześniej kontaktu z tą technologią.
symulacji zjawisk zachodzących wewnątrz struktury CORBA jest architekturą zorientowaną obiektowo.
półprzewodnikowej. Bazuje ona na obiektowym brokerze zapytań - ORB
Aplikacja ta ma architekturę modułową, a komunikacja (Object Request Broker). ORB jest komponentem,
pomiędzy stroną logiczną aplikacji, a obliczeniową którego celem jest zapewnienie komunikacji pomiędzy
odbywa się poprzez zastosowanie technologii CORBA. obiektami. ORB lokalizuje zdalny obiekt na podstawie
Każda instancja programu MOPS jest obiektem referencji IOR (Interoperable Object References)
serwera CORBA. Obiekt ten udostępnia usługi (zdalne (identyfikator zdalnego obiektu) i nawiązuje połączenie
metody) poprzez interfejs ORB (Object Request pomiędzy obiektami. Podczas wykonania zdalnych
Broker). Poprzez wykorzystywanie tych usług odbywa metod (method invocations) ORB przekazuje
się: sparametryzowanie obliczeń, pozyskiwanie parametry metod (marshalling of parameters) oraz
wyników z kontekstu obliczeniowego (obiektu transportuje wartości zwracane (return values). Kiedy
obliczeniowego). Kontekst obliczeniowy MOPS komponent aplikacji chce uzyskać dostęp do obiektu
wykorzystuje model diody półprzewodnikowej o CORBA, najpierw otrzymuje IOR tego obiektu. Za
stałych rozłożonych, oparty na jednowymiarowej pomocą IOR, komponent uzyskuje referencję na ten
analizie numerycznej zjawisk fizycznych we wnętrzu obiekt. Poprzez tą referencję możliwe jest
struktury półprzewodnikowej. Wykonywana jest wywoływanie zdalnych metod obiektu serwera. W
technologii CORBA, klientem może być każda użytkownikowi za pomocą dowolnej przeglądarki
aplikacja używająca usług obiektu CORBA. Serwerem internetowej z zainstalowanym pluginem Javy (JAVA
jest aplikacja tworząca obiekty CORBA i plug-in ver. 1.3.). Użytkownicy systemu WINDOWS
udostępniająca usługi. znajdą więcej informacji o pluginach na stronie:
www.java.com.

Struktura systemu Specyfikacja systemu


System składa się z serwera aplikacji i węzłów Funkcjonalność panelu użytkownika
obliczeniowych. Komunikację pomiędzy nimi
umożliwia architektura CORBA. Składowe systemu Sesje użytkownika w systemie są logowane i
mogą być umieszczone na tym samym komputerze. Ze śledzone dzięki zastosowaniu techniki: ,,cookies”.
względu na cel systemu, którym jest rozdzielenie Polega ona na tworzeniu plików tekstowych na
obliczeń, wskazane jest zainstalowanie serwera i komputerze klienta. W plikach tych zapisywane są
węzłów obliczeniowych na różnych maszynach. dane sesji. Protokół HTTP jest bezpołączeniowy.
,,Cookies” symulują ciągłość połączenia protokołu
HTTP. Poprzez użycie ,,cookies” użytkownik nie może
Serwer być zalogowany więcej niż jeden raz w tym samym
momencie, oraz chroni się przed nieautoryzowanym
Internet
Rys. 1Struktura sytemu dostępem do symulatora
Dostępne opcje użytkownika to: wykonywanie
Serwer systemu symulacji, dodawanie/usuwanie zadań, podgląd
przestrzeni serwisu nazw (CORBA).
Serwer aplikacji pełni funkcję logiczną
systemu. Do prawidłowego funkcjonowania aplikacji
wymagane jest uruchomienie usług: serwera WWW
Węzły obliczeniowe
TOMCAT[4], systemu zarządzania bazą danych
MySQL[5] serwisu nazw -tnameservice, oraz
regulatora obciążenia (load balancer). Serwer WWW
odsyła strony internetowe po otrzymania żądania od
klienta – przeglądarki WWW (sesja HTTP)[2]. Jest on
kontenerem komponentów: serwletów JAVA,
dokumentów JSP, obiektów JavaBean. Wymienione
komponenty to elementy technologii J2EE.
(www.java.sun.com). Zadaniem tych komponentów to:
generowanie stron internetowych, przeprowadzanie
transakcji z bazą danych i komunikacja z kontekstem
obliczeniowym MOPS. Serwis nazw (Name Service)
jest zapewniany przez technologię: Java Developement Rys. 2.Funkcjonalność panelu użytkownika -
Kit lub z implementacją CORBY - OmniORB. applet monitorujący stan systemu.
Zadaniem serwisu nazw jest rejestrowanie referencji,
czyli wskazań na serwery w rozumieniu CORBA. Funkcjonalność panelu administratora
systemu
Węzeł obliczeniowy
W systemie stworzono dwie role. Pierwsza to
Stacja robocza, realizuje funkcję węzła użytkownik, którego możliwości wymieniono w
obliczeniowego, w momencie uruchomienia programu poprzednim rozdziale, a druga to administrator,
zarządzającego programem MOPS (MOPS na .której skoncentrujemy się w tym rozdziale.
FACTORY). Wówczas program ten rejestruje swoją
referencje w serwisie nazw na serwerze. Za pomocą
tego programu komponenty na serwerze, uzyskują
informacje o danym węźle obliczeniowym tj.: wielkość
CPU, wartość średniego obciążenia CPU węzła, ilość
wolnej i całkowitej pamięci. Podczas rozpoczęcia
obliczeń użytkownikowi przedstawione są powyższe
informacje, co daje pewną orientację o mocy
obliczeniowej węzła.

Klient

Symulacja jest wykonywana i prezentowana


Rys. 5. Preprocessor- model diody , widok apletu Javy.
Rys 3. Funkcjonalność panelu administratora oraz apletu
monitorujący stan sytemu.
Stabilizator obciążenia
Roli administratora udostępniono opcje: wykonywanie
symulacji, dodawanie/usuwanie użytkowników i grup Za pomocą stabilizatora obciążenia (load
użytkowników, dodawanie/usuwanie zadań balancer) użytkownik może wybrać jeden lub dwa
użytkowników, podgląd przestrzeni serwisu nazw komputery z puli dostępnych węzłów obliczeniowych
(CORBA), i informacji o użytkownikach (adres IP w sieci, które będą wykonywały zadane obliczenia.
klienta, zadań użytkownika i szczegółów sesji) Domyślnie, dwa najbardziej wydajne komputery będą
wybierane do przeprowadzenia obliczeń.
Pre-processor – ustawienie parametrów
symulacji

Symulator zapewnia wizualizację


wewnętrznej struktury przyrządu, co pozwala na lepsze
zrozumienie zachodzących tam procesów. Stąd ma
duże znaczenie dydaktyczne. Parametry symulacji to:
wymiary geometryczne przyrządu, profil
domieszkowania n+, n, p+, ilość punktów
dyskretyzacji, zakres napięcia polaryzującego,
wymiary diody, czas życia nośników. Dzięki
przeprowadzonym symulacją możliwe jest określenie,
jak zmiany parametrów półprzewodnika (np. czas życia
czy ruchliwość nośników) wpływają na
funkcjonowanie przyrządu (a przez to całego obwodu).

Rys. 6. Zrzut ekranu prezentujący stabilizator


obciążenia

Jądro obliczeniowe
Rys 4 Profil domieszkowania diody p-n.. MOPS (Modelling Program for
Semiconductors) Program umożliwia wykonanie
Ustawienie wyżej wymienionych parametrów analizy stałoprądowej (.DC) jak i stanów
dokonywane jest w interaktywnym aplecie javy ze przejściowych (.TRAN).
strony www. Program implementuje układ równań dryftowo-
dyfuzyjnych: (1), (2), (3), (4), (5), w celu obliczenia
potencjału i gęstości nośników w strukturze
półprzewodnika.
Pierwsze równanie to równanie Poissona.
∇ 2Ψ = − ( p − n + N D − N A )
q
(1) ε

Ψ - potencjał elektryczny[V]
q –ładunek [C]
ε -przenikalność dielektryczna [F/m] obliczenia programu MOPS. Każda kolejna iteracja
n, p –koncentracja elektronów i dziur [1/m3] zależy bezpośrednio od poprzedniej. Wszystkie
ND, NA –koncentracja donorów i akceptorów [1/m3] obliczenia charakterystyki muszą rozpoczynać się od
wartości 0. W innym przypadku obliczenia nie będą
∂n 1 zbieżne. Symulator może rozdzielić obliczenia na dwa
= ∇J n − R + G komputery. Jeden komputer oblicza charakterystykę od
(2)
∂t q
wartości zera w dół charakterystyki, a drugi, od
∂p 1 wartości 0 w górę. Po wykonaniu obliczeń komponent
= − ∇J p − R + G aplikacji – serwlet, zbiera wyniki z programu MOPS
(3)
∂t q wywołując metody: GetInternalQuantities,
t – czas [s] GetCurrent.
Jn, Jp gęstość prądu elektronowego i dziurowego [A/m2] Wyniki są zapisywane do bazy danych. Program
G – współczynnik generacji [1/s/m3] MOPS kończy swoje działanie, gdy zdalnie jest
R - współczynnik rekombinacji [1/s/m3] wywoływana jego metoda: Shutdown.

(4)
J n = q( µn nEn + Dn ∇n ) Wyniki symulacji
J p = q ( µ p pE p − D p ∇ p )
(5) Wyniki symulacji są zaprezentowane na
dwóch wykresach (rys. 7,8,9,10). Pierwszy (w górnej
gdzie, części ekranu) jest charakterystyką prądowo-
µn, µp- ruchliwość elektronów i dziur [m2/V/s] napięciową. Żółty punkt na charakterystyce oznacza
En , Ep - wynikowe pole elektryczne oddziaływujące na punkt pracy diody. Użytkownik może ustawić punkt
elektrony i dziury [V/m]
pracy w dowolnym punkcie charakterystyki, regulując
Dn, Dp- współczynnik dyfuzyjności elektronów i dziur [m2/s]
suwak (pośrodku ekranu).
W celu rozwiązania tych równań użyto metody różnic Dla każdego punktu pracy charakterystyki, w dolnej
skończonych. Program generuje siatkę części ekranu, prezentowane są wartości wewnętrzne
jednowymiarową, a równania różniczkowe - cząstkowe diody. Odpowiednio zaznaczając pola typu ,,check
zostają zastąpione równaniami różnicowymi. box” po prawej stronie ekranu, wyświetlane są
Warstwa logiczna aplikacji używa komponentów – wartości wewnętrzne: potencjał elektryczny,
serwletów, w celu komunikacji z programem MOPS, koncentracja elektronów, koncentracja dziur, pole
przy użyciu modelu komunikacyjnego CORBA.. elektryczne, gęstość prądu elektronowego, gęstość
Opracowano poniższy interfejs komunikacyjny: prądu dziurowego, współczynnik rekombinacji.

interface mops {
typedef sequence<double> doubleArray;
enum IntQ {V,N,P,E,Jn,Jp,GenRec};
void SetDeviceGeometry(in long L,
in double W,
in double S);
//L – points number
//W - width
//S – cross section
void SetDopingProfile(in doubleArray Nd,
in doubleArray Na);
//Nd doping profile
//Na doping profile
void SetTau(in double Taun,
in double Taup);
//Taun doping n parameter
//Taup doping p parameter
void SetBias(in double U);
//U voltage on anode
boolean Compute();
void GetInternalQuantities(in IntQ What, Rys. 7. Interaktywny aplet Javy prezentujący wyniki
out doubleArray q); symulacji. W dolnej części wykresu pokazano rozkład
double GetCurrent();
void Shutdown(); potencjału i pola elektrycznego wewnątrz przyrządu
}; dla stanu zaporowego.

Wszystkie metody pokazane powyżej są


zaimplementowane przez program MOPS. Strona
serwera uzyskuje referencję na nowo utworzoną
instancję programu MOPS. Zdalne wywołanie metod
SetDeviceGeometry, SetDopingProfile, SetTau,
SetBias służy zdefiniowaniu parametrów obliczeń.
Wywołanie metody Compute inicjuje iteracyjne
Głównym celem projektu było stworzenie
aplikacji internetowej, która zapewniałaby łatwy w
obsłudze interfejs do symulacji zjawisk zachodzącego
w diodzie półprzewodnikowej używając w tym celu
jednowymiarowego modelu fizycznego.
System zapewnia bezpieczny, autoryzowany sposób
kontrolowania obliczeń ze śledzeniem postępu i
możliwością ich anulowania w trakcie. Użyte zostały
niekomercyjne oprogramowanie takie jak: system bazy
danej: MySQL, serwer WWW – Tomcat, środowisko
programistyczno-uruchomieniowe Java i architektura
wywołania zdalnych metod obiektów – CORBA.
Wszystkie cele projektu zostały zrealizowane
pomyślnie i zaproponowany system rozproszenia
Rys. 8. Interaktywny aplet Javy prezentujący wyniki obliczeń może działać w przyszłości z innymi
symulacji. W dolnej części wykresu pokazano elementami elektronicznych symulacji.
koncentracje elektronów i dziur dla stanu blokowania.
Autorzy
mgr inż. Bogumił.Zięba, mgr inż. Jarosław
.Wojciechowski, dr inż. Grzegorz.Jabloński, mgr inż.
Wojciech Zabierowski, prof. Andrzej.Napieralski
Katedra Mikroelektroniki i Technik Informatyczych,
Politechnika Łódzka,
Al. Politechniki 11, PL-93590 Łódź, Polska.
e-mail:{bzieba,jwojcie,gwj,zabier,napier}
@dmcs.p.lodz.pl

Literatura
[1] G. Jabłoński - “Komputerowa analiza układów
elektronicznych z zastosowaniem
wielowymiarowych modeli fizycznych
przyrządów półprzewodnikowych mocy”-
Rys. 9. Interaktywny aplet Javy prezentujący wyniki rozprawa doktorska., Politechnika Łódzka, 1999,
symulacji. W dolnej części wykresu pokazano Katedra Mikroelektroniki i Technik
szybkość rekombinacji i koncentrację dziur dla stanu Informatycznych, Politechnika Łódzka
przewodzenia. [2] World Wide Web Consortium
Specyfikacja języka HTML 4.0
http://www.w3.org/TR/html4/
[3] Object Management Group (OMG)
Specyfikacja technologii CORBA
http://www.omg.org/technology/documents/corba_s
pec_catalog.htm
[4] Strona projektu JAKARTA
Specyfikacja serwera TOMCAT
http://jakarta.apache.org/tomcat/
[5] Strona projektu MySQL.
Specyfikacja systemu bazy danych MySQL
http://www.mysql.com/

Rys. 10. Interaktywny aplet Javy prezentujący wyniki


symulacji. W dolnej części wykresu pokazano przebieg
prądu dziurowego i elektronowego.

Podsumowanie

You might also like