Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

29-30.05.2014Reprogramowalne Układy Cyfrowe 20141 Koszt implementacji w strukturach CPLD i FPGA jako kryterium wyboru stanów przy minimalizacji automatu.

Podobne prezentacje


Prezentacja na temat: "29-30.05.2014Reprogramowalne Układy Cyfrowe 20141 Koszt implementacji w strukturach CPLD i FPGA jako kryterium wyboru stanów przy minimalizacji automatu."— Zapis prezentacji:

1 29-30.05.2014Reprogramowalne Układy Cyfrowe 20141 Koszt implementacji w strukturach CPLD i FPGA jako kryterium wyboru stanów przy minimalizacji automatu skończonego Adam Klimowicz Politechnika Białostocka Wydział Informatyki

2 29-30.05.2014Reprogramowalne Układy Cyfrowe 20142 Plan wystąpienia 1. Wstęp 2. Idea podejścia 3. Algorytm minimalizacji liczby stanów 4. Kryterium wyboru pary stanów do minimalizacji 5. Badania 6. Podsumowanie

3 29-30.05.2014Reprogramowalne Układy Cyfrowe 20143 Wstęp Tradycyjne podejście do syntezy automatów skończonych składa się z następujących, kolejno wykonywanych etapów: minimalizacji liczby stanów, kodowania stanów, syntezy części kombinacyjnej automatu. Jednak takie podejście często utrudnia zadanie optymalizacji automatu na etapie syntezy logicznej. Minimalizacja liczby stanów, jak i ich kodowanie nie uwzględnia: cech szczególnych bazy technologicznej, wymagań stawianych przez zadania syntezy logicznej, np minimalny koszt realizacji.

4 29-30.05.2014Reprogramowalne Układy Cyfrowe 20144 Wstęp Pierwsze próby połączenia dwóch procedur (minimalizacji i kodowania stanów): Dla automatów asynchronicznych [Hallbauer, 1974] Dla niewielkich automatów (liczba stanów < 10) [Lee, Perkowski, 1984] W innych pracach rozwiązywane jest zadanie minimalizacji zajmowanej powierzchni [Czerwiński, Kania, 2009] lub pobieranej mocy [Chaudhury i in. 2009] przy kodowaniu stanów wewnętrznych Wniosek: brak prac, w których jeszcze na etapie minimalizacji stanów jest wykonywana optymalizacja zajmowanej powierzchni oraz innych parametrów automatu

5 29-30.05.2014Reprogramowalne Układy Cyfrowe 20145 Idea metody Minimalizacja liczby stanów wewnętrznych odbywa się droga kolejnego sklejania dwóch stanów. Na każdym kroku rozpatrywać nie jedna parę stanów, ale zbiór G wszystkich par stanów, które dopuszczają sklejanie. Następnie ze zbioru G wybiera się taką parę stanów, która w największym stopniu odpowiada kryteriom minimalizacji z punktu widzenia kosztu realizacji oraz dalszej minimalizacji liczby stanów wewnętrznych automatu

6 29-30.05.2014Reprogramowalne Układy Cyfrowe 20146 Idea metody Dwa stany wewnętrzne automatu skończonego a i i a j mogą zostać sklejone, tzn. zastąpione jednym stanem a i_j, jeśli są one równoważne (identyczna praca przed i po sklejeniu). Funkcjonowanie automatu po sklejeniu stanów będzie identyczne, jeżeli warunki przejść ze stanów a i i a j, które prowadzą do różnych stanów będą ortogonalne. Jeżeli istnieją przejścia, które ze stanów a i i a j wiodą do tego samego stanu, to warunki przejść dla takich stanów powinny być jednakowe. Wartości zmiennych wyjściowych formowanych na przejściach w jednakowe stany nie powinny być ortogonalne. Przy sklejaniu dwóch stanów mogą pojawić się także stany oczekiwania.

7 23-24.05.2013Reprogramowalne Układy Cyfrowe 20137 Oznaczenia X (a m,a s ) – warunek przejścia ze stanu a m do a s Y (a m,a s ) – wektor zmiennych wyjściowych generowany podczas przejścia Z (a i ) – zbiór wektorów wejściowych przejść ze stanu a i A (a i ) – zbiór stanów, do których wykonywane są przejścia ze stanu a i W (a i ) – zbiór wektorów zmiennych wyjściowych formowanych na przejściach ze stanu a i

8 23-24.05.2013Reprogramowalne Układy Cyfrowe 20138 1.Podstawia się G := Ø. 2.Kolejno rozpatruje się wszystkie pary stanów (a i, a j ) ze zbioru A, 3.Dla stanów a i, a j określa się zbiory Z(a i ) i Z(a j ). 4.Dla zbiorów Z(a i ) i Z(a j ) kolejno rozpatruje się pary (X(a i,a h ), X(a j,a t )) Jeśli wszystkie pary rozpatrzono, to dla stanów a i, a j spełnione są warunki sklejania, podstawia się G := G  (a i,a j ) i przechodzi do punktu 2. 5.Sprawdza się warunki ortogonalności X(a i,a h ) i X(a j,a t ). Jeśli warunki przejść są ortogonalne, należy przejść do punktu 4. 6.Jeśli X(a i,a h ) ≠ X(a j,a t ), to nie są spełnione warunki sklejania, należy przejść do punktu 2. 7.Jeżeli X(a i,a h ) = X(a j,a t ), określa się wektory wyjściowe Y(a i,a h ) i Y(a j,a t ), formowane na przejściach, które są inicjowane odpowiednio warunkami X(a i,a h ) i X(a j,a t ). 8.Jeśli wektory wyjściowe są ortogonalne Y(a i,a h ) Y(a j,a t ), wykonuje się przejście do punktu 2. 9.W tej sytuacji X(a i,a h ) = X(a j,a t ) i Y(a i,a h ) Y(a j,a t ). Jeżeli a h = a t, należy przejść do punktu 4. 10.W tej sytuacji X(a i,a h ) = X(a j,a t ) i Y(a i,a h ) Y(a j,a t ), ale a h ≠ a t. Należy sprawdzić warunki powstawania stanu oczekiwania, jeśli są one spełnione – należy przejść do punktu 4. W przeciwnym wypadku dla stanów a i i a j nie są spełnione warunki sklejania. Należy przejść do punktu 2. 11.Koniec. Algorytm budowy zbioru par stanów

9 29-30.05.2014Reprogramowalne Układy Cyfrowe 20149 Ogólny algorytm minimalizacji stanów automatu C st – parametr oceny kosztów realizacji automatu skończonego w rezultacie sklejenia pary stanów (a s,a t ) ze zbioru G. 1.Określa się zbiór G par stanów, które można skleić. Jeżeli G= Ø należy przejść do punktu 5 2.Dla każdej pary stanów (a s,a t ) ze zbioru G określa się wartość C st. 3.Spośród wszystkich par stanów ze zbioru G wybiera się parę (a i,a j ), dla której C ij = min. 4.Wykonuje się sklejanie pary (a i,a j ), wykonuje się przejście do punktu 1. 5.Wykonuje się minimalizację liczby przejść automatu. 6.Wykonuje się minimalizację liczby zmiennych wejściowych automatu. 7.Koniec.

10 29-30.05.2014Reprogramowalne Układy Cyfrowe 201410 Kryterium wyboru pary stanów Przy określaniu kosztu realizacji automatu skończonego w układzie programowalnym nie uwzględnia się realizacji pamięci automatu, a jedynie koszt realizacji części kombinacyjnej. komórki CPLD i FPGA dopuszczają konfigurację z kombinacyjnym i rejestrowym wyjściem. aby dołączyć do automatu przerzutnik, należy tylko odpowiednio skonfigurować wyjście makrokomórki, na której jest realizowana funkcja wzbudzenia elementu pamięci. nie wymaga to żadnych dodatkowych zasobów układu, więc koszt realizacji układu nie zwiększa się. Przed określeniem kosztu realizacji można dokonać minimalizacji zbioru funkcji boolowskich, odpowiadającego części kombinacyjnej automatu za pomocą dowolnej metody.

11 29-30.05.2014Reprogramowalne Układy Cyfrowe 201411 Kryterium wyboru pary stanów dla CLPD Architektura CPLD - zbiór bloków funkcjonalnych, z których każdy składa się z dwóch matryc AND i OR. Zwykle liczba wejść bloków funkcjonalnych CPLD jest dostatecznie duża (22-36) i przewyższa liczbę argumentów funkcji realizowanych w kombinacyjnej części automatu. Krytycznym parametrem dla CPLD jest liczba termów podłączonych do jednej makrokomórki. Średnia wartość tego parametru wynosi zazwyczaj od 4 do 8 (najczęściej 4, 5), Przy określaniu kosztu realizacji pewnej funkcji w i uwzględnia się tylko ograniczenie na średnią liczbę termów q podłączonych do jednej makrokomórki.

12 29-30.05.2014Reprogramowalne Układy Cyfrowe 201412 Kryterium wyboru pary stanów dla FPGA Architektura układów FPGA - zbiór elementów logicznych, zbudowanych na bazie generatorów funkcji logicznych typu LUT (Look-Up Table). Komórka LUT może realizować dowolną funkcje logiczną, ale zależną od niewielkiej liczby argumentów (zwykle 4-6, najczęściej – 4). W przypadku, gdy liczba argumentów realizowanych funkcji przekracza liczbę n wejść LUT, dodatkowo pojawia się zadanie dekompozycji funkcji boolowskich ze względu na liczbę argumentów. Najczęściej stosowane są metody dekompozycji szeregowej, wykorzystywane w większości komercyjnych systemów CAD

13 29-30.05.2014Reprogramowalne Układy Cyfrowe 201413 1.Określa się koszt realizacji C (w i ) funkcji w i  W. 2.W przypadku realizacji automatu w strukturze CPLD, koszt realizacji określa się następująco: C (w i ) = ]Q (w i )/q [ gdzie Q (w i ) – liczba składników (mintermów) funkcji w i 1.W przypadku realizacji automatu w strukturze FPGA koszt realizacji określa się następująco: C (w i ) = 1 + ]( |Z (w i )| - n)/(n – 1)[ gdzie Z (w i ) – zbiór argumentów funkcji w i 1.Określa się parametr oceny kosztu realizacji automatu skończonego: 1.Koniec. Podczas oceny kosztów realizacji można uwzględniać różne metody kodowania: binarne, one-hot lub inne określone metodą syntezy. Algorytm oceny kosztu realizacji

14 29-30.05.2014Reprogramowalne Układy Cyfrowe 201414 Badania dla CPLD MAX3000A NazwaC0C0 D0D0 C1C1 D1D1 C2C2 D2D2 C 0 /C 1 D 0 /D 1 C 2 /C 1 D 2 /D 1 bbara710,25 5 1,401,00 bbsse1615,71515,61615,61,071,011,071,00 keyb2610,82610,82610,81,00 lion9713310,23 2,331,271,00 s14947428,37328,47428,31,011,001,011,00 s27410,24 4 1,00 s5102421,62421,62421,61,00 tma2415,72213,63316,21,091,151,501,19 train11710,7310,23 2,331,051,00 Średnia1,281,051,061,02 C0, C1 i C2 – koszt wyrażony liczbą użytych komórek logicznych, odpowiednio, dla realizacji pierwotnego automatu, po minimalizacji proponowaną metodą i programem STAMINA D0, D1 i D2 – maksymalne opóźnienie (w ns) odpowiednio, dla realizacji pierwotnego automatu, po minimalizacji proponowaną metodą i programem STAMINA.

15 29-30.05.2014Reprogramowalne Układy Cyfrowe 201415 Badania dla FPGA FLEX10K NazwaC3C3 D3D3 C4C4 D4D4 C5C5 D5D5 C 3 /C 4 D 3 /D 4 C 5 /C 4 D 5 /D 4 bbara3517,82516,62616,71,401,071,041,01 bbsse4828,64736,67043,91,020,781,491,20 keyb10238,410135,610238,41,011,081,011,08 lion92321,9815,11020,42,881,451,251,35 s149439073,235567,439073,21,101,091,101,09 s274029,52824,33526,11,431,211,251,07 s5109135,28833,69135,21,031,051,031,05 tma6937,17041,98950,50,990,891,271,21 train112420817,2920,23,001,161,131,17 Średnia1,391,071,171,13 C3, C4 i C5 – koszt wyrażony liczbą użytych komórek logicznych, odpowiednio, dla realizacji pierwotnego automatu, po minimalizacji proponowaną metodą i programem STAMINA D3, D4 i D5 – maksymalne opóźnienie (w ns) odpowiednio, dla realizacji pierwotnego automatu, po minimalizacji proponowaną metodą i programem STAMINA.

16 29-30.05.2014Reprogramowalne Układy Cyfrowe 201416 Podsumowanie Przedstawiona metoda minimalizacji stanów pozwala już na pierwszym etapie uwzględniać parametry docelowego układu programowalnego w celu optymalizacji kosztu realizacji automatu Pokazana metoda w wielu przypadkach przewyższa program STAMINA jeśli chodzi wyniki otrzymane przy implementacji w strukturach CPLD i FPGA zarówno pod względem kosztu realizacji jak i szybkości działania Kierunki dalszych badań: uwzględnianie innych kryteriów przy łączeniu stanów automatu skończonego, takich jak szybkość działania oraz pobór mocy


Pobierz ppt "29-30.05.2014Reprogramowalne Układy Cyfrowe 20141 Koszt implementacji w strukturach CPLD i FPGA jako kryterium wyboru stanów przy minimalizacji automatu."

Podobne prezentacje


Reklamy Google