ANALIZA UKŁADÓW LOGICZNYCH I ANALIZA OPROGRAMOWANIA
Author
others
View
15
Download
0
Embed Size (px)
344 x 292
429 x 357
514 x 422
599 x 487
Text of ANALIZA UKŁADÓW LOGICZNYCH I ANALIZA OPROGRAMOWANIA
Seria: INFORMATYKA z. 22 Nr kol. 1195
Leszek PONKA Instytut Informatyki Teoretycznej i Stosowanej PAN ul.
Batycka 5, 44-100 Gliwice
A N A L IZ A U K A D Ó W L O G IC Z N Y C H
I A N A L IZ A O P R O G R A M O W A N IA
Streszczenie. W artykule zostao omówione zagadnienie analizy ukadów
lo gicznych i analizy oprogramowania oraz wybrane aspekty
konstrukcji analizato rów ukadów logicznych i analizatorów
oprogramowania. Przedstawione zostay równie rozwizania
konstrukcyjne komparatora stanów i komparatora sekwencji stanów -
bdcych istotnymi elementami analizatora - zastosowanych w zbudo
wanej w Instytucie Informatyki Teoretycznej i Stosowanej PAN
rodzinie stanowisk wspomagajcych uruchamianie systemów cyfrowych i
mikroprocesorowych czasu rzeczywistego.
LOGIC ANALYSIS AND SOFTWARE ANALYSIS
Summar}'. The paper discusses the techniques of logic analysis and
software analysis as well as selected aspects of logic analyzer and
software analyzer design. State comparators and sequence
comparators - important logic analyzer elements - implemented in a
family of real-time system development workstations built at
Institute of Theoretical and Applied Computer Science, Polish
Academy of Sciences, are also presented.
ss L. Pionka
ANALYSE DE SYSTÈMES LOGIQUES ET DU LOGICIEL
Résumé. L’article discute les techniques d ’analyse de systèmes
logiques et d’analyse de logiciel ainsi que certains aspects de
construction de ces systèmes. On présente les comparateurs d’états
et implementés dans la famille de stations qui aident la mise en
marche de systèmes numériques et microprocesseurs temps réel,
élaborée dans l’Institut de l’Informatique Théorique et Appliquée
de l’Academie Polonaise des Sciences.
1. W s t p
Analiza ukadów logiczych i analiza oprogramowania odgrywaj istotn
rol w pracy projektantów wspóczesnych systemów cyfrowych i
mikroprocesorowych. Chocia wstpne fazy projektów charakteryzuj si
zwykle szerokim stosowaniem metod teoretycznych oraz narzdzi typu
CAD, jednak w kocu nastpuje etap fizycznej realizacji projektu i
testo-
; wania w warunkach rzeczywistych. Do realizacji tego etapu
niezbdne s narzdzia dajce moliwo obserwacji stanów zbudowanego
systemu i pomiaru jego parametrów. Rodzaj poszukiwanej informacji o
badanym ukadzie zaley od zada projektanta. Jeeli zaj muje si on
uruchamianiem czci sprztowej projektu, interesowa go bd przebiegi w
pewnych punktach ukadu, zalenoci czasowe midzy sygnaami itp.
Projektant oprogra mowania systemu czasu rzeczywistego chce zwykle
zna przepyw sterowania w swoim programie, stany zmiennych (obszarów
pamici), czasy wykonania poszczególnych mo duów programowych,
szybko i sposób reakcji na zdarzenia zewntrzne itp. Metody analizy
ukadów logicznych oraz analizy oprogramowania s bardzo przydatne w
zbie raniu tych informacji, mog wic by stosowane do uruchamiania i
testowania sprztu i oprogramowania, a take do integracji
sprztowo-programowej.
Niniejsze opracowanie stanowi propozycj przedstawienia caoci
zagadnienia analizy ukadów logicznych i analizy oprogramowania.
Szczególny nacisk pooony zosta na opis samej metod}', a nie jej
zastosowa czy te budowy przyrzdów j wykorzystujcych. Algorytmy nie
s zoone i mogyby by przedstawiane rónymi metodami. Jednym z
ciekawszych sposobów wydaje si by zastosowanie notacji CSP
(Communicating Sequ ential Processes) [1 , 2], która
charakteryzuje si prostot i zwizoci oraz wprowadza bardzo istotne
dla zagadnienia analizy ukadów logicznych pojcie ladu procesu
(dodatek A zawiera krótkie omówienie CSP).
Analiza ukadów logicznych. 89
2. A n a liza u k ad ó w logiczych
Analiza ukadów logicznych jest metod uruchamiania systemów
cyfrowych (mikro procesorowych) polegajc na rejestracji w czasie
rzeczywistym i póniejszym przetwo rzeniu/analizie przebiegów
czasowych lub sekwencji stanów danego systemu. Urzdzenie suce do
tego celu nazywa si analizatorem ukadów logicznych.
Dane rejestrowane przez analizator tworz lad (ang. tracc) pracy
systemu, a proces ich rejestracji nazywany bdzie ladowaniem.
Znajomo rzeczywistych przebiegów wystpujcych w badanym ukadzie moe
sta nowi nieocenion pomoc przy jego uruchamianiu lub naprawie
(zwaszcza w pracach konstrukcyjnych, gdy do naprawy sprztu
produkowanego seryjnie znacznie wygodniej sze i efektywniejsze s
metody wykorzystujce analiz sygnatur).
Proces analizy ukadów logicznych m ojna scharakteryzowa w nastpujcy
sposób:
1 . analizator jest fizycznie poczony z badanym ukadem
cyfrowym;
2. analizator jest dla badanego systemu ‘przezroczysty’, tzn. nie
zakóca pracy bada nego systemu pod wzgldem elektrycznym ani
logicznym;
3. czas w procesie analizy jest dyskretny, a kolejne chwile
wyznaczane s przez sygna cyfrowy, zwany sygnaem zegarowym;
4. stany badanego systemu w kolejnych chwilach czasu stanowi dla
analizatora wek tory wejciowe;
5. kolejne wektory wejciowe zapamitywane s w czasie rzeczywistym w
pamici ana lizatora;
6. pami analizatora ma skoczon pojemno;
7. prezentacja zebranych danych odbywa si z szybkoci umoliwiajc
uytkowni kowi ich zrozumienie i interpretacj.
Naley tu podkreli znaczenie punktów (2) i (5) mówicych o
przezroczystoci ana lizatora oraz jego pracy w czasie
rzeczywistym, poniewa analiza ukadów logicznych z zaoenia jest m
etod dynamiczn, majc na celu ledzenie funkcjonowania ukadu
pracujcego z pen szybkoci, w odrónieniu od metod statycznych,
wymagajcych wstrzymywania badanego ukadu w kadym cyklu pracy.
W rozumieniu notacji CSP lad procesu jest sekwencj zdarze, w
których ten proces uczestniczy. Na potrzeby opisu zagadnienia
analizy ukadów logicznych ladem nazwiemy
90 L. Ponka
sekwencj stanów systemu cyfrowego, przy czym zakadamy, e lad ten
obejmuje tylko te stany ukadu, które wystpiy po uruchomieniu
badanego ukadu. lad analizowanego ukadu T oznaczymy przez t (i g
traces(T)), natomiast lad zdarze zarejestrowanych przez analizator
oznaczymy przez a (a £ T ‘). lad a tworzony jest w nastpujcy
sposób: pocztkowo lad jest pusty (a = ()), nastpnie, wraz z kadym
taktem zegara analizatora, do ladu dodawany jest wektor binarny
x/;, reprezentujcy stan wej analizatora:
if # a < n then (a = a A( i *))
else (a = a 'A(xt ))
przy czym n jest maksymaln dopuszczaln dugoci zarejestrowanego ladu
(zawsze # a < n - ograniczenie to spowodowane jest skoczon
pojemnoci pamici ladu anali zatora).
Kolejne chwile k wyznaczane s przez sygna zegarowy synchronizujcy
prac anali zatora.
2.1. Sadowanie warunkowe
Warunkiem elementarnym bdziemy nazywali form zdaniow
X IZY (1 )
gdzie X jest stanem wejcia analizatora, Y jest liczb lub przedziaem
liczbowym zade klarowanym przez uytkownika, natomiast (zwykle)
relacja 7Z g {=, y, > , < , > , < , £}.
Rejestracja danego stanu przez analizator nastpuje w momencie
spenienia warunku ladowania W , zadeklarowanego przez uytkownika,
czyli
if W then a = a f'(xk)
Analiza ukadów logicznych. 91
Warunek W moe skada si z jednego lub kilku warunków elementarnych,
poczo nych za pomoc operatorów logicznych (np. AND, OR,
NOT).
W przypadku relacji równoci i rónoci konstrukcja analizatora
powinna równie umoliwia maskowanie bitów wektora wejciowego. Ma to
na celu wyeliminowanie ich wpywu na warto logiczn wyraenia (1
).
Rónorodno praktycznie stosowanych metod deklaracji warunków
adowania (kwa lifikatorów ladu warunkowego) jest znaczna [4, 7, 8,
9, 10], dlatego uproszczony opis przedstawiony powyej jest jedynie
pewnym uogólnieniem, przydatnym do rozwaa te oretycznych.
2.2. Algorytm pracy analizatora ukadów logicznych
Algorytm pracy moduu adowania mona, w ogólnym przypadku, przedstawi
nas tpujco
A = (tr —+ acq —> A [] br —> STOP)
Spenienie warunku adowania tr prowadzi do rejestracji acq stanu
wej. Proces ten zachodzi cyklicznie (co jest symbolizowane przez
rekurencj A —+ . . . A) a do momentu spenienia warunku przerwania
adowania br.
Równoczenie z blokiem rejestracji danych (adowania) A pracuje blok
komparacji C, sygnalizujcy blokowi A wystpienie warunku
adowania
C = ( trcond —» tr —> C [] brcond —> br —+ STO P )
trcond oznacza spenienie warunku adowania IR, które jest
sygnalizowane blokowi la- dowania A jako zdarzenie tr; brcond
oznacza spenienie warunku przerwania adowania, sygnalizowane
blokowi A jako zdarzenie br.
Przyczyna przerwania adowania moe by nastpujca:
• spenienie warunku przerwania adowania zadeklarowanego przez
uytkownika, np. zapenienie pamici ladu;
• interwencja uytkownika, np. nacinicie klawisza ‘break’.
Cay czas pracuje równie obserwowany ukad prototypowy T (realizujcy
zdarzenia ze swojego sownika aT)
T = (z : a T —+ T)
W notacji CSP równoleg prac ukadów A, C i T zapisuje si A || C ||
T.
92 L. Ponka
2.3. Fizyczna realizacja ladowania
Przy zaoeniu, e m oznacza pami ladu, natomiast Xk jest wektorem
wejciowym w chwili k, realizacj elementarnej operacji acq mona
przedstawi nastpujco
m (j) «- x k
j <- j © 1
przy czym j jest licznikiem adresów pamici ladu; symbol <—
oznacza operacj przypi sania, natomiast symbol © oznacza operacj
dodawania modulo n.
Poniewa czas zapisu do pamici jest stosunkowo duy, w praktyce
stosuje si rejestry buforujce. Rejestr zapamituje stan wej, a
nastpnie jest przepisywany do pamici ladu
r <- xk
m (j) «- r
Z uwagi na ograniczon pojemno pamici ladu nie jest moliwa
rejestracja dugich sekwencji (zawsze j ja < n). Moliwe jest
jednak pewne zwikszenie dugoci ladu przez zastosowanie kompresji
strumienia danych
if xit ^ m (j © 1 ) then
( m U) *k j «- j ffl 1 t ( j \ «- k)
przy czym symbol © oznacza operacj odejmowania modulo n, natomiast
t w tym przy padku oznacza pami numeru próbki k. Zamiast operacji
t ( j ) *— k, analizator moe równie wykonywa operacj t( j) <—
Ai:, gdzie A k = k — t( j © 1 ).
Wektor x k zapisywany jest do pamici ladu tylko wtedy, gdy jest on
róny od swojego poprzednika Xk-i- Aby moliwe byo odtworzenie
oryginalnego przebiegu, zapamitane zostaj take numery ssiednich
próbek (bd te rónice ich numerów, czyli odlegoci midzy nimi). W
przypadku stosowania kompresji strumienia danych lad badanego sys
temu T jest sekwencj par (x t, k) lub (x/t, A k).
Zapis do pamici ladu jest synchronizowany przebiegiem zegarowym,
wyznaczajcym kolejne chwile zapisu. Przy zaoeniu, e fd — l / T i
oznacza maksymaln czstotliwo zmian danych na wejciu analizatora,
natomiast f c = l /T i okrela czstotliwo zegara wyznaczajcego
chwile zapisu do pamici ladu, w trybie analizy czasowej
warunek
Analiza ukadów logicznych. 93
(ograniczenie szybkoci) okrela zakres stosowalnoci analizatora
ukadów logicznych. Proces kompresji, dla trybu analizy czasowej,
mona pogldowo wyjani w nastpu
jcy sposób: czstotliwo wewntrznego zegara powinna by proporcjonalna
do maksy malnej czstotliwoci zmian stanu wej analizatora (tak aby
by speniony warunek (2)), przy czym musi ona by odpowiednio dua, by
uzyska zadowalajc dokadno pomiaru i równoczenie moliwie maa, aby
efektywnie wykorzysta pami ladu. Najlepsze efekty mona osign, gdy
czstotliwo wewntrznego zegara bdzie dostosowywa si dyna micznie do
zmieniajcej si czstotliwoci przebiegów wejciowych. Rozwizaniem jest
generowanie sygnau zegarowego w wyniku zmiany stanu wej
analizatora, oczywicie synchronicznie z wewntrznym zegarem,
okrelajcym maksymaln szybko jego pracy.
2.4. Analiza stanów logicznych
Podczas analizy stanów logicznych (ang. state analysis) chwile
zapisu danych do pa mici analizatora s wyznaczane przez zegar
badanego systemu (zegar zewntrzny). Ten tryb pracy analizatora jest
dogodny do analizy stanów wystpujcych w systemie syn chronizowanym
przez jeden przebieg zegarowy (takich jak np. stany magistral
systemu mikroprocesorowego lub te stany klasycznego synchronicznego
ukadu sekwencyjnego). Mona np. ledzi wykonywanie programu przez
system mikrokomputerowy, gdy ist nieje moliwo zapamitania
wszystkich cykli dostpu do pamici systemu, co pozwoli stwierdzi,
jakie instrukcje zostay wykonane przez mikroprocesor. Jeeli
interesuj nas zalenoci czasowe w badanym ukadzie, niezbdne jest
rejestrowanie czasu rzeczywistego, jak poniej
m (j) — xk
c{j) clk(k)
j *- j © 1
clk(/o) oznacza stan zegara czasu rzeczywistego, w jaki wyposaony
musi by analizator stanów logicznych.
2.5. Analiza przebiegów czasowych
Analiza przebiegów czasowych (ang. timing analysis) ma na celu
ledzenie funkcjono wania sprztu cyfrowego poprzez rejestracj
przebiegów czasowych w nim wystpujcych.
94 L. Ponka
Wprowadzanie danych pomiarowych do pamici analizatora jest
asynchroniczne wzgl dem wszystkich sygnaów wystpujcych w badanym
ukadzie, chwile zapisu s bowiem wyznaczane przez wewntrzny
generator zegarowy analizatora p regulowanej czstotli woci.
Wtedy
x k = X (k T )
gdzie T jest okresem zegara analizatora, natomiast X ( k T )
oznacza stan wej analizatora w chwili kT. Operacj ladowania stanu
wej mona wic przedstawi nastpujco:
m (j) *— X { k T )
j «- j ® 1
Ten tryb pracy jest dogodny do analizy zalenoci czasowych
wystpujcych midzy sygnaami oraz zjawisk spowodowanych bdnym
funkcjonowaniem sprztu.
Czsto analizator ukadów logicznych zawiera oddzielne bloki suce do
analizy cza sowej i analizy stanów. Bloki te mog pracowa
niezalenie lub razem, uatwiajc w ten sposób rozwizywanie zoonych
problemów sprztowo-programowych. Prostsze analiza tory s wyposaone
w tylko jeden modu ladowania, ale daj moliwo wyboru midzy zegarem
zewntrznym i wewntrznym.
Tryb analizy czasowej zwany jest te trybem asynchronicznym (ang.
asynchronous mode), natomiast tryb analizy stanów zwany jest te
trybem synchronicznym (ang. syn chronous mode).
2.6. Prezentacja danych pomiarowych
Sposób prezentacji danych pomiarowych moe mie istotny wpyw na
komfort pracy uytkownika analizatora ukadów logicznych. Sposób
najlepszy zaley od tego, co przedstawiaj dane znajdujce si
aktualnie w pamici ladu oraz jakich informacji uyt kownik
poszukuje. Do prezentacji danych suy zwykle monitor ekranowy
analizatora lub drukarka.
W przypadku analizy czasowej dane pomiarowe s zwykle przedstawiane
w postaci wykresów czasowych (ang. waveform display).
W przypadku analizy stanów logicznych dane pomiarowe mog by
przedstawiane:
• w formie tablic stanów (ang. state table display), z moliwoci
wyboru danego formatu, np. dwójkowego, ósemkowego, dziesitnego lub
szesnastkowego;
• w postaci symbolicznej (ang. symbolic display), stosowanej w
przypadku ladowa nia stanów magistral systemu mikroprocesorowego.
Zawarto pamici ladu jest w
Analiza ukadów logicznych. 95
tym przypadku poddawana przetworzeniu przez disasembler odpowiedni
do typu mikroprocesora zastosowanego w badanym ukadzie;
• w formie grafów stanów (ang. state graph display). Zawarto
kolejnych komórek pamici ladu TM traktowana jest jako cig liczbowy
TM(i) (gdzie i = 0 , . . . , n —1 ), który przedstawiany jest
graficznie w ukadzie wspórzdnych. Ten sposób prezen tacji danych
wygodny jest do obserwacji przepywu sterowania w programie, loka
lizacji ptli programowych lub analizy pracy przetworników
analogowo-cyfrowych.
2.7. Budowa analizatora ukadów logicznych
W kadym analizatorze ukadów logicznych mona wyróni kilka
podstawowych blo ków funkcjonalnych:
• modu ladowania realizujcy funkcj ladowania;
• modu komparatora sekwencji sterujcy procesem ladowania;
• modu komunikacji z uytkownikiem sucy do prezentacji danych
pomiarowych oraz przyjmowania zlece.
Na poszczególne bloki skadaj si dodatkowe podukady, takie
jak:
• sondy wejciowe - su do poczenia analizatora z badanym
ukadem;
• rejestry wejciowe - buforuj dane doprowadzone do pamici
ladu;
• pami ladu - przechowuje dane pomiarowe;
• ukad tworzenia adresu pamici ladu;
• komparator sekwencji stanów;
• generator zegarowy;
Cech analizatora, równie wan jak moliwoci funkcjonalne
zdeterminowane przez jego konstrukcj, jest odpowiednie
oprogramowanie, umoliwiajce uytkownikowi korzy stanie z urzdzenia
w sposób prosty i efektywny, pozwalajce szybko przeprowadzi po
miary, a take przedstawi ich wyniki w najodpowiedniejszej w danym
przypadku postaci.
96 L. Pionka
Z ca pewnoci nie jest to zadanie atwe i do koca rozwizane, o czym
moe wiadczy znaczna rónorodno rozwiza spotykanych w produkowanych
obecnie analizatorach [4, 7, 8, 9, 10].
Poniej zostay przedstawione niektóre aspekty konstrukcji
analizatora ukadów lo gicznych.
U k a d y w ejciowe
Zwykle ukady wejciowe analizatora ukadów logicznych skadaj si z
sond wejcio wych oraz rejestrów buforujcych. Zadaniem sond jest
poczenie badanego ukadu z pozostaymi moduami analizatora, dlatego
musz si one charakteryzowa odpornoci na znaczne napicia wejciowe
(zarówno dodatnie, jak i ujemne), bardzo m a pojem noci wejciow,
du rezystancj wejciow i, przede wszystkim, bardzo maym czasem
propagacji. Inn cech sond musi by zdolno do dokonywania konwersji
poziomów lo gicznych. Analizator musi suy do ledzenia pracy urzdze
cyfrowych zbudowanych z dowolnych ukadów, powinna wic istnie moliwo
zmiany progu przeczania sond wej ciowych, tak aby zawsze moliwe
byo dostosowanie ich do okrelonej rodziny ukadów scalonych. Sondy
powinny równie charakteryzowa si maym ciarem oraz wymiarami,
odpowiedni dugoci przewodów czcych itp.
Rejestry su do buforowania danych doprowadzonych do pamici ladu,
gdy czas trwania zapisu do rejestru wyzwalanego zboczem jest
znacznie mniejszy od czasu zapisu do pamici. Na wyjciach rejestrów
utrzym uj si stabilne dane przez czas niezbdny do zakoczenia cyklu
zapisu do pamici ladu.
Z w ikszanie czsto tliw oci p ró b k o w an ia
Czas dostpu do pamici stanowi istotny czynnik ograniczajcy
maksymaln szybko pracy analizatora ukadów logicznych, moliwe jest
jednak ominicie tego ograniczenia przez zastosowanie tzw. przeplotu
pamici ladu, polegajcego na zastosowaniu p banków pamici,
pracujcych na przemian
m ; i - x k
przy czym symbol 0 oznacza dodawanie modulo p. Metoda ta pozwala na
p-krotne przyspieszenie pracy pamici. Maksymaln czstotliwo pracy
mona zwikszy równie przez zastosowanie potoku
rejestrów przesuwajcych sr
sr ! <- x k
Po p taktach zegara zawartoci wszystkich rejestrów zostaj
przepisane do rejestrów rów nolegych r
VI < i < p. r,- <— sr,-
które w cigu czasu odpowiadajcego p taktom zegara synchronizujcego
prac analiza tora mog by przepisane do wszystkich banków
pamici
VI < i < p. mi <— r;
Analizator wymaga wic zastosowania p banków pamici, podobnie jak w
przypadku przeplotu.
Jednemu cyklowi pamici odpowiada n cykli zapisu do potoku
rejestrów, czyli mini malny czas przyjcia próbki równy jest
rp _ + Tm P
gdzie Tp jest sum czasów wyprzedzenia informacji na wejciu rejestru
sr oraz jego czasu propagacji, a Tm to czas dostpu do pamici.
Wad tej metody jest konieczno spenienia warunku p f < f „ gdzie
f , jest maksy maln dopuszczaln czstotliwoci pracy rejestru sr
oraz / = 1 /T a i konieczno uycia wikszej liczby rejestrów,
natomiast zalet jest moliwo zastosowania zegara jednofazo wego
oraz tylko jednego ukadu adresowania pamici. W obu metodach zwraca
równie uwag róna organizacja pamici ladu oraz róna struktura danych
w tej pamici. Przy okazji omawiania ukadów wejciowych warto zwróci
uwag na zjawisko metastabilnoci.
M etas tab iln o
Podczas pracy synchronicznego przerzutnika bistabilnego niezbdne
jest zapewnienie wymaganych czasów wyprzedzenia oraz trzymania
informacji ( t ,etup oraz f wzgldem aktywnego zbocza przebiegu
zegarowego przy zmianie poziomu logicznego na wejciu in
formacyjnym przerzutnika. Jeeli jednak wymagania te zostan
naruszone, to istnieje pewne niezerowe prawdopodobiestwo, e wyjcie
przerzutnika przejdzie do stanu meta- stabilnego, tzn. poziom
napicia wyjciowego przez pewien czas bdzie si znajdowa w obszarze
zabronionym, tj. midzy stanem niskim i wysokim. Chocia w praktyce
przerzut- nik wychodzi ze stanu rnetastabilnego po czasie niewiele
wikszym od czasu propagacji tego przerzutnika, to jednak
teoretycznie stan ten moe trwa nieskoczenie dugo. Nie
bezpieczestwo wynikajce z wystpienia zjawiska metastabilnoci jest
oczywiste: jeeli
9S L. Pionka
W prawidowo zaprojektowanym ukadzie synchronicznym praktycznie nie
m a moli woci przejcia przerzutników do stanu metastabilnego.
Niestety moliwo wystpienia tego stanu pojawia si w miejscach
asynchronicznego sprzgania ukadów, tzn. w miej scach, gdzie
wykorzystywane s przerzutniki (rejestry) do synchronizowania
przebiegów asynchronicznych. Jeeli stan wej przerzutnika (rejestru)
zmienia si asynchronicznie wzgldem przebiegu zegarowego
doprowadzonego do ukadu, to oczywicie nie m a moli woci
zapewnienia wymaganych czasów thoii i co nieuchronnie musi
doprowadzi do wystpowania stanów metastabilnych. W analizatorze
ukadów logicznych sytuacja taka ma miejsce, gdy pracuje on w trybie
analizy czasowej, wtedy bowiem dane wejciowe s próbkowane
asynchronicznie przy wykorzystaniu wewntrznego generatora
zegarowego.
Jeeli przez F oznaczymy czsto wystpowania zdarzenia polegajcego na
tym, e wyjcie przerzutnika znajduje si w stanie metastabilnym po
czasie t od aktywnego zbocza zegara, to zachodzi nastpujca zaleno
[3]:
F = h f cf de - W ~ ^ (3)
gdzie: f c - czstotliwo sygnau zegarowego, f i - czstotliwo zmian
sygnau na wejciu danych, t - czas od aktywnego zbocza zegara.
Na przykad dla rejestrów typu 374 parametry k\, k2 i <o wynosz
[3]:
Producent Typ ukadu A-i[sek] ^ [ l/n s ] i0[ns] MMI LS374 2 x 1(T7
1.8 27.5 FAIRCHILD F374 2 x lO“ 7 11.5 17.5
Projektujc urzdzenie, w którym mog wystpi stany metastabilne,
zakada si pe wien czas, w którym przerzutnik powinien wyj ze stanu
metastabilnego. Przekroczenie tego czasu moe spowodowa bd w pracy
urzdzenia. Najczciej przyjmuje si za do puszczaln moliwo
wystpienia jednego bdu na rok.
Po przeksztaceniu wzoru (3) otrzymamy wzór, który pozwoli obliczy
maksymaln czstotliwo przebiegu zegarowego, przy którym czsto
wystpowania bdu (czyli prze kroczenia przez czas trwania stanu
metastabilnego wartoci i) jest nie wiksza od zaoo nej:
Analiza ukadów logicznych. 99
fc = h j d
Jeeli dodatkowo zaoymy, e uycie analizatora o czasie akwizycji
próbki Ta ma sens w przypadku, gdy okres przebiegów wejciowych T
jest wikszy od czasu Ta (czyli fc > f i ) , to moemy obliczy
maksymaln czstotliwo przebiegu zegarowego:
fc = V
oraz odpowiadajcy jej minimalny czas przyjcia próbki Ta = 1 / / c.
Moemy równie obliczy czas t przy zaoeniu czstotliwoci przebiegu
zegarowego
f c oraz zadowalajcej nas wartoci F :
t = t0 + ±-]n(kl f * ' F) (4) *2
Przy wykorzystaniu danych z zestawienia przedstawionego wyej oraz
przyjciu przy kadowych wartoci:
f c = 10 MHz F = l /ro k = 3.2 x 10- 8
moemy ze wzoru (4) obliczy czas t dla dwóch rejestrów typu 374, jak
poniej:
Producent Typ ukadu t[ns] p[ns] MMI LS374 46 19 FAIRCHILD F374 20
6.1
Czas tp to katalogowa warto czasu propagacji sygnau od zegara do
wyjcia dla tych. typów ukadów. Z powyszego zestawienia wida, e czas
trwania stanu metastabilnego jest ok. 2-3 razy duszy od czasu
propagacji (dla zaoonych wartoci F = l/rok oraz f c = 10MHz) i
nawet w przypadku szybkiego rejestru F374 wynosi a 20 ns.
Z punktu widzenia poprawnoci wyników analizy istotna jest jedynie
czsto wy stpowania zjawiska metastabilnoci, nie jest natomiast
istotny czas jego trwania. Kade wystpienie zjawiska metastabilnoci
oznacza potencjaln moliwo zapisania do pamici siadu wartoci bdnej,
tzn. rónej od stanu wejcia w. momencie wystpienia aktywnego zbocza
sygnau zegarowego. W celu uniknicia bdów naley dy do tego, by
szeroko strefy t ltup + rejestrów wejciowych bya jak
najmniejsza.
100 L. Ponka
W przypadku komparatorów stanów suma czasu trwania stanu
metastabilnego oraz czasu komparacji powinna by mniejsza od okresu
zegara synchronizujcego prac anali zatora w celu niedopuszczenia
do bdnego obliczenia warunku ladowania.
W y k ry w an ie k ró tk ich im pulsów
Za krótkie impulsy uznaje si impulsy, których czas trwania jest
mniejszy od okresu próbkowania. Zwykle s one generowane przez
wadliwie dziaajce ukady. Takie impulsy pozostan niezauwaone, jeeli
pojawi si midzy chwilami próbkowania, dlatego czsto stosuje si
dodatkowe ukady suce do ich wykrywania, a informacja o ich
wystpieniu zapisywana jest w dodatkowej pamici analizatora (ang.
glitch memory). Czasem, w celu wyeliminowania dodatkowej pamici,
stosuje si dwa tryby przyjmowania danych: sample oraz latch. W
trybie sample krótkie impulsy nie s w ogóle wykrywane, natomiast w
trybie latch zostaj one zapamitane w zwykej pamici ladu w nastpnym
takcie zegara (po ich wystpieniu), w postaci informacji o zmianie
stanu wej.
P am i odn iesien ia
Analizator ukadów logicznch jest zwykle wyposaony w pami
odniesienia (ang. reference memory), do której uytkownik moe
wprowadzi dane wzorcowe. Zawarto tej pamici moe nastpnie zosta
programowo porównana z zawartoci pamici ladu, a uytkownik zostanie
poinformowany o znalezionych rónicach. Do testowania sprztu
cyfrowego przydatna jest moliwo automatycznego powtarzania procesu
ladowania (ang. multiple-shot acquisition) do czasu, gdy zawarto
pamici ladu bdzie taka sama (lub róna), jak zawarto pamici
odniesienia.
S y stem s te ru jcy
Nowoczesny analizator ukadów logicznych musi by wyposaony w
efektywny mikro procesorowy system sterujcy, do którego zada naley
m.in.:
• sterowanie prac analizatora;
•• przeprowadzanie automatycznego testu analizatora.
Analiza ukadów logicznych. 101
3. A n aliza o p ro g ra m o w an ia
Analiza oprogramowania (ang. software analysis) ma na celu
optymalizacj tworzo nego oprogramowania czasu rzeczywistego.
System analizy oprogramowania (ang. soft ware analysis
workstation) pozwala na uzyskanie rónego rodzaju danych o
wykonywanym przez mikrokomputer programie, a w szczególnoci:
1 . prezentuje projektantowi, w postaci symbolicznej, rzeczywicie
wykonany przez sys tem program (ang. symbolic trace).
2. informuje projektanta, jakie fragmenty programu zostay wykonane
podczas testo wego wykonania tego programu (ang. code
coverage);
3. informuje projektanta, ile czasu trwao wykonanie poszczególnych
moduów pro gramu (ang. module duration);
Aspekt (1) jest charakterystyczny dla analizy stanów magistral
systemu mikroproce sorowego, natomiast aspekty (2) i (3) analizy
oprogramowania s charakterystyczne dla analizy efektywnoci (ang.
performance analysis), majcej na celu optymalizacj oprogra mowania
oraz sprztu pod wzgldem czasowym.
3.1. Analiza stanów magistral
Analiza stanów logicznych w odniesieniu do systemu
mikroprocesorowego to analiza stanów magistral. Polega ona na
rejestracji kolejnych stanów magistral systemu mikropro cesorowego
podczas wykonania programu. Zapamitane stany stanowi tzw. lad prze
biegu programu, który moe by nastpnie przedstawiony uytkownikowi -
zwykle w postaci symbolicznej. Analiza stanów magistral daje moliwo
ledzenia W3’konania pro gramu w czasie rzeczywistym (symboliczny
lad instrukcji oraz przesyów danych stanowi obraz wykonania
programu).
Uytkownik ma moliwo zadeklarowania warunków ladowania, dziki czemu
zare jestrowane bd tylko interesujce go fragmenty programu.
Warunkiem ladowania moe by wykonanie wyrónionej instrukcji lub
dostp do okrelonej lokacji pamici danych programu. Zapewnienie
moliwoci uycia warunków ladowania jest bardzo istotne, po niewa z
uwagi na ograniczon pojemno pamici ladu nie jest moliwe
zarejestrowanie wszystkich wykonanych instrukcji, niezbdne jest wic
wyodrbnienie stosunkowo nie wielkich, interesujcych uytkownika
fragmentów programu.
102 L. Pionka
• danych;
• adresow;
ty p e Bus = r e c o r d
D a r r a y CO. .31] of b i t ;
A a r r a y C2. .31] of b i t ;
BEO# b i t ;
BEI# b i t ;
BE2# b i t ;
BE3# b i t ;
DC# b i t ;
MIO# b i t ;
LOCK# b i t
Tak przedstawiona struk tura magistral okrela struktur pamici ladu
analizatora. W przypadku procesorów nie tworzcych kolejki rozkazów
do wykonania (ang. prefetching) pami ladu analizatora, po
zakoczeniu cyklu ladowania, zawiera sekwencj wszystkich cykli
rozkazowych wykonywanych instrukcji i t , we waciwej
kolejnoci
_ ; A ; A Aa = *1 *2 *3-- ---
Jeeli procesor tworzy kolejk rozkazów, to
a interleaves(ii,i2 , i 3 . . . )
Analiza ukadów logicznych. 103
przy czym przemieszane s równie cykle pobrania rozkazu i
wykonawcze. Aby okreli waciw kolejno kodów w pamici ladu, potrzebne
s dodatkowe informacje, np. lad specjalnych sygnaów generowanych
przez mikroprocesor i informujcych o stanie wew ntrznej kolejki
rozkazów; mona te stosowa metody heurystyczne [4]. Wynika std
podzia funkcji analizatora na funkcje sprztowe, realizowane w
czasie rzeczywistym, oraz funkcje programowe, polegajce na
odpowiednim przetworzeniu zebranych danych (ang.
post-processing).
Uycie analizatora pozwala na zebranie danych o pracy systemu
komputerowego bez koniecznoci jego spowalniania (eliminacja tzw.
probe effect). Uzyskane dane mog by wykorzystane do sterowania
programami uruchomieniowymi (ang. debugger) wykorzys tujcymi tzw.
historie zdarze (praca [5] przedstawia przegld metod uruchamiania
pro gramów wspóbienych).
Czsto analizator stanów magistral (lub analizator oprogramowania)
wchodzi w skad bardziej zoonych systemów uruchomieniowych, tzw.
emulatorów ukadowych [6].
Pomiar rzeczywistego czasu wykonania moduów programowych jest
istotny zwasz cza w przypadku programów uzalenionych czasowo, gdy
bdy czasowe s w ich przy padku równie grone jak bdy specyfikacji
lub realizacji algorytmu, lecz czsto jeszcze trudniejsze do
wykrycia.
3.2. Analiza efektywnoci
Celem analizy efektywnoci jest dostarczenie programicie maksymalnej
iloci da nych,-umoliwiajcych optymalizacj tworzonego przez niego
oprogramowania. Naj czciej oprogramowanie optymalizuje si pod ktem
objtoci kodu oraz szybkoci wy konania.
3 .2 .1 . P o m ia r czasu w y k o n an ia m o d u u
Pomiar czasu wykonania moduu (ang. module duration measurement)
umoliwia uytkownikowi uzyskanie informacji o czasach wykonania
instrukcji, grup instrukcji, pro cedur lub segmentów programu.
Moliwy jest równie pomiar- odstpów czasowych roz dzielajcych
poszczególne wykonania danego fragmentu programu. Dane nie s
statys tyczne, wic uytkownik otrzymuje informacj o czasie kadego
wykonania okrelonego moduu, nie tylko redni z wielu wykona. Jest to
szczególnie wane w przypadku opro gramowania czasu rzeczywistego,
gdzie nawet bardzo rzadkie przekroczenie dopuszczal nego czasu
oblicze moe by niedopuszczalne.
Moliwy jest równie pomiar cakowitego czasu trwania wszystkich
moduów pro
104 L. Pionka
gramu równoczenie, co pozwoli okreli, które z nich wpywaj w
najwikszym stopniu na czas wykonania caego programu.
Zidentyfikowanie najbardziej czasochonnych proce dur jest
pierwszym krokiem do czasowej optymalizacji programu.
Pomiar czasu wykonania moduu wymaga zarejestrowania czasu
rozpoczcia oraz zakoczenia wykonania danego moduu programowego
(procedury, funkcji). Analizator moe tego dokona rozpoznajc
pobranie kodu pierwszego i ostatniego rozkazu danego moduu.
Dostp procesora do okrelonej lokacji pamici, w celu pobrania kodu
rozkazu do wy konania, stanowi okrelone zdarzenie zachodzce w
systemie. Inne tego typu zdarzenia, równie zwizane z dostpem do
pamici systemu, to np. odczyt danej, portu lub re akcja na
przerwanie. Zwykle projektanta interesuj zalenoci czasowe midzy
wieloma zdarzeniami w systemie, analizator oprogramowania musi wic
posiada ukady dokonu jce równoczesnego porównywania stanu
magistral z wieloma warunkami. Najlepsze do tego celu wydaje si by
zastosowanie ukadów wzorowanych na pamici asocjacyjnej,
realizujcych funkcj
< p : A x D x S ^ e
A, D i S to stany magistral systemu (odpowiednio adresowej, danych
i sterujcej), na tomiast e jest identyfikatorem zdarzenia, rónym
dla kadego zdarzenia interesujcego projektanta
e € {e0, e i . . . ep}
przy czym eo jest identyfikatorem wszystkich zdarze bez znaczenia
dla uytkownika, tzn. tych, których wystpienie nie musi zosta
zarejestrowane.
Gdy komparator wykryje, e e y e0, analizator zarejestruje w swojej
pamici zdarze par (e, clk), gdzie clk jest stanem zegara czasu
rzeczywistego. Zarejestrowane dane s przetwarzane programowo po
zakoczeniu cyklu pracy analizatora (zapenieniu pamici).
3 .2 .2 . Z liczan ie w yw oa m o d u u
Istotn, z punktu widzenia programisty, informacj jest liczba wywoa
danej proce dury w czasie wykonania caego programu. Umoliwia ona
stwierdzenie, czy na cakowity czas'wykonania tej procedury w
wikszym stopniu wpywa znaczna liczba jej wywoa, czy te m aa szybko
jej wykonania. Jeeli wywoa jest niewiele, przyspieszenie wy
konania procedury moe by uzyskane np. przez zmian algorytmu lub
uycie jzyka asemblera. Jeeli wywoa jest duo, to popraw moe przynie
uproszczenie sposobu przekazywania parametrów aktualnych do
procedury lub zakodowanie jej w postaci ma- krodefinicji (ang.
inline code).
Analiza ukadów logicznych. 105
3.2 .3 . M ap a w ykonan ia p ro g ram u
Mapa wykonania programu (ang. code coverage map) pozwala na
okrelenie, które fragmenty programu (instrukcje, procedury) zostay
wykonane podczas przebiegu pro gramu, a take które komórki pamici
operacyjnej zostay zapisane lub odczytane. Jest to istotne zwaszcza
podczas testowania programu, gdy pozwala na upewnienie si, czy
wszystkie procedury zostaj wykonane, czy program nie korzysta z
niedozwolonych obsza rów pamici, czy nie nastpio przepenienie
stosu itp.
4. P rz y k a d y rea lizac ji
Niniejszy rozdzia zawiera omówienie sposobów realizacji dwóch
istotnych elementów analizatora ukadów logicznych - komparatora
stanów i komparatora sekwencji stanów. Przykady pochodz z systemów
zaprojektowanych i wykonanych w IITiS-PAN w Gliwi cach.
4.1. Komparator sekwencji stanów
Czsto stosowanymi operatorami sucymi do czenia warunków
elementarnych w sekwencje s operatory ne oraz ni (bdce skrótami
angielskich okrele next eventually i next immediately).
Dla przykadu oznaczmy przez W i,W 2,W 3 i W4 zdarzenia polegajce na
spenieniu, przez dane wejciowe, pewnych warunków. Wtedy
Wl ne W7
oznacza, e po wystpieniu zdarzenia zdarzenie W 2 moe wystpi w
dowolnej chwili, natomiast
Wi ni W7
oznacza, e zdarzenie W7 musi wystpi bezporednio po W2. W celu
zilustrowania powyszych wyjanie mona przykadow sekwencj
Wi ne W2 ni W3 n e -W4
przedstawi za pomoc notacji zblionej do jzyka Pascal:
106 L. Ponka
1 : if W\ then goto 2 else goto 1 ; 2: if W? then goto 3 else goto
2; 3: if W3 then goto 4 else goto 2; 4: if W then goto 5 else goto
4; 5: (* sekwencja znaleziona *)
Analizator ukadów logicznych, w którym do opisu sekwencji warunków
zastosowano operatory ni i ne, dziaa zwykle wg nastpujcego
algorytmu: .
A II C || CB
gdzie CB = ( t r M —* seq —> trNM —* brcond —* STOP)
natom iast A i C zostay przedstawione w poprzednim rozdziale. W
wyniku pracy wedug tak zdefiniowanego algorytmu analizator:
1. zarejestruje m próbek (zdarzenie trM)-,
2 . rozpocznie poszukiwanie sekwencji warunków zadeklarowanej przez
uytkownika (z uyciem operatorów ni i ne), równoczenie siadujc dane
wejciowe;
3. po znalezieniu sekwencji (zdarzenie seq) zarejestruje jeszcze n
—m próbek (zdarzenie trNM).
W wyej przedstawionym algorytmie n jest pojemnoci pamici ladu,
natomiast m jest liczb deklarowan przez uytkownika, okrelajc
pooenie ¿darzenia wyzwalajcego (czyli poszukiwanej sekwencji
warunków) w tzw. oknie danych. Deklarujc m, uytkownik moe wpywa na
liczb zarejestrowanych próbek poprzedzajcych wystpienie sekwencji
warunków.
W analizatorach stanów oraz analizatorach oprogramowania czsto
stosuje si zoone komparatory sekwencji, pozwalajce na bardziej
precyzyjne okrelenie sekwencji intere sujcych uytkownika.
Przykadem moe by komparator zastosowany w analizatorze systemów
opartych na mikroprocesorze Intel 80386 - RTDS-32 [4]. Komparator
ten zo sta zaprojektowany jako ukad mikroprogramowalny, dziki
czemu charakteryzuje si prost konstrukcj i duymi moliwociami
funkcjonalnymi.
Uytkownik deklaruje trzy zbiory warunków elementarnych
• A - zbiór warunków, które musz by spenione przez stany magistrali
adresowej mikroprocesora;
Analiza ukadów logicznych. 107
• D - zbiór warunków, które musz by spenione przez stany magistrali
danych mikroprocesora;
• S - zbiór warunków, które musz by spenione przez stany magistrali
sterujcej mikroprocesora;
przy czym w skad kadego zbioru moe wchodzi maksymalnie osiem
warunków elemen tarnych
A = { A i . . . Ag}
D-= { A .. .0 8}
Uytkownik moe zadeklarowa do szesnastu warunków postaci
Label;: if //(A j, Dj, Sj) then trac if gi(Aj, Dj, Sj) then break
goto ht(Ak,D k,Sk)
fi(Aj, Dj, Sj) jest warunkiem ¿adowania; gi(Aj, Dj, Sj) jest
warunkiem zatrzymania; ' /i((At, Dk, Sk) okrela etykiet skoku,
czyli numer nastpnego warunku.
fi,gi,hi zostaj okrelone przez uytkownika, przy czym do ich
definicji mona stosowa operatory logiczne AND, OR, NOT oraz relacje
> , < , < , > , g.
4.2. Komparator stanów
Jednym z moliwych rozwiza konstrukcyjnych komparatora stanów moe by
stru ktura zbudowana z bramek logicznych. Metoda ta wydaje si by
godna polecenia w przy padku posiadania moliwoci wykonania caego
komparatora w postaci jednego ukadu scalonego. Konstrukcja
wykorzystujca elementy SSI, proste ukady typu PLD lub te gotowe
bloki funkcjonalne (np. komparatory 7485) charakteryzowa si bdzie
ma prd koci dziaania oraz duym stopniem komplikacji.
Inny sposób polega na uyciu pamici statycznych o krótkim czasie
dostpu. unkcj realizowan przez pami o organizacji 2" x 1 bitów mona
przedstawi nastpujcym wzorem:
10S L. Ponka
gdzie: mem(a) oznacza stan wyjcia pamici, gdy wejcie adresowe
przyjmie warto a , m (i) jest wartoci (0 ub 1 ) zapisani), pod
adresem i,
1 , gdy a = i 0, w przeciwnym przypadku,
znak V oznacza wielokrotn sum logiczn.
m (a)
Odpowiednio wypeniona pami o pojemnoci 2" bitów moe suy do
sprawdze nia, czy dana n-bitowa liczba binarna x równa jest
liczbie y, np. jeeli pami zostanie wypeniona tak, aby
1 dla a = y 0 dla a y
natomiast na wejcia adresowe pamici podana zostanie liczba x, to
atwo stwierdzi, e 2 n —1
m em (i) = \ J m(i)6(x,i) — i = 0
y-1 2n—1 = V 0 + »«(yW*, y) + V »”(*)£(*> 0 =
i= 0 i = y - f 1
1 gdy x = y 0 gdy x y y
Komparator zbudowany z wykorzystaniem pamici moe wykry równie
spenienie sumy logicznej warunków x = j/j V x — V x = y$ . .
.
Niestety komparator przedstawiony wyej m a równie powan wad:
wymagana po jemno pamici ronie wykadniczo wraz ze wzrostem n.
Moliwe jest zmniejszenie po jemnoci pamici kosztem pewnego
zmniejszenia moliwoci funkcjonalnych. Zmodyfiko wany komparator,
wykorzystujcy pamici typu RAM, zosta zastosowa)' w analizatorze
systemów mikrokomputerowych RTDS-32 [4].
Zaómy, e komparator stanów bdzie wykrywa przynaleno wektora
wejciowego x, traktowanego jak liczba binarna, do przedziau [a, 6],
a wic
warunek speniony x € [a, b] O- x > a A x < b
n x d-bitow liczb binarn mona podzieli na n grup po d bitów
traktowanych równie jak liczby binarne
Analiza ukadów logicznych. 109
x = ] T x {B \ b = biB‘ 1=0 1=0 i=0
gdzie B — 2d. Warunki x > a oraz x < b mona zdefiniowa
nastpujco:
a: > a => 3k. (xjt > a t A Vi > fc. a:,- = a,)
(6)
x < 6 O 3j. (xj- < bj A Vp > j . Xp = bp) (7)
Definiujemy
Powysze funkcje mona zrealizowa za pomoc pamici, korzystajc z
(5).
Zgodnie.z (6) i (8) moemy napisa, e
x > a <£> ge(an_ i) V ge(a7l_2)eq(an_1) V . . . V
ge(a0)eq(an_ i ) . . .eq(ax) = n —1 n —1
= V fse(a0 A eci(aa)i (10) ¿=o i=;+i
przy czym symbol / \ definiujemy nastpujco:
A«-{ri ~p \i=p
natomiast znak V oznacza sum logiczn.
x < b okrelimy analogicznie:
110 L. Ponka
x < b 4=> le(6n_i) V le(6„_2)eq(6n_1) V . . . V
le(60)eq(6„_i) . . . eq(6i) =
= \ / M b i ) / \ eq(6i )] (1 1 ) ;=o j=i+i
Poniewa
sprztowe sprawdzenie warunku przynalenoci do przedziau moliwe jest
przez realizacj iloczynu wyrae (10) i (1 1 ).
Komparator analizatora zbudowanego w IITiS-PAN (przeznaczony do
komparacji sta nów magistral mikroprocesora Intel 80386)
wykorzystuje pamici statyczne, programo wane przez komputer
sterujcy analizatorem, do realizacji funkcji eq(a,-), e'q(6;),
ge(a,-) i le(6;). Magistrala mikroprocesora Intel 80386 jest
magistral 32-bitow (n x d = 32), na tomiast uyte pamici
komparatora m aj 8 wej adresowych (d = 8), czyli n = 4. Ukad typu
PAL realizuje funkcj iloczynu wyrae (10) i (11), doprowadzonego do
postaci sumy iloczynów (moliwa jest wic realizacja przez
dwupoziomow struktur bramek AND-OR, co m a istotny wpyw na szybko
dziaania komparatora).
5. P o d su m o w an ie
Analiza ukadów logicznych i analiza oprogramowania s jednymi z
podstawowych metod stosowanych przez projektantów ukadów cyfrowych
i mikroprocesorowych. Ce lem niniejszego artykuu byo
przedstawienie tych metod zarówno od strony podstaw teoretycznych,
jak i zakresu stosowalnoci. Artyku zawiera równie dyskusj wybranych
elementów konstrukcji analizatora ukadów logicznych. Przedstawione
rozwizania nie s jedynymi moliwymi, wrcz przeciwnie - istniejce
konstrukcje cechuj si znacznym zrónicowaniem zarówno pod wzgldem
funkcjonalnym, jak i parametrów technicznych, co odzwierciedla
pogldy ich autorów na metod analizy ukadów logicznych i moliwoci
techniczne bdce do ich dyspozycji. Jednak mimo mnogoci konkretnych
rozwiza, wszystkie z nich posiadaj pewne, przedstawione w
niniejszym artykule, cechy wspólne.
Analiza ukadów logicznych. 111
A N o ta c ja C S P
N otacja CSP moe suy do opisu rónego rodzaju systemów i zjawisk
sekwencyjnych jak i równolegych. Podstawowymi pojciami
wprowadzanymi przez CSP s proces (ozna czany duymi literami, np. P
) i zdarzenie (oznaczany maymi literami, np. a). Proces o nazwie
STO P nie bierze udziau w adnych zdarzeniach. Sownik procesu P ,
oznaczany aP , jest zbiorem wszystkich zdarze, w których moe bra
udzia proces P . Procesy mog by wykonywane równolegle, przy czym
równoczesne wykonanie procesów P I i P 2 ozna czane jest P I || P
2. Symbol — suy do czenia zdarze w definicji procesu wg kolejnoci
ich wystpowania, np. P = (a —* b —> P ). Zapis rekurencyjny
pomaga opisywa zjawiska zachodzce cyklicznie. Symbol [] (czytany
‘lub’) pozwala na opis procesów mogcych bra udzia w alternatywnych
‘ciekach’ zdarze, np. P = ( a —> 6 — P Q c —» P ) . W
zdarzeniach nalecych do sowników wikszej liczby procesów musz
równoczenie bra udzia wszystkie te procesy, w pozostaych
zdarzeniach procesy bior udzia niezalenie.
lad procesu (oznaczany m a liter, np. t) jest zarejestrowan
sekwencj zdarze, w których dany proces bra udzia, np. (a,b, c, c).
Operacje, jakie mona wykona na la dach to, midzy innymi, czenie,
np. ii — i2 A 3 i obliczenie dugoci ladu # f . Pierwszy element
ladu i oznacza si przez to, natomiast przez i' oznacza si lad t bez
pierw szego elementu. P* jest zbiorem wszystkich ladów moliwych do
uzyskania z elemen tów a P , natomiast traces(P) jest zbiorem
wszystkich moliwych ladów P . Wyraenie tiinterleaves(t2 , t 3)
oznacza, e lad ti skada si z przemieszanych fragmentów ladów
i2
i ¿3-
[1] Hoare C.A.R.: Communicating Sequential Processes,
Communications of the ACM, vol. 21, no. 8, 1978.
[2] Hoare C.A.R.: Communicating Sequential Processes, Prentice-Hall
International, UK, Ltd., 1985.
[3] PAL/PLE Programmable Logic Handbook, Monolithic Memories, Inc.,
1985.
[4] Raport Zespou Mikroprogramowania IITiS-PAN: Stanowisko
wspomagajce ana liz systemów mikrokomputerowych bazujcych na
procesorze Intel 80386, Instytut Informatyki Teoretycznej i
Stosowanej PAN, Gliwice 1990.
112 L. Ponka
[5] McDowell C.E., Helmbold D.P.: Debugging Concurrent Programs,
ACM Computing Surveys, December 19S9.
[6] Zonenberg D.: Emulator ukadowy mikroprocesorów jako narzdzie
uruchomieniowe w ujciu programistycznym, Informatyka, Luty
1992.
[7] Tektronix Catalog, Tektronix, Inc., 1991.
[8] Electronic Measurement, Design, Computation Catalog,
Hewlett-Packard Company, 1987.
[9] 318W/31SW SI Logic Analyzer Manual, Tektronix, Inc.,
1986.
[10] HP 1652B/1653B Logic Analyzers Operation Reference,
Hewlett-Packard Company, 1990.
Recenzent: Doc. dr in. Henryk Maysiak
Wpyno do Redakcji 23 kwietnia 1992 r.
Abstract
LOAD MORE