METODA SYNTEZY AUTOMATÓW SKOŃCZONYCH MEALY EGO I MOORE A NA

Podobne dokumenty
WYKORZYSTYWANIE WYJŚCIOWYCH MAKROKOMÓREK UKŁADU PLD W

Rozwiązywanie zadań optymalizacji w środowisku programu MATLAB

SZACOWANIE NIEPEWNOŚCI POMIARU METODĄ PROPAGACJI ROZKŁADÓW

SYNTEZA WSPÓLNYCH MODELI AUTOMATÓW SKOŃCZONYCH NA PLD

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

Zaawansowane metody numeryczne

Realizacja logiki szybkiego przeniesienia w prototypie prądowym układu FPGA Spartan II

Weryfikacja hipotez dla wielu populacji

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

AUTOMATYZACJA PROJEKTOWANIA KONTROLERÓW TYPU KOMBINACYJNEGO NA PLD Z WYKORZYSTANIEM SPRZĘŻEŃ ZWROTNYCH

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

Diagnostyka układów kombinacyjnych

W praktyce często zdarza się, że wyniki obu prób możemy traktować jako. wyniki pomiarów na tym samym elemencie populacji np.

Programowanie Równoległe i Rozproszone

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

Stanisław Cichocki. Natalia Nehrebecka. Wykład 6

WikiWS For Business Sharks

Stanisław Cichocki. Natalia Nehrebecka. Wykład 7

SZTUCZNA INTELIGENCJA

Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

TRANZYSTOR BIPOLARNY CHARAKTERYSTYKI STATYCZNE

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

PODSTAWA WYMIARU ORAZ WYSOKOŚĆ EMERYTURY USTALANEJ NA DOTYCHCZASOWYCH ZASADACH

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

Odtworzenie wywodu metodą wstępującą (bottom up)

Laboratorium ochrony danych

Stanisław Cichocki. Natalia Nehrebecka. Wykład 6

Urządzenia wejścia-wyjścia

Język opisu sprzętu VHDL

WSPOMAGANE KOMPUTEROWO POMIARY CZĘSTOTLIWOŚCI CHWILOWEJ SYGNAŁÓW IMPULSOWYCH

METODA UNITARYZACJI ZEROWANEJ Porównanie obiektów przy ocenie wielokryterialnej. Ranking obiektów.

Modelowanie i obliczenia techniczne. Metody numeryczne w modelowaniu: Optymalizacja

RÓWNOLEGŁY ALGORYTM POPULACYJNY DLA PROBLEMU GNIAZDOWEGO Z RÓWNOLEGŁYMI MASZYNAMI

Definicje ogólne

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Stanisław Cichocki. Natalia Nehrebecka. Wykład 6

STATECZNOŚĆ SKARP. α - kąt nachylenia skarpy [ o ], φ - kąt tarcia wewnętrznego gruntu [ o ],

architektura komputerów w. 3 Arytmetyka komputerów

EUROELEKTRA. Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej. Rok szkolny 2013/2014

Stanisław Cichocki Natalia Nehrebecka. Zajęcia 4

5. Maszyna Turinga. q 1 Q. Konfiguracja: (q,α β) q stan αβ niepusta część taśmy wskazanie położenia głowicy

8. Optymalizacja decyzji inwestycyjnych

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

3. ŁUK ELEKTRYCZNY PRĄDU STAŁEGO I PRZEMIENNEGO

Pattern Classification

Systemy Ochrony Powietrza Ćwiczenia Laboratoryjne

Sprawozdanie powinno zawierać:

Systemy wbudowane. Układy programowalne

SZTUCZNA INTELIGENCJA

Optymalizacja belki wspornikowej

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 208. Komputerowa realizacja automatów skończonych

4. OPTYMALIZACJA WIELOKRYTERIALNA

Problemy jednoczesnego testowania wielu hipotez statystycznych i ich zastosowania w analizie mikromacierzy DNA

7.8. RUCH ZMIENNY USTALONY W KORYTACH PRYZMATYCZNYCH

Kodowanie informacji. Instytut Informatyki UWr Studia wieczorowe. Wykład nr 2: rozszerzone i dynamiczne Huffmana

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia: Problemy rozkroju materiałowego, zagadnienia dualne

Ewolucyjne projektowanie filtrów cyfrowych IIR o nietypowych charakterystykach amplitudowych

65120/ / / /200

Minimalizacja globalna, algorytmy genetyczne i zastosowanie w geotechnice

Wykład IX Optymalizacja i minimalizacja funkcji

Wprowadzenie do Sieci Neuronowych Sieci rekurencyjne

Minimalizacja globalna. Algorytmy genetyczne i ewolucyjne.

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

p Z(G). (G : Z({x i })),

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Wprowadzenie. Support vector machines (maszyny wektorów wspierających, maszyny wektorów nośnych) SVM służy do: Zalety metody SVM

APROKSYMACJA QUASIJEDNOSTAJNA

Natalia Nehrebecka. Zajęcia 4

) będą niezależnymi zmiennymi losowymi o tym samym rozkładzie normalnym z następującymi parametrami: nieznaną wartością 1 4

ALGEBRY HALLA DLA POSETÓW SKOŃCZONEGO TYPU PRINJEKTYWNEGO

Oligopol dynamiczny. Rozpatrzmy model sekwencyjnej konkurencji ilościowej jako gra jednokrotna z pełną i doskonalej informacją

Wielokryterialny Trójwymiarowy Problem Pakowania

KRZYWA BÉZIERA TWORZENIE I WIZUALIZACJA KRZYWYCH PARAMETRYCZNYCH NA PRZYKŁADZIE KRZYWEJ BÉZIERA

Regulamin promocji zimowa piętnastka

Proces narodzin i śmierci

REALIZACJA ARCHITEKTUR MACIERZY PROCESOROWYCH W DYNAMICZNIE REPROGRAMOWALNYCH UKŁADACH FPGA

D Archiwum Prac Dyplomowych - Instrukcja dla studentów

Analiza danych. Analiza danych wielowymiarowych. Regresja liniowa. Dyskryminacja liniowa. PARA ZMIENNYCH LOSOWYCH

Symulator układu regulacji automatycznej z samonastrajającym regulatorem PID

Regulamin promocji 14 wiosna

METODA EFEKTYWNEGO ZARZĄDZANIA ROZDZIAŁEM ŚRODKÓW NA REDUKCJĘ EMISJI GAZÓW CIEPLARNIANYCH

Ćwiczenie 10. Metody eksploracji danych

5. Pochodna funkcji. lim. x c x c. (x c) = lim. g(c + h) g(c) = lim

1 Metody optymalizacji wielokryterialnej Ogólna charakterystyka problemu Tradycyjne metody optymalizacji wielokryterialnej...

EKONOMETRIA I Spotkanie 1, dn

Regulamin promocji upalne lato

Płyny nienewtonowskie i zjawisko tiksotropii

Badanie współzależności dwóch cech ilościowych X i Y. Analiza korelacji prostej

OPTYMALIZACJA WARTOŚCI POLA MAGNETYCZNEGO W POBLIŻU LINII NAPOWIETRZNEJ Z WYKORZYSTANIEM ALGORYTMU GENETYCZNEGO

Nowe europejskie prawo jazdy w celu większej ochrony, bezpieczeństwa i swobodnego przemieszczania się

rzeczywiste zawart. składn. maksymalne wymagane zawart. w 1 jednostce mieszanki składn. w 1 jednostce mieszanki


Modele wieloczynnikowe. Modele wieloczynnikowe. Modele wieloczynnikowe ogólne. α β β β ε. Analiza i Zarządzanie Portfelem cz. 4.

V. TERMODYNAMIKA KLASYCZNA

11/22/2014. Jeśli stała c jest równa zero to takie gry nazywamy grami o sumie zerowej.

Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński

Wykład 1 Zagadnienie brzegowe liniowej teorii sprężystości. Metody rozwiązywania, metody wytrzymałości materiałów. Zestawienie wzorów i określeń.

Model IS-LM-BP. Model IS-LM-BP jest wersją modelu ISLM w gospodarce otwartej. Pokazuje on zatem jak

Transkrypt:

METODA SYNTEZY AUTOMATÓW SKOŃCZONYCH MEALY EGO I MOORE A NA BAZIE UKŁADÓW CPLD Adam Klmowcz Wydzał Informatyk Poltechnk Bałostockej, ul. Wejska 45A, 15-351 Bałystok e-mal: aklm@.pb.balystok.pl Abstrakt: W referace zostane przedstawona nowa metoda syntezy tradycyjnych automatów skończonych Mealy ego Moore a (automatów klas A B). Metoda ta jest przeznaczona do realzacj w układach o strukturze dwóch programowalnych matryc. Kryterum optymalzacj jest tu koszt wyrażony lczbą wykorzystanych makrokomórek układu programowalnego oraz szybkość dzałana układu wyrażona lczbą pozomów logcznych układu. Przy ocene rezultatów kodowana stanów uwzględna sę sposób przyporządkowana termów makrokomórkom układu PLD, przy czym układy programowalne zostały podzelone ze względu na tą właścwość na sześć klas. Wykonano badana eksperymentalne porównując wynk dzałana opsanej metody z wynkam otrzymanym z przemysłowych naukowobadawczych systemów projektowana układów cyfrowych na baze PLD. Pokazana metoda okazała sę średno ponad 1,5 razy lepsza (w najlepszych przypadkach nawet 5 razy lepsza) pod względem kosztu (lczby wykorzystanych makrokomórek) szybkośc dzałana układu od metod stosowanych w nnych systemach projektowana. 1. WSTĘP Przy synteze automatów skończonych głównym zadanem jest kodowane stanów wewnętrznych. Od jakośc rozwązana tego zadana zależy koszt realzacj szybkość dzałana automatu skończonego [2-4,9]. W znanych paketach zautomatyzowanego projektowana układów cyfrowych na baze układów programowalnych (np. frm Altera czy Xlnx) zwykle stosuje sę trzy sposoby kodowana stanów wewnętrznych: bnarne, typu one-hot oraz zdefnowane przez użytkownka. W przypadku kodowana bnarnego lczba btów kodu R jest równa nt log 2 M, gdze M jest lczbą stanów wewnętrznych. Przy kodowanu typu one-hot lczba btów kodu jest równa lczbe stanów wewnętrznych. Trzec sposób kodowana ne jest rekomendowany, a w nektórych przypadkach, kody stanów zadane przez użytkownka mogą zostać zgnorowane. Wady tradycyjnego podejśca do kodowana stanów wewnętrznych automatu są następujące: stosując kodowane bnarne otrzymuje sę najbardzej złożone funkcje wzbudzena elementów pamęc (funkcje przejść), co prowadz do zmnejszena szybkośc dzałana oraz zwększena kosztu układu; zastosowane kodowana typu one-hot pozwala uproścć funkcje przejść, jednak wymaga użyca znaczne wększej lczby elementów pamęc automatu skończonego; w algorytmach kodowana stanów wewnętrznych ne uwzględna sę cech archtektury współczesnych układów programowalnych; problem ten jest rozwązywany dopero na etape odwzorowana układu logcznego na fzyczną strukturę układu programowalnego (fttng/mappng). Jako baza elementów rozpatrywane są tu układy PLD (Programmable Logc Devces) o strukturze dwóch programowalnych matryc: loczynu (AND) oraz sumy (OR). W pracy [7] została pokazana metodyka projektowana automatów skończonych o maksymalnej szybkośc (ogranczonej tylko szybkoścą przejśca sygnału z wejśca na wyjśce układu) dla różnych klas układów PLD: klasycznych układów PAL (Programmable Array Logc), unwersalnych układów PAL oraz złożonych układów PLD (CPLD Complex PLD). Wadą podejśca [7] jest dość wąska klasa rozwązywalnych zadań, poneważ dla złożonych automatów skończonych ne zawsze można zrealzować na PLD układ o maksymalnej szybkośc dzałana.

W tej pracy przedstawono metodę projektowana automatów skończonych o praktyczne neogranczonej złożonośc. W charakterze kryterów optymalzacj występuje koszt realzacj wyrażony lczbą użytych komórek logcznych oraz szybkość dzałana automatu skończonego. 2. CECHY ARCHITEKTURY UKŁADÓW PLD WYKORZYSTYWANE PRZY REALIZACJI AUTOMATÓW SKOŃCZONYCH Nech automat skończony będze opsany: lczbą L zmennych wejścowych ze zboru X={x 1,...,x L }, lczbą N zmennych wyjścowych ze zboru Y = {y 1,...,y N }, lczbą M stanów wewnętrznych automatu ze zboru A = {a 1,...,a M }, a także lczbą R funkcj wzbudzena elementów pamęc ze zboru D={d 1,...,d R } lczbą R zmennych sprzężeń zwrotnych ze zboru E={e 1,...,e R }. Nech każda funkcja wyjścowa y oraz funkcja przejść d j będze opsana welkoścam Q(y ) Q(d j ), które odpowadają lczbe termów potrzebnych do ch realzacj, = 1, N, j = 1, R. Wyjśca matrycy AND nazywane są termam. Główną cechą archtektury PLD o strukturze dwóch programowalnych matryc jest ogranczene ze względu na lczbę termów podłączonych do jednej makrokomórk [7]. Odbja sę to na ogranczenu lczby składnków równań logcznych realzowanych funkcj. W przypadku naruszena tych ogranczeń, w tradycyjnych podejścach, stosuje sę różne metody dekompozycj funkcj boolowskch, co prowadz do obnżena szybkośc dzałana automatu skończonego. Obecne układy PLD pozwalają na realzację funkcj o znaczne wększej lczbe argumentów w porównanu z nną dużą klasą układów programowalnych FPGA (Feld Programmable Gate Arrays). Dzęk tej właścwośc, w wększośc przypadków, przy realzacj automatów skończonych na PLD ne jest koneczna dekompozycja realzowanych funkcj (względem argumentów). Spośród nnych cech układów PLD należy wymenć następujące: przy włączenu zaslana, przerzutnk makrokomórek PLD ustawają sę w stan zerowy; współczesne układy PLD dopuszczają programowane pozomu logcznego sygnałów wyjścowych; z różnym makrokomórkam układu PLD może być zwązana różna lczba termów. Ze względu na to, że współczesne układy PLD posadają dostateczną lczbę wyprowadzeń dwukerunkowych oraz makrokomórek, przy synteze automatów skończonych na PLD ogranczena na lczbę wejść L, wyjść N elementów pamęc R ne są krytyczne. Pozostaje jednak ogranczene na lczbę termów podłączonych do jednej makrokomórk. Z tego powodu układy PLD będą opsywane dwoma parametram: q średną oraz q max maksymalną lczbą termów podłączonych do jednej makrokomórk. 3. ISTOTA METODY Nech automat skończony będze zadany tablcą przejść, zawerającą cztery kolumny: a m, a s, X(a m,a s ) Y(a m,a s ). Jeden wersz tablcy odpowada jednemu przejścu automatu. W kolumne a m zapsany jest stan obecny automatu; w a s stan następny; w kolumne X(a m,a s ) konunkcja zmennych wejścowych, której wartość równa 1 ncjuje dane przejśce; w kolumne Y(a m,a s ) podzbór zmennych wyjścowych przyjmujących wartość równą 1 podczas danego przejśca (automat Mealy ego [3]). Dla automatu Moore a [4], którego funkcje wyjścowe zależą tylko od stanu obecnego automatu ostatna kolumna posada oznaczene Y(a m ). Zbór stanów z jednego przejśca jest nazywany grupą przejść. Dla każdego stanu a określono zbór P(a ) przejść ze stanu a oraz zbór C(a ) przejść, które kończą sę w stane a,

a A. Zborow P(a ) odpowada grupa przejść ze stanu a, a zborow C(a ) odpowadają wersze w kolumnach a s, w których znajduje sę stan a. Klasycznym zadanam w teor automatów skończonych są zadana mnmalzacj oraz kodowana stanów wewnętrznych automatu. Jednak zadana te są często przecwstawne, gdyż dla automatów z mnmalną lczbą stanów trudno jest rozwązać zadane kodowana. Aby otrzymać potrzebną postać automatu skończonego wykorzystuje sę operacje równoważnego przekształcena automatów skończonych, take jak: rozszczepane sklejane stanów [1], a także mnmalzacja lczby stanów automatu. Operacje równoważnego przekształcena automatu ne zmenają sposobu jego funkcjonowana. Cechy charakterystyczne przedstawonej metody syntezy automatów skończonych na PLD są następujące: w celu polepszena rezultatów kodowana stanów wewnętrznych wykonuje sę wstępne równoważne przekształcena automatu skończonego (mnmalzacja oraz rozszczepene stanów wewnętrznych); początkowy stan automatu posada kod zerowy, gdyż przy włączenu zaslana przerzutnk układu programowalnego ustawone są w stane zerowym; lczba btów kodu R zmena sę od wartośc ntlog 2 M do M-1, gdze M jest lczbą stanów wewnętrznych; z otrzymanych rezultatów kodowana wybera sę najlepsze rozwązane ze względu na szybkość koszt realzacj funkcj przejść; przy ocene rezultatów kodowana stanów uwzględna sę sposób przyporządkowana termów makrokomórkom układu PLD; ze względu na możlwość programowana pozomu sygnału wyjścowego we współczesnych układach PLD do realzacj danej funkcj wyjścowej wybera sę postać prostą lub zanegowaną (w zależnośc która z nch jest mnej złożona). Uwzględnając powyższe założena ogólny algorytm syntezy automatów skończonych na PLD ma następującą postać: Algorytm 1 (ogólny algorytm syntezy) 1. Wykonuje sę mnmalzację lczby stanów wewnętrznych jedną ze znanych metod. 2. Wykonuje sę algorytm 2 rozszczepena stanów wewnętrznych automatu w celu spełnena warunku: C(a ) q*, dla każdego a A \ {a 1 }, ( 1 ) gdze q* q max. 3. Podstawa sę R:= ntlog 2 M; R* := M-1; W* := T* D :=. 4. Wykonuje sę algorytm 4 kodowana stanów wewnętrznych automatu skończonego. 5. Wykonuje sę algorytm 5 oceny otrzymanego rozwązana, określa sę koszt W oraz szybkość dzałana T D. Jeśl otrzymane rozwązane jest lepsze od dotąd najlepszego, tzn. spełnone są warunk: W W* T D < T* D lub W < W* T D T* D, ( 2 ) wówczas rezultaty kodowana są zapamętywane, podstawa sę W* := W; T* D := T D ; R:= R+1. Jeżel R R* to wykonuje sę przejśce do punktu 4, w przecwnym wypadku do punktu 6. 6. Jako rozwązane końcowe przyjmuje sę kodowane zapamętane w punkce 5. Formuje sę zbór realzowanych funkcj wyjścowych Y*. W tym celu buduje sę równana logczne funkcj wyjścowych oraz dla każdej funkcj y określa sę wartośc Q(y ) Q( y ). Jeżel Q(y ) Q( y ), to do zboru Y* dołącza sę funkcję y, w przecwnym wypadku funkcję y, y Y. 7. Określa sę długość taktu T F sygnału synchronzacj elementów pamęc automatu skończonego:

T F = max(t D, T Y ), gdze: T Y = nt(q maxy / q); Q maxy = max Q( y~ ), y~ Y*, y~ {y, y }. 8. Konec. Uwaga 1. W algorytme 1 górna granca R* lczby btów kodów stanów wewnętrznych została przyjęta jako równa M-1. Jednak w celu ogranczena lczby argumentów realzowanych funkcj może ona być zadana przez użytkownka. Uwaga 2. W wynku dzałana algorytmu 1 otrzymuje sę jedno najlepsze rozwązane. W ogólnym wypadku można otrzymać wszystke rozwązana dla R od ntlog 2 M do M-1. 4. ROZSZCZEPIENIE STANÓW WEWNĘTRZNYCH Nech dla stanu a przydzelony będze kod K(a ), a A, C(a ) > q max. Wówczas do realzacj funkcj wzbudzeń elementów pamęc, które odpowadają wartoścom kodu K(a ) równym 1, potrzeba węcej nż jednej makrokomórk PLD, a szybkość dzałana automatu skończonego będze określona lczbą pozomów logcznych, potrzebnych do realzacj najbardzej złożonej funkcj przejść. Dlatego przy realzacj automatów skończonych na PLD ważne jest spełnene warunku (1). W tym celu wykorzystywana jest operacja rozszczepena stanów wewnętrznych automatu. Jednak algorytm rozszczepena stanów wewnętrznych automatu może wykazywać rozbeżność, tzn. rozwązane ne może być osągnęte po skończonej lczbe kroków. W takm wypadku zwększa sę wartość q*. Algorytm 2 (ogólny algorytm rozszczepena stanów) 1. Zapamętuje sę tablcę przejść automatu skończonego. 2. Podstawa sę q* := q max. 3. Wykonuje sę algorytm 3 rozszczepena stanów dla spełnena warunku (1), gdze w charakterze danych wejścowych przyjmuje sę tablcę przejść, która została zapamętana w punkce 1. 4. Jeśl algorytm 3 wykazuje rozbeżność, to podstawa sę q* := q*+q wykonuje sę przejśce do punktu 3, w przecwnym wypadku do punktu 5. 5. Konec. Algorytm 3 (algorytm rozszczepena stanów dla spełnena warunku (1)) 1. Określa sę wartość M max - maksymalnej lczby stanów w tablcy przejść. 2. Podstawa sę A* := A\{a 1 }, poneważ dla stanu a 1 przydzela sę zawsze kod zerowy. 3. Jeżel warunek (1) jest spełnony dla wszystkch stanów ze zboru A* to wykonuje sę przejśce do punktu 7, w przecwnym przypadku do punktu 4. 4. W zborze A* należy znaleźć stan a, dla którego C(a ) = max (wybera sę najgorszy stan); jeżel jest klka takch stanów, to spośród nch wybera sę tak, dla którego P(a ) = mn (mnmalzuje sę wzrost wartośc C(a ) dla nnych stanów). 5. Określa sę lczbę dodatkowych stanów H := nt( C(a ) / q*). Jeżel H+M > M max, to stwerdza sę rozbeżność algorytmu wykonuje sę przejśce do punktu 7, w przecwnym przypadku do punktu 6. 6. Wykonuje sę rozszczepene stanu a wybranego w punkce 4. 6.1. Wprowadza sę H nowych stanów a M+1,...,a M+H. 6.2. Określa sę podzbory C(a M+1 ),...,C(a M+H ) przejść w stany a M+1,...,a M+H. W tym celu zbór przejść C(a ) rozdzela sę na rozłączne podzbory C(a M+1 ),...,C(a M+H ) w tak sposób, aby wartośc C(a M+h ), h = 1, H były w przyblżenu take same. 6.3. Określa sę zbory P(a M+1 ),...,P(a M+H ) w następujący sposób: P(a M+h )=P(a ) dla każdego h = 1, H. 6.4. Podstawa sę:

A* := A* \ {a }; A* := A* {a M+1,...,a M+H }; M := M + H. 6.5. Wykonuje sę korekcję tablcy przejść oraz przejśce do punktu 3. 7. Konec. Uwaga 3. W algorytme 2 jako górną grancę q* lczby przejść w jeden stan przyjęto wartość q max. W ogólnym wypadku wartość q* może być zadawana przez użytkownka powyżej wartośc q max, aby móc uwzględnć rezultaty mnmalzacj funkcj przejść albo ponżej q max, aby zwększyć możlwość przydzelena kodów nnym ne najgorszym stanom. 5. KODOWANIE STANÓW WEWNĘTRZNYCH Cechą szczególną przedstawonego algorytmu kodowana stanów wewnętrznych automatu skończonego jest mnmalzacja welkośc max Q(d j ) kosztów realzacj funkcj przejść d j D, co pozwala budować automaty skończone o maksymalnej szybkośc. j Algorytm 4 (kodowana stanów wewnętrznych) 1. Określa sę zbór K = {k 1,...,k G } możlwych kodów stanów wewnętrznych, gdze G=2 R. Zeruje sę poszczególne bty kodów: v j := 0, j = 1, R. 2. Stanow a 1 przydzela sę kod zerowy, podstawa sę A* := A \ {a 1 }, K := K \ {k 1 }, gdze k 1 kod zerowy. 3. Ze zboru A* wybera sę stan a, dla którego C(a ) = max ( najgorszy stan). 4. Ze zboru K wybera sę kod k g z mnmalną lczbą jedynek. Jeśl takch kodów jest klka, to spośród nch wybera sę kod, dla którego max (v j + C(a ) ) = mn, dla wszystkch j w których kod k g zawera jedynk. 5. Kod k g znalezony w punkce 4 przydzela sę stanow a ; podstawa sę: A* := A* \ { a }; K := K \ { k g }; v j := v j + C(a ) dla wszystkch j, w których kod k g zawera jedynk. 6. Jeżel A* =, wykonuje sę przejśce do punktu 7, w nnym wypadku - do punktu 3. 7. Konec. 6. OCENA REZULTATÓW KODOWANIA STANÓW WEWNĘTRZNYCH AUTOMATU Najdokładnejsze określene kosztu realzacj szybkośc dzałana automatu skończonego po wykonanu kodowana stanów wewnętrznych otrzymuje sę w rezultace zastosowana do dalszej realzacj jednego z przemysłowych paketów automatycznego projektowana. Jednak take podejśce potrzebuje welokrotnego wykonana syntezy za pomocą paketu przemysłowego ne zawsze jest możlwe w praktyce. W celu dokonana przyblżonej oceny kosztu realzacj proponuje sę uwzględnć sposób przyporządkowana termów makrokomórkom układu PLD. Znane są następujące główne sposoby przyporządkowywana termów makrokomórkom PLD: 1. Z każdą makrokomórką jest zwązanych na stałe q termów ( klasyczne układy PAL, np. PAL16R8), w takm wypadku q max :=q. 2. Do różnych makrokomórek na stałe podłączono różną lczbę termów (unwersalne PAL, np. PAL22V10). Nech zbór Q={q 1,...,q T }określa lośc termów podłączonych do poszczególnych makrokomórek, gdze q t lczba termów podłączonych do T q t t= 1 makrokomórk t, q t Q, w takm wypadku q = ( j ) / T, q max = max (q t ), t t = 1, T.

3. Przyporządkowane termów odbywa sę za pomocą równoległego rozdzelacza (allocator), kedy to neużywane termy sąsednch makrokomórek mogą być podłączone do jednej makrokomórk (np. rodzny MACH, FLASH, XC9500). 4. Przyporządkowane termów odbywa sę za pomocą równoległego ekspandera (parallel expander), kedy to neużywane termy sąsednch makrokomórek mogą być kaskadowo podłączone do następnych, przy czym ne są wykorzystywane główne wejśca makrokomórek (np. rodzna XC7300). 5. Przyporządkowane termów odbywa sę za pomocą dzelonego ekspandera (shared expander), kedy to określona lczba termów może być podłączona do dowolnej makrokomórk danego bloku funkcjonalnego (np. rodzna MAX5000). 6. Przyporządkowane termów może odbywać sę za pomocą równoległego dzelonego ekspandera (np. rodzny MAX7000, MAX9000). W przypadkach 3-6 parametry q q max dla każdej rodzny PLD są znane. Sposób przyporządkowana termów makrokomórkom PLD wpływa na algorytm oblczana oceny w(d j ) złożonośc realzacj funkcj przejść d j, d j D. Jeżel Q(d j ) q max, to dla wszystkch przypadków w(d j )=1. W przecwnym wypadku (gdy Q(d j ) > q max ) wartość w(d j ) zależy od sposobu przyporządkowana termów makrokomórkom PLD: 1. w(d j ) = 1 + nt((q(d j ) - q) / (q - 1)). 2. w(d j ) = 1 + nt((q(d j ) - q max ) / (q - 1)). 3. w(d j ) = k + nt((q(d j ) - q max ) / (q max - 1)) k, gdze k lczba makrokomórek, których termy mogą być podłączone do jednej makrokomórk, k=nt(q max / q). 4. w(d j ) = nt(q(d j ) / q). 5. w(d j ) = 1 + nt((q(d j ) - q max ) / (q - 1)). 6. w(d j ) = 1 + nt((q(d j ) - q max ) / q). Jako wyznacznk szybkośc dzałana T D automatu skończonego przyjmuje sę lczbę taktów zegara konecznych do przełączena wszystkch elementów pamęc automatu skończonego. Po uwzględnenu poczynonych założeń ocena rezultatów kodowana stanów wewnętrznych automatu skończonego, tzn. określene wartośc W T D, odbywa sę za pomocą następującego algorytmu: Algorytm 5 (oceny otrzymanego rozwązana) 1. Buduje sę równana logczne funkcj przejść ze zboru D; wykonuje sę ch mnmalzację. 2. Dla każdej funkcj d j określa sę lczbę Q(d j ) termów PLD konecznych do jej realzacj, d j D. 3. W zależnośc od sposobu przyporządkowywana termów makrokomórkom PLD dla każdej funkcj d j określa sę welkość w(d j ), d j D. 4. Określa sę koszt realzacj funkcj przejść W = w( d j ). 5. Określa sę wartość Q maxd = max (Q(d j )), j R j= 1 j = 1, R. 6. Jeżel Q maxd q max, to podstawa sę T D := 1; w przecwnym wypadku podstawa sę T D := 1 + nt((q maxd - q max ) / q). 7. Konec 7. BADANIA EKSPERYMENTALNE Opsana metoda syntezy została zamplementowana w pakece ZUBR. Paket ten został opracowany na Wydzale Informatyk Poltechnk Bałostockej. Do badań wykorzystano przykłady testowe ze zboru MCNC [8]. W tabel 1 przedstawono wynk badań eksperymentalnych. Porównywano wynk syntezy automatów skończonych przeprowadzonej

za pomocą opsanej metody z wynkam otrzymanym za pomocą systemów: Max+Plus II frmy Altera, WebPack frmy Xlnx, FPGA Advantage frmy Mentor Graphcs oraz paketu naukowo-badawczego SIS [5]. Zastosowano następujące oznaczena: C M, C Z koszt wyrażony lczbą użytych makrokomórek, odpowedno, dla danego paketu przemysłowego paketu ZUBR, D M, D Z szybkość dzałana wyrażona maksymalnym opóźnenem w nanosekundach, odpowedno, dla danego paketu przemysłowego paketu ZUBR. Tabela 1. Porównane wynków otrzymanych z systemów przemysłowych z wynkam otrzymanym z paketu ZUBR ALTERA MAX+PLUS II XILINX WebPack Nazwa MAX 7000 Nazwa XC9500 plku C M C Z C M /C Z D M D Z D M /D Z plku C M C Z C M /C Z D M D Z D M /D Z Beecount 9 6 1,50 11,9 6,0 1,98 Beecount 9 6 1,50 23,9 5,0 4,78 Ex2 16 12 1,33 8,4 10,3 0,82 Dk27 5 5 1,0 6,9 5,0 1,38 Ex3 8 5 1,60 7,6 6,0 1,27 Ex3 10 5 2,0 24,0 12,5 1,92 Ex5 11 4 2,75 8,4 6,0 1,40 Ex5 9 4 2,25 15,8 20,0 0,79 Ex7 10 4 2,50 8,4 6,0 1,40 Keyb 16 12 1,33 24,7 27,5 0,90 Keyb 26 18 1,44 8,4 11,1 0,76 lon9 7 3 2,33 11,0 5,0 2,20 lon9 7 3 2,33 11,1 6,0 1,85 tav 6 6 1,0 6,9 5,0 1,38 Tran11 7 3 2,33 8,4 6,0 1,40 tran11 9 3 3,0 29,9 5,0 5,98 Średna 1,97 1,36 Średna 1,80 2,41 Mentor Graphcs FPGA Advantage SIS Nazwa MAX 7000 Nazwa MAX 7000 plku C M C Z C M /C Z D M D Z D M /D Z plku C M C Z C M /C Z D M D Z D M /D Z bbsse 13 12 1,08 23,0 15,0 1,53 Bbsse 16 16 1,0 11,2 10,3 1,09 Beecount 7 4 1,75 15,0 15,0 1,0 Beecount 6 6 1,0 7,6 6,0 1,27 Dk14 7 4 1,75 15,0 15,0 1,0 Dk15 7 7 1,0 11,1 9,5 1,17 Dk17 6 4 1,50 15,0 15,0 1,0 Dk27 5 5 1,0 7,6 6,0 1,27 Ex2 16 3 5,33 15,0 23,0 0,65 Ex2 14 12 1,17 9,2 10,3 0,89 Ex5 5 3 1,67 15,0 15,0 1,0 Keyb 26 18 1,44 8,4 11,1 0,76 Ex7 5 3 1,67 15,0 15,0 1,0 Mc 7 7 1,0 11,6 6,0 1,87 tran11 5 3 1,67 15,0 15,0 1,0 tma 25 26 0,96 12,0 10,4 1,15 Średna 2,05 1,02 Średna 1,07 1,18 Porównując rezultaty otrzymane z paketu ZUBR z paketem Maz+Plus II dla rodzny MAX7000 osągnęto w najlepszych przypadkach: 2,75 razy mnejszy koszt (ex5) 1,98 razy wększą szybkość (beecount). Średno: 1,97 razy mnejszy koszt 1,36 razy wększą szybkość. Porównując metodę z paketem Xlnx WebPack dla rodzny XC9500 osągnęto w najlepszym przypadkach: 3 razy mnejszy koszt prawe 6 razy wększą szybkość (tran11). Średno: 1,80 razy mnejszy koszt 2,41 razy wększą szybkość. Porównując rezultaty otrzymane z paketu ZUBR z paketem FPGA Advantage dla rodzny MAX7000 osągnęto w najlepszych przypadkach: 5,33 razy mnejszy koszt (ex2) 1,53 razy wększą szybkość (bbsse). Średno: 2,05 razy mnejszy koszt porównywalną szybkość. Porównując metodę z programem do mnmalzacj stanów STAMINA z paketu SIS dla rodzny MAX7000 osągnęto w najlepszym przypadkach: 1,44 razy mnejszy koszt (keyb) 1,87 razy wększą szybkość (MC). Średno: 1,07 razy mnejszy koszt 1,18 razy wększą szybkość.

8. ZAKOŃCZENIE W pracy przedstawono nową metodę syntezy automatów skończonych Mealy ego Moore a przeznaczoną dla układów PLD o strukturze dwóch programowalnych matryc. Badana eksperymentalne pokazały, że metoda była 1,7 razy średno lepsza w stosunku do systemów komercyjnych, jeżel chodz o lczbę użytych makrokomórek, oraz średno 1,5 razy lepsza, jeżel chodz o szybkość dzałana układów. Można zauważyć klka dróg rozwoju przedstawonej metody syntezy. W pokazanym podejścu lczba R btów kodu może zmenać sę od ntlog 2 M do M-1, dlatego też dla automatów skończonych z dużą lczbą stanów wewnętrznych wartość R może być bardzo duża. Zwększene R prowadz do zwększena lczby argumentów realzowanych funkcj, co czyn bardzej złożoną ch realzację na PLD. Powoduje to koneczność dekompozycj funkcj logcznych względem argumentów. Aby zmnejszyć lczbę argumentów realzowanych funkcj należałoby zastosować w mejsce algorytmu 4 nowy, bardzej zaawansowany algorytm kodowana stanów wewnętrznych. Dla dokładnejszej oceny kosztu realzacj całego automatu skończonego w punkce 5 algorytmu 1 należy uwzględnć koszt realzacj ne tylko funkcj przejść, ale funkcj wyjść. Możlwość programowana pozomu logcznego we współczesnych układach PLD została tu zastosowana tylko do funkcj wyjścowych. Jednak w ogólnym wypadku programowane pozomu logcznego może być stosowane także przy realzacj funkcj przejść. Trudnośc, które pojawają sę w tej sytuacj, zwązane są z przypsanem kodu zerowego dla stanu początkowego automatu skończonego. Praca została zrealzowana w ramach projektu badawczego W/WI/5/03. LITERATURA I ŹRÓDŁA [1] Avedllo M., Quntana J., Huertas J. State mergng and splttng va state assgnment: a new FSM synthess algorthm, IEE Proceedngs. Part E, Computers and Dgtal Technques, vol. 141, No. 4, July 1994, pp.229-237. [2] Głuszkow W.M.: Sntez cfrowych awtomatow. Moskwa, Fzmatgz, 1962, 476 s. [3] Mealy G.H. Method for syntheszng sequental crcuts, Bell System Techn. Jourhal, vol.34, 1955, pp.1045-1079. [4] Moore E.F. Gedanken-experments on sequental machnes, In C.Shannon and J.McCarthy edtors. - Automata Studes, Prnceton Unversty Press, 1956, pp.129-153. [5] Sentovch E.M., Sngh K.J., Lavagno L., Moon C., Murga R., Saldanha A., Savoj H., Stephan P.R., Brayton R.K., Sangovann-Vncentell A. SIS: A system for sequentonal crcut synthess // Memorandum No. UCB/ERL M92/41, Electroncs Research Laboratory, Department of Electrcal Engneerng and Computer Scence, Unversty of Calforna, Berkley, May 1992. - 45p. [6] Solovjev V., Synthess of Sequental Crcuts on Programmable Logc Devces Based on New Models of Fnte State Machnes, Proc. of the EUROMICRO Symposum on DIGITAL SYSTEMS DESIGN (DSD 2001), September 4-6, 2001, Warsaw, Poland, pp. 170-173. [7] Sołowew W.W.: Projektrowanje cfrowych sstem na osnowe programmrujemych logczeskch ntegralnych schem. Moskwa, Hot Lne-Telekom, 2001, 636 s. [8] Yang S., Logc synthess and optmzaton benchmarks user gude. Verson 3.0., Techncal Report, Mcroelectroncs Center of North Carolna, 1991, 43p. [9] Zakrewskj A.D.: Logczeskj sntez kaskadnych schem. Moskwa, Nauka, 1981, 416 s.