Strony pracowników Wydziału Informatyki Politechniki Białostockiej

Metody syntezy układów kombinacyjnych

Metody syntezy układów kombinacyjnych na PLD zwykle składają się z następujących kolejnych etapów:

 budowany jest dostatecznie ogólny model PLD dopuszczający zastosowanie klasycznych metod syntezy;

 dla danego modelu rozwiązuje się klasyczne zadania syntezy (minimalizacji, dekompozycji, faktoryzacji itp.), przy czym takich zadań może być wykonywanych kilka;

 wykonuje się odwzorowanie otrzymanego układu logicznego na strukturę realnego układu PLD.

Wady takiego podejścia są następujące:

 stosowany jest zbyt ogólny model PLD, który nie pozwala uwzględnić wszystkich szczegółów architektury realnego układu PLD;

 klasyczne zadania syntezy nie pozwalają uwzględniać większości własności architektur PLD, dlatego nawet otrzymanie dokładnych rozwiązań klasycznych zadań syntezy prowadzi do dalekich od optymalnych rezultatów realizacji na PLD;

 ponieważ w procesie syntezy czasem należy rozwiązać kilka zadań klasycznych, to przy przejściu od jednego zadania do drugiego mogą w rezultacie wystąpić błędy;

 nie uwzględnia się właściwości rozwiązania zadania odwzorowania układu logicznego na strukturę PLD, dlatego często na tym etapie należy na nowo wykonywać minimalizację, dekompozycję itp.

Główne różnice przedstawionego podejścia do syntezy układów kombinacyjnych od tradycyjnego są następujące:

 określa się nie jeden ale trzy modele PLD: uniwersalne PAL (Programmable Array Logic), „klasyczne” PAL oraz CPLD (Complex PLD), przy czym każdy model pozwala w jak największym stopniu uwzględnić szczególne właściwości architektury odpowiedniej klasy układów programowalnych;

 wykonuje się początkowe przekształcenia danego zbioru funkcji boolowskich dla najbardziej efektywnego zastosowania odpowiedniej metody syntezy;

 metody syntezy maksymalnie wykorzystują możliwości architektur współczesnych układów PLD;

– zadanie odwzorowania syntezowanego układu kombinacyjnego na strukturę PLD częściowo lub w pełni rozwiązuje się w procesie syntezy.

Obniżenie kosztu realizacji układów kombinacyjnych w przedstawionych metodach syntezy osiąga się dzięki efektywnemu wykorzystaniu następujących właściwości architektur PLD:

– możliwości programowania poziomu logicznego wyjściowych sygnałów PLD, co pozwala realizować tylko jedną – najprostszą postać każdej funkcji: prosta lub zanegowaną;

– wewnętrznych pętli sprzężenia zwrotnego PLD, przy tym wartości już realizowanych funkcji i ich negacji mogą być wykorzystywane w charakterze faktorów do realizacji innych funkcji;

– makrokomórek PLD z dwoma sprzężeniami zwrotnymi dla jednoczesnej realizacji funkcji pośrednich i wykorzystania w charakterze wejść układu;

– możliwości podłączenia różnej liczby termów do różnych makrokomórek PLD i in.

Wszystkie przedstawione metody zawierają etap początkowego przekształcenia wejściowego zbioru funkcji boolowskich i formowania zbioru Y* realizowanych funkcji dla najbardziej efektywnego zastosowania odpowiedniej metody syntezy.

Sens metody syntezy M1 jednopoziomowego układu kombinacyjnego zawiera się w rozbiciu zbioru Y* na minimalna liczbę T podzbiorów Y1,…,YT w taki sposób, aby zostały spełnione konieczne i wystarczające warunki realizacji na jednym PAL (funkcjonalnym bloku CPLD) wszystkich funkcji podzbioru Y1, t= . Na końcu funkcje każdego podzbioru Y1, t= , są realizowane na oddzielnych układach PAL. Przy przydzielaniu funkcji zewnętrznym wyprowadzeniom PAL funkcje złożone się makrokomórkom wyjściowym z dużą liczbą termów, a proste – makrokomórkom z mniejszą liczbą związanych z nimi termów. W przypadku realizacji inwersyjnej postaci funkcji potrzebną wartość otrzymuje się droga programowania poziomu logicznego sygnału wyjściowego.

Cechy charakterystyczne metody M1 są następujące:

– buduje się układy kombinacyjne o maksymalnej szybkości, ograniczonej tylko czasem przejścia sygnału z wejść na wyjścia układu PLD;

– wszystkie sygnały wyjściowe mają taki sam czas ustalania;

– metoda pozwala zastosować oddzielną minimalizację funkcji boolowskich, która jest efektywniejsza niż wspólna minimalizacja wszystkich funkcji;

– metodę można stosować w systemach cyfrowych zarówno z prosta jak i inwersyjną logiką;

– do realizacji zbioru funkcji boolowskich potrzeba minimalnej liczby makrokomórek PLD równej liczbie realizowanych funkcji.

Wady metody M1 są następujące:

– metodę można stosować do dosyć prostych zbiorów funkcji boolowskich;

– wysoki ogólny koszt realizacji zbioru funkcji boolowskich jęśli chodzi o liczbę wykorzystanych PAL lub bloków funkcjonalnych CPLD.

W taki sposób metoda M1 jest najbardziej efektywna do syntezy odpowiednio prostych układów kombinacyjnych dla dowolnych klas układów PLD w systemach cyfrowych zarówno z prostą, jak i z inwersyjną logiką.

Dużo układów PLD dopuszcza montażowe łączenie wyprowadzeń zewnętrznych w celu realizacji funkcji logicznej sumy (OR). Aby takie połączenie mogło być zrealizowane, wyjściowe bufory PLD powinny być wykonane w technologii z otwartym kolektorem lub otwartym drenem (z możliwością programowania). Połączenie montażowe wyjść realizuję funkcję sumy logicznej w logice inwersyjnej. Dlatego metod M2 stosuje się częściej w systemach z inwersyjną logiką.

Sens metody M2 syntezy jednopoziomowych układów kombinacyjnych z wykorzystaniem montażowego łączenia wyjść przez OR zawiera się w stworzeniu minimalnej liczby T podzbiorów B1,…,BT części funkcji zbioru Y* w taki sposób, aby zostały spełnione konieczne i wystarczające warunki realizacji na jednym PAL (funkcjonalnym bloku CPLD) wszystkich części funkcji każdego podzbioru Bt, t=. Końcowe zadanie sprowadza się do pokrycia macierzy boolowskiej minorami o ograniczonych rozmiarach. Na koniec części funkcji każdego podzbioru Bt, t=, są realizowane na oddzielnych układach PAL. W końcowym etapie syntezy dla każdej funkcji i wyjścia PAL, z których realizowano zbiór Z(i) części funkcji i, i=, łączy się za pomocą montażowego połączenia przez OR.

Zalety metody M2 są następujące:

– buduje się układy kombinacyjne o dużej szybkości, różniące się od rozpatrywanych wyżej układów jednopoziomowych tylko opóźnieniem na montażowym łączeniu wyjść;

– czas formowania różnych sygnałów wyjściowych może różnić się nieznacznie (tylko o czas opóźnienia na montażowym połączeniu wyjść);

– metoda pozwala zastosować oddzielną minimalizację zbioru funkcji boolowskich;

– znacznie szerszy obszar zastosowania w porównaniu z metodą M1.

Wady metody M2 są następujące:

– układ PLD powinien być wykonany w technologii z otwartym kolektorem lub posiadać możliwość ustawienia wyjścia w tryb z otwartym drenem;

– metodę stosuje się w systemach z inwersyjną logiką;

– inwersyjna postać funkcji może być bardziej złożona niż postać prosta;

– metoda wymusza stosowanie dla każdego połączenia montażowego dodatkowego rezystora (pull-up), co może znacznie skomplikować etap projektowania konstrukcyjnego.

Metoda M2 jest najbardziej efektywna przy syntezie dosyć złożonych układów kombinacyjnych w systemach cyfrowych z inwersyjną logiką na PLD, posiadających opcje open-drain i pull-up.

Większość wad metody M2 można usunąć, jeżeli połączenie montażowe wyjść zrealizuje się za pomocą drugiego stopnia PLD. Metoda syntezy dwupoziomowych układów kombinacyjnych M3 składa się z trzech etapów. W pierwszym etapie określa się zbiór realizowanych funkcji Y*; na drugim etapie wykonuje się drugi etap metody M2; na trzecim etapie części funkcji łączy się za pomocą sumy logicznej realizowanej w drugim stopniu PLD. Ponieważ w układzie dwupoziomowym każda funkcja yj, yj Î Y, jest realizowana na oddzielnej makrokomórce układu PLD, to dla każdej funkcji można wybrać prostą lub inwersyjną wartość funkcji, a potrzebną postać na wyjściu uzyskać za pomocą programowania poziomu logiczne go sygnału wyjściowego makrokomórki wyjściowej PLD.

Zalety metody syntezy układów kombinacyjnych dwupoziomowych M3 są następujące:

metoda M3 w odróżnieniu od metody M2, można zastosować w systemach cyfrowych zarówno z dodatnią jak i ujemną logiką, a także używając dowolnych układów PLD (nie jest konieczne zastosowanie programowalnych opcji open-drain i pull-up).

Wady metody M3 są następujące:

dwukrotne obniżenie szybkości działania układu w porównaniu z metodami M1 i M2;

zwiększenie kosztu realizacji w porównaniu z metodą M2;

różny czas formowania wartości sygnałów wyjściowych realizowanych na pierwszym i drugim poziomie układu.

Jak widać, metoda M3 jest przeznaczona do stosowania w sytuacjach, kiedy nie można zastosować metody M2, np. system cyfrowy funkcjonuje w dodatniej logice, a PLD nie dopuszcza montażowego łączenia wyjść, komplikuje się etap projektowania konstrukcyjnego itp.

Istotną wadą metody M3 jest różny czas formowania wartości funkcji wyjściowych, realizowanych na pierwszym i drugim poziomie logiki. W metodzie M4, aby zniwelować pokazaną wadę – wszystkie funkcje są realizowane za pomocą drugiego stopnia układu. Metoda M4 jest identyczna z metodą M3 z wyjątkiem tego, że na trzecim etapie syntezy, do zbioru części funkcji Z dołącza się wszystkie funkcje, także realizowane na pierwszym poziomie układu.

Zalety metody M4 w porównaniu z metodą M3 są następujące:

– metoda M4 zapewnia jednakowy czas formowania się sygnałów wyjściowych.

Wady metody M4 w porównaniu z metodą M3 są następujące:

– wzrost kosztów realizacji.

Jak widać, metoda M4 powinna być stosowana w sytuacjach, kiedy metody M3 nie da się zastosować ze względu na różny czas formowania wartości sygnałów wyjściowych.

W niektórych przypadkach, kiedy warunek jednoczesnego formowania się sygnałów wyjściowych układu nie jest krytyczny, można zastosować metody syntezy układów kombinacyjnych wielopoziomowych. Główną wadą metod syntezy wielopoziomowych układów kombinacyjnych jest możliwość znacznej różnicy w czasach formowania się sygnałów wyjściowych. Jednak pokazaną wadę można częściowo zlikwidować poprzez zaprogramowanie wyjść układu PLD jako rejestrowych. Przewaga układów wielopoziomowych w porównaniu z metodami M2-M4 objawia się mniejszym kosztem realizacji, wyrażonym liczbą wykorzystanych makrokomórek PLD.

Cechą szczególną metody M5 jest to, że już zrealizowane funkcje, części funkcji lub ich inwersje są szeroko wykorzystywane jako funkcje-faktory do realizacji innych funkcji. Metoda M5 jet bardzo podobna do metody M3 i także składa się z trzech etapów. Różnica w pierwszym etapie polega na tym, że wykonuje się nie rozdzielną, a wspólną minimalizację zbioru funkcji YÈ . Z dwóch funkcji yi i i, przy wypełnieniu koniecznych i wystarczających warunków realizacji do zbioru Y* dołącza się najbardziej efektywną funkcję jako faktor do realizacji innych funkcji. Na drugim etapie zgodnie z metodą M2 formowany jest podzbiór części funkcji B1,…,BT. Różnica polega na tym, że jeśli jedna z realizowanych funkcji (części funkcji) lub jej inwersja jest funkcją-faktorem dla innych funkcji, to wprowadza się funkcję pośrednią i wykonuje się odpowiednie przekształcenie reprezentacji zbioru funkcji Boolowskich Y*. W metodzie M5 jest też przewidziana możliwość wprowadzenia funkcji pośrednich w celu uproszczenia realizacji zbioru funkcji Boolowskich Y*. Na trzecim etapie syntezy części funkcji są łączone za pomocą sumy logicznej układu PLD ostatniego poziomu zgodnie z metodą M3.

Do zalet metody M5 należy odnieść znacznie pełniejsze wykorzystanie możliwości architektur układów PLD:

sprzężeń zwrotnych do podawania prostych i zanegowanych wartości realizowanych funkcji lub ich części;

wewnętrznych makrokomórek PLD do realizacji funkcji pośrednich;

makrokomórek z dwoma sprzężeniami zwrotnymi dla jednoczesnej realizacji funkcji pośrednich i wprowadzania wartości zmiennych wejściowych.

Wady metody są następujące:

różny czas formowania wartości funkcji wyjściowych.

Dlatego też, metoda M5 może być rekomendowana do realizacji złożonych zbiorów funkcji Boolowskich, kiedy szybkość działania nie jest parametrem krytycznym, a należy minimalizować koszt realizacji.

Istotnym ograniczeniem zastosowania powyższych metod jest ograniczenie maksymalnej rangi (liczby literałów) koniunkcji realizowanych funkcji. W przypadku naruszenia tego warunku możliwe są dwa podejścia do rozwiązania tego problemu:

1) synteza dodatkowego układu kombinacyjnego na PLD do realizacji wszystkich koniunkcji zadanego zbioru funkcji Boolowskich;

2) synteza dodatkowego układu kombinacyjnego na PLD do obniżenia rangi koniunkcji do zadanej wielkości.

W przepadku podejścia pierwszego, dalsza synteza może odbywać się drogą połączenia wyjść PLD za pomocą sumy logicznej OR (metoda M2), kiedy dopuszczalne jest montażowe łączenie wyjść, albo połączenie m koniunkcji funkcją sumy logicznej za pomocą drugiego poziomu układów PLD (metody M3 i M4), albo też drogą syntezy układu z wykorzystaniem wewnętrznych pętli sprzężenia zwrotnego PLD (metoda M5), kiedy to niedopuszczalne jest montażowe łączenie wyjść. W przypadku drugiego podejścia, maksymalną rangę koniunkcji można obniżyć do zadanej wartości, a dalszą syntezę przeprowadzić odpowiednio do jednej z metod M2-M5.

Metoda M6 zawiera trzy etapy. W pierwszym etapie określa się zbiór Y* realizowanych funkcji w pełni zgodnie z jedną z metod M2-M5, wykorzystywanych na trzecim etapie. W drugim etapie realizuje się koniunkcję zbioru funkcji Boolowskich Y* układu wielopoziomowego na PLD. Przy tym oddzielne koniunkcje lub ich części mogą być wykorzystywane jako faktory do realizacji innych koniunkcji. Na trzecim etapie syntezy wykorzystuje się jedną z metod M2-M5.

Główną zaletą metody M6 jest brak ograniczeń na jej zastosowanie, tj. dana metoda może być zastosowana do syntezy bardzo złożonych zbiorów funkcji Boolowskich w dowolnych systemach cyfrowych za pomocą dowolnych układów PLD.

Wady metody M6 są następujące:

– wysoki koszt realizacji;

– mała szybkość tak zbudowanych układów kombinacyjnych;

– różny czas formowania się wartości funkcji wyjściowych.

Jak widać, metoda M6 jest przeznaczona do syntezy bardzo złożonych zbiorów funkcji Boolowskich, których realizacja za pomocą innych metod jest niemożliwa.

<w przygotowaniu>

 

× W ramach naszego serwisu www stosujemy pliki cookies zapisywane na urządzeniu użytkownika w celu dostosowania zachowania serwisu do indywidualnych preferencji użytkownika oraz w celach statystycznych.
Użytkownik ma możliwość samodzielnej zmiany ustawień dotyczących cookies w swojej przeglądarce internetowej.
Więcej informacji można znaleźć w Polityce Prywatności
Korzystając ze strony wyrażają Państwo zgodę na używanie plików cookies, zgodnie z ustawieniami przeglądarki.
Akceptuję Politykę prywatności i wykorzystania plików cookies w serwisie.