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

Slides:



Advertisements
Podobne prezentacje
Przykład liczbowy Rozpatrzmy dwuwymiarową zmienną losową (X,Y), gdzie X jest liczbą osób w rodzinie, a Y liczbą izb w mieszkaniu. Niech f.r.p. tej zmiennej.
Advertisements

I część 1.
Teoria układów logicznych
Automaty asynchroniczne
Teoria układów logicznych
Obserwowalność System ciągły System dyskretny
Wybrane zastosowania programowania liniowego
Architektura systemów komputerowych
ALGORYTM Co to jest algorytm?
Badania operacyjne. Wykład 2
Zjawiska szkodliwe w układach cyfrowych.
Michał Łasiński Paweł Witkowski
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Przygotował Przemysław Zieliński
ZŁOŻONOŚĆ OBLICZENIOWA
Zagadnienie transportowe
Algorytm Rochio’a.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Wstęp do interpretacji algorytmów
UKŁADY SZEREGOWO-RÓWNOLEGŁE
ALGORYTMY.
Zależności funkcyjne.
Ogólnopolski Konkurs Wiedzy Biblijnej Analiza wyników IV i V edycji Michał M. Stępień
Układy sekwencyjne pojęcia podstawowe.
minimalizacja automatów
Układy kombinacyjne cz.2
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Funkcje logiczne i ich realizacja. Algebra Boole’a
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Rozkłady wywodzące się z rozkładu normalnego standardowego
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Cyfrowe układy logiczne
II Zadanie programowania liniowego PL
Sekwencyjne bloki funkcjonalne
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
Zakładamy a priori istnienie rozwiązania α układu równań.
Dynamiczna rekonfiguracja układów FPGA
W jaki sposób użytkownik komunikuje się z komputerem?
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Sieci komputerowe Wstęp Renata Dróbek 3/30/2017.
Obserwowalność i odtwarzalność
Sterowanie – metody alokacji biegunów II
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
Prezentacja Multimedialna
II Zadanie programowania liniowego PL
Podstawy Techniki Cyfrowej
PODSTAWOWE BRAMKI LOGICZNE
Podstawy Techniki Cyfrowej
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Bramki logiczne i układy kombinatoryczne
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Przerzutniki bistabilne
Dominika Milczarek-Andrzejewska WYBÓR MIĘDZYOKRESOWY
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
Wstęp do interpretacji algorytmów
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
Elementy cyfrowe i układy logiczne
Metoda klasyczna (wg książki Sasao)
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

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

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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.

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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.

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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 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 Koniec. Algorytm budowy zbioru par stanów

Reprogramowalne Układy Cyfrowe 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.

Reprogramowalne Układy Cyfrowe 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.

Reprogramowalne Układy Cyfrowe 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.

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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

Reprogramowalne Układy Cyfrowe 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 lion ,23 2,331,271,00 s ,37328,47428,31,011,001,011,00 s27410,24 4 1,00 s ,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.

Reprogramowalne Układy Cyfrowe 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 s ,235567,439073,21,101,091,101,09 s274029,52824,33526,11,431,211,251,07 s ,28833,69135,21,031,051,031,05 tma6937,17041,98950,50,990,891,271,21 train ,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.

Reprogramowalne Układy Cyfrowe 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