TC Moduł 6: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M6_Slajd1.png]] | |valign="top" width="500px"|[[Grafika:TC_M6_Slajd1.png]] | ||
|valign="top"| | |valign="top"|'''Dekompozycja funkcji boolowskich.''' | ||
Począwszy od drugiej połowy lat 80-tych intensywne prace badawcze prowadzone są nad metodami i algorytmami syntezy logicznej dla układów FPGA o architekturze TLU (''Table Look-Up''). Intensywność tych prac jest wynikiem z jednej strony dużej popularności struktur FPGA, a z drugiej, ich odmiennej budowy, którą w pierwszym przybliżeniu można scharakteryzować jako strukturę komórkową, w odróżnieniu od struktury bramkowej charakterystycznej dla układów Gate Array i Standard Cell. Dla układów FPGA potrzebne były całkiem nowe rozwiązania, które wypracowano wg klasycznego modelu tzw. dekompozycji funkcjonalnej, wprowadzonej jeszcze w latach 60. przez Ashenhursta i Curtisa. | |||
|} | |} | ||
Linia 8: | Linia 10: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M6_Slajd2.png]] | |valign="top" width="500px"|[[Grafika:TC_M6_Slajd2.png]] | ||
|valign="top"| | |valign="top"|Jednak droga od prostego i ograniczonego modelu Curtisa do metod, które mogłyby być odpowiednie do wysokich wymagań współczesnych technologii układów FPGA, jest bardzo długa i jak można sądzić z najnowszych publikacji badania nad dekompozycją funkcjonalną są ciągle w kręgu zainteresowań zarówno ośrodków uniwersyteckich, jak i firm opracowujących komputerowe systemy projektowania układów cyfrowych. Można stąd wnosić, że zagadnienia dekompozycji funkcjonalnej – do tej pory rzadko prezentowane w wydawnictwach książkowych – osiągnęły poziom i potrzebę ich rozpowszechnienia. Jest to istotne tym bardziej, że istniejące uniwersyteckie narzędzia komputerowe syntezy logicznej bezpośrednio wykorzystujące algorytmy dekompozycji dają bardzo dobre rezultaty w porównaniu do systemów komercyjnych. | ||
|} | |} | ||
Linia 15: | Linia 17: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M6_Slajd3.png]] | |valign="top" width="500px"|[[Grafika:TC_M6_Slajd3.png]] | ||
|valign="top"| | |valign="top"|Niech będzie dana funkcja boolowska <math>f: \{0, 1\}^n \rightarrow \{0, 1\}</math> oraz pewien podział zmiennych na dwa rozłączne zbiory <math>B</math> (''bound set'') i <math>A</math> (''free set''). Tablicą dekompozycji funkcji <math>f</math> (''decomposition chart'') nazywamy macierz dwuwymiarową o kolumnach etykietowanych wartościami zmiennych funkcji <math>f</math> ze zbioru <math>B</math> oraz o wierszach etykietowanych wartościami zmiennych funkcji <math>f</math> ze zbioru <math>A</math>. Elementami macierzy <math>M</math> są wartości, jakie przyjmuje funkcja <math>f</math> na wektorach złożonych z odpowiednich etykiet ''i''-tego wiersza i ''j''-tej kolumny. Liczbę istotnie różnych kolumn tej macierzy ze względu na ich zawartość oznaczamy symbolem <math>\nu (A|B)</math> (''column multiplicity''). | ||
|} | |} | ||
Linia 23: | Linia 25: | ||
|valign="top" width="500px"|[[Grafika:TC_M6_Slajd4.png]] | |valign="top" width="500px"|[[Grafika:TC_M6_Slajd4.png]] | ||
|valign="top"| | |valign="top"| | ||
{{ | |||
twierdzenie|[Curtis]|curtis| | |||
Niech będzie dana funkcja boolowska <math>f</math> oraz podział zbioru zmiennych wejściowych funkcji <math>f</math> na dwa rozłączne zbiory <math>A</math> i <math>B</math>, wówczas: | |||
: <math>f(A,B) = h(g_1(B),.., g_j(B),A) \ \iff \ \nu (A|B) \le 2^j</math> | |||
}} | |||
Schemat takiej dekompozycji jest przedstawiony na rysunku. | |||
|} | |} | ||
Wersja z 07:06, 29 sie 2006
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |