of 26 /26
ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 1993 Seria: INFORMATYKA z. 22 Nr kol. 1195 Leszek PŁONKA Instytut Informatyki Teoretycznej i Stosowanej PAN ul. Bałtycka 5, 44-100 Gliwice ANALIZA UKŁADÓW LOGICZNYCH I ANALIZA OPROGRAMOWANIA Streszczenie. W artykule zostało omówione zagadnienie analizy układów lo- gicznych i analizy oprogramowania oraz wybrane aspekty konstrukcji analizato- rów układów logicznych i analizatorów oprogramowania. Przedstawione zostały również rozwiązania konstrukcyjne komparatora stanów i komparatora sekwencji stanów - będących istotnymi elementami analizatora - zastosowanych w zbudo- wanej w Instytucie Informatyki Teoretycznej i Stosowanej PAN rodzinie stanowisk wspomagających 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.

ANALIZA UKŁADÓW LOGICZNYCH I ANALIZA OPROGRAMOWANIA

  • Author
    others

  • View
    15

  • Download
    0

Embed Size (px)

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