TC Moduł 6: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Robert m (dyskusja | edycje)
Nie podano opisu zmian
 
Robert m (dyskusja | edycje)
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

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.


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.

Niech będzie dana funkcja boolowska f:{0,1}n{0,1} oraz pewien podział zmiennych na dwa rozłączne zbiory B (bound set) i A (free set). Tablicą dekompozycji funkcji f (decomposition chart) nazywamy macierz dwuwymiarową o kolumnach etykietowanych wartościami zmiennych funkcji f ze zbioru B oraz o wierszach etykietowanych wartościami zmiennych funkcji f ze zbioru A. Elementami macierzy M są wartości, jakie przyjmuje funkcja f 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 ν(A|B) (column multiplicity).

Twierdzenie [Curtis]

Niech będzie dana funkcja boolowska f oraz podział zbioru zmiennych wejściowych funkcji f na dwa rozłączne zbiory A i B, wówczas:

f(A,B)=h(g1(B),..,gj(B),A)  ν(A|B)2j

Schemat takiej dekompozycji jest przedstawiony na rysunku.