Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD

Podobne dokumenty
Synteza logiczna dla struktur CPLD typu PAL wykorzystująca elementy XOR

Technika cyfrowa Synteza układów kombinacyjnych

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

Technika cyfrowa Synteza układów kombinacyjnych (I)

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Część 2. Funkcje logiczne układy kombinacyjne

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Język opisu sprzętu VHDL

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Synteza układów kombinacyjnych

Algebra Boole a i jej zastosowania

Synteza strukturalna automatów Moore'a i Mealy

x x

2. SYNTEZA UKŁADÓW LOGICZNYCH REALIZOWANYCH NA BAZIE DEMULTIFLEK3ERÓW

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Wstęp do Techniki Cyfrowej... Teoria automatów

dr inż. Małgorzata Langer Architektura komputerów

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Wstęp do Techniki Cyfrowej... Algebra Boole a

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Minimalizacja form boolowskich UC1, 2009

PRACA MINIMALNA ZIĘBNICZEGO OBIEGU LEWOBIEŻNEGO

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Laboratorium podstaw elektroniki

Implementacja algorytmu szyfrującego

Elementy cyfrowe i układy logiczne

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Minimalizacja form boolowskich

T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002.

Sterowniki Programowalne (SP)

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Niektóre własności 1-diagnozowalnych struktur typu PMC

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

ZASTOSOWANIE TRANSWERSALI HIPERGRAFÓW DO MINIMALIZACJI ROZMIARU PAMIĘCI JEDNOSTEK STERUJĄCYCH

UKŁADY LOGICZNE. Prowadzi: Tadeusz ŁUBA, (GE pok. 472) Wykład dla specjalności: Elektronika i Inżynieria Komputerowa, Inżynieria Biomedyczna (ULOGE)

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

Elementy cyfrowe i układy logiczne

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Wielopoziomowa synteza układów logicznych

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ

Modelowanie logiki rewersyjnej w języku VHDL

Aproksymacja funkcji a regresja symboliczna

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO

Opracował: Jan Front

UKŁADY MIKROPROGRAMOWALNE

PODSTAWY UKŁADÓW LOGICZNYCH. Prowadzi: prof. dr hab. Tadeusz ŁUBA, (Nowowiejska 15/19, GE pok. 472)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Metoda Karnaugh. B A BC A

TEORETYCZNE PODSTAWY INFORMATYKI

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Dekompozycja i odwzorowanie technologiczne z wykorzystaniem binarnych diagramów decyzyjnych

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne)

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Bezpieczeństwo informacji oparte o kryptografię kwantową

Układy reprogramowalne i SoC Implementacja w układach FPGA

Wykorzystanie bramek prądowych i napięciowych CMOS do realizacji funkcji bloku S-box algorytmu Whirlpool

WYKORZYSTYWANIE WYJŚCIOWYCH MAKROKOMÓREK UKŁADU PLD W

10. Kolorowanie wierzchołków grafu

Gdynia, dr hab. inż. Krzysztof Górecki, prof. nadzw. AMG Katedra Elektroniki Morskiej Akademia Morska w Gdyni

Podstawy Automatyki. Człowiek- najlepsza inwestycja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Algorytmy sztucznej inteligencji

Adam Opara. Dekompozycyjne metody syntezy układów kombinacyjnych wykorzystujące binarne diagramy decyzyjne

Architektura komputerów Wykład 2

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Podstawowe układy cyfrowe

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Analiza korespondencji

Minimalizacja funkcji boolowskich c.d.

Laboratorium podstaw elektroniki

Modelowanie przetworników pomiarowych Kod przedmiotu

W ujęciu abstrakcyjnym automat parametryczny <A> można wyrazić następującą "ósemką":

S P R A W O Z D A N I E T e m a t: Projektowanie układów realizujących złożone funkcje logiczne.

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

ZASTOSOWANIE PROGRAMOWANIA GRAFICZNEGO W DYDAKTYCE AUTOMATYKI

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

POLITECHNIKA POZNAŃSKA

WYZNACZANIE KOSZTÓW TRANSPORTU Z WYKORZYSTANIEM OCTAVE 3.4.3

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Ukªady Kombinacyjne - cz ± I

ROLA I ZNACZENIE SYNTEZY LOGICZNEJ W TECHNICE CYFROWEJ UKŁADÓW PROGRAMOWALNYCH

Synteza strukturalna automatu Moore'a i Mealy

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Elektronika i techniki mikroprocesorowe

Transkrypt:

BIULETYN WAT VOL. LVIII, NR 3, 29 Synteza logiczna układu realizującego zespół funkcji przełączających z użyciem bramek XOR w strukturach CPLD DARIUSZ KANIA 1, WALDEMAR GRABIEC 1 Politechnika Śląska, Wydział Automatyki, Elektroniki i Informatyki, Instytut Elektroniki, 44-0 Gliwice, ul. Akademicka 16 Wojskowa Akademia Techniczna, Wydział Elektroniki, Instytut Telekomunikacji, -908 Warszawa, ul. S. Kaliskiego 2 Streszczenie. W artykule przedstawiono koncepcję syntezy logicznej przeznaczonej dla matrycowych struktur CPLD. Rdzeniem układów CPLD jest blok logiczny typu zawierający element XOR. Celem pracy jest zaprezentowanie metody syntezy, która umożliwia realizację zespołu funkcji za pomocą bloków logicznych typu zawierających określoną liczbę iloczynów i bramkę logiczną XOR. Słowa kluczowe: synteza logiczna, dekompozycja, odwzorowanie technologiczne Symbole UKD: 621.38-181.4 1. Wprowadzenie Większość oferowanych obecnie struktur CPLD zawiera elementy architektury charakterystyczne dla układów (Programmable Array Logic). Są to bloki logiczne typu (-block) zawierające pewną liczbę k bramek AND (najczęściej k = 4 8) dołączonych na stałe do wejść bramki OR. Oprócz tego w strukturach tych znajdują się zazwyczaj inne dodatkowe elementy w tym również bramki XOR (rys. 1) [1]. Podstawowym problemem związanym z syntezą logiczną dla układów CPLD typu jest efektywne wykorzystanie dostępnych zasobów iloczynowych. Głównym elementem klasycznej metody syntezy dedykowanej strukturom CPLD jest dwupoziomowa minimalizacja, która w przypadku zespołu funkcji wykonywana

380 D. Kania, W. Grabiec k-and ( k = 3) Rys. 1. Struktura bloku logicznego typu zawierającego bramkę XOR jest dla każdej funkcji oddzielnie. Okazuje się jednak, że możliwe jest również zastosowanie dekompozycji, używanej do wspierania procesu syntezy układów realizowanych w strukturach FPGA. Dekompozycja w przypadku tych układów polega na podziale projektu na części o zadanej liczbie wejść i wyjść, odpowiadające strukturze konfigurowalnych bloków logicznych CLB (Configurable Logic Block). W artykule zaprezentowano pomysł dekompozycji zespołu funkcji, umożliwiający wykorzystanie elementu XOR wchodzącego w skład bloków logicznych struktur CPLD. W opisanej koncepcji zastosowano elementy dekompozycji kolumnowej, stanowiącej rozszerzenie klasycznego modelu dekompozycji Curtisa [2, 3, 4]. Niniejszy artykuł jest kontynuacją pracy [1], w której przedstawiono pomysł wykorzystania elementu XOR w syntezie logicznej dla pojedynczych funkcji. 2. Istota dekompozycji kolumnowej dla zespołu funkcji W syntezie logicznej przeznaczonej dla układów FPGA, ze względu na specyfikę ich budowy, dekompozycja odgrywa bardzo istotną rolę. Badania prowadzone nad dekompozycją funkcjonalną są w kręgu zainteresowań zarówno ośrodków uniwersyteckich, jak i firm opracowujących systemy do projektowania układów cyfrowych [5]. Wyniki wielu eksperymentów przedstawionych między innymi w [2] pokazują, że korzystne jest prowadzenie dekompozycji dla zespołu funkcji. n m Funkcja logiczna f : B B podlega dekompozycji Fg [ 1( X1), g2( X 1),..., g ( p X ), ] 1 X2 wtedy i tylko wtedy, gdy złożoność kolumnowa matrycy podziałów (siatki Karnaugha) spełnia zależność ν(x 2 X 1 ) 2 p. Pomiędzy zbiorem X 1 (zbiór związany) i zbiorem X 2 (zbiór wolny) zachodzą następujące relacje: X 1 X 2 = {i n,..., i 2, i 1 } oraz X 1 X 2 = ϕ [2, 3, 4]. Niech Y = {y m,, y 2, y 1 } będzie zbiorem m-funkcji y i = f i (i n,, i 2, i 1 ). Przykład 1: Poszukiwana jest realizacji funkcji testowej (benchmark) rd53.pla opisanej w formacie Espresso [6]. Układ testowy rd53 generuje trzy funkcje ( f : B B ) f1, f2, f3. Poszukajmy dwóch realizacji układu testowego rd53 z użyciem bloków 5 3 logicznych

Synteza logiczna układu realizującego zespół funkcji przełączających... 381 zawierających tylko trzy lub tylko cztery iloczyny (k = 3 lub 4). Siatkę Karnaugha dla rozpatrywanego zespołu funkcji przedstawiono na rysunku 2. cde ab 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 f1, f2, f3 Rys. 2. Siatka Karnaugha funkcji testowej rd53 W wyniku minimalizacji każdej funkcji oddzielnie programem Espresso (wywołanie z linii poleceń: Espresso-Dso), uzyskano następujące wartości parametrów (liczba iloczynów dla poszczególnych funkcji wyjściowych Δ fi, i = 1, 2, 3): Δ f1 = 5, Δ f2 = 16, Δ f3 =. 5 3 Realizując rozpatrywaną funkcję f : B B metodą klasyczną należałoby użyć 15 bloków logicznych trzyiloczynowych (k = 3), uzyskując strukturę trzywarstwową. Rozwiązanie to przedstawiono na rysunku 3. Rys. 3. Klasyczna realizacja funkcji testowej rd53

382 D. Kania, W. Grabiec W przypadku użycia bloków czteroiloczynowych (k = 4), uzyskuje się lepsze (w sensie zajmowanej powierzchni i szybkości) rozwiązanie z użyciem bloków logicznych, w strukturze dwuwarstwowej. Aparat matematyczny związany z określeniem podstawowych parametrów (liczba bloków logicznych oraz liczba warstw logicznych) dla metody klasycznej zawarto w [1, 2]. Okazuje się, że istnieją znacznie efektywniejsze metody syntezy od metody klasycznej [2]. Jedną z nich, najefektywniejszą pod względem powierzchni, jest metoda z zastosowaniem dekompozycji, ukierunkowana na struktury CPLD typu tzw. dekompozycja kolumnowa. Opiera się ona na funkcjonalnej dekompozycji Curtisa [4, 5]. Istota dekompozycji kolumnowej sprowadza się do poszukiwania odpowiedniego podziału zbioru argumentów zespołu funkcji, dla którego liczba wzorców kolumn (złożoność kolumnowa) matrycy podziałów zapewnia podział analizowanego układu na blok związany i wolny o porównywalnej złożoności, określanej jako iloczyn liczby wejść i wyjść. Wyczerpujący opis dekompozycji kolumnowej zawarto w monografii [2]. Przykład 2: Poszukajmy realizacji układu rd53 na blokach typu zawierających trzyiloczyny (k = 3) za pomocą metody opartej na dekompozycji kolumnowej. W wyniku minimalizacji (Espresso-Dso) uzyskano wartości wyróżników Δ f1 = 5, Δ f2 = 16, Δ f3 =, określające liczby implikantów potrzebnych do realizacji poszczególnych funkcji. Korzyści stosowania dekompozycji będą występowały dla funkcji f i, gdy spełniony jest warunek Δ fi > 2k. W przeciwnym przypadku (Δ fi < 2k) funkcja realizowana jest metodą klasyczną. Dla rozpatrywanego układu rd53 taka sytuacja występuje dla funkcji f 1 (Δ f1 < 2 3), stąd poszukiwania odpowiedniej dekompozycji kolumnowej ograniczają się do zespołu dwóch pozostałych funkcji f 2 i f 3. Złożoność kolumnową wyznacza się wykorzystując algorytm kolorowania wzorców kolumn ukierunkowany na struktury typu [1, 2]. Dla rozpatrywanego układu testowego rd53 wybrany zostaje podział argumentów na dwa podzbiory X 1 = {c, d, e}; X 2 = {a, b}, dla którego odpowiednie kodowanie wzorców kolumn [2] prowadzi do rozwiązania przedstawionego na rysunku 4b. Na rysunku 4a przedstawiono realizację klasyczną funkcji f 1 rozpatrywanego zespołu funkcji (dwa trzyiloczynowe bloki logiczne w strukturze dwuwarstwowej). Widać więc, że otrzymane rozwiązanie jest znacznie efektywniejsze pod względem liczby użytych bloków logicznych od rozwiązania uzyskiwanego metodą klasyczną. W sumie wykorzystano tylko 9 bloków, uzyskując strukturą trzywarstwową, nie gorszą pod względem liczby warstw logicznych od przedstawionego wcześniej rozwiązania klasycznego. Podobne oszczędności układowe występują dla większych bloków zawierających cztery iloczyny (k = 4). Uzyskujemy wtedy rozwiązanie z 7 blokami logicznymi typu również w strukturze trzywarstwowej.

Synteza logiczna układu realizującego zespół funkcji przełączających... 383 Rys. 4. Wynik dekompozycji kolumnowej funkcji testowej rd53 3. Dekompozycja zespołu funkcji ukierunkowana na użycie elementów XOR z bloków logicznych Opracowany model dekompozycji kolumnowej można rozszerzyć poszukując rozwiązań z użyciem powszechnie dostępnych w strukturach CPLD elementów XOR. Złożoność kolumnowa siatki Karnaugha zespołu funkcji f 2, f 3 (rys. 5a) wynosi 4 (kolumny: A, B, C, D). Analizując siatkę Karnaugha przedstawioną na rysunku 4a, można zauważyć, iż po negacji funkcji f 2 dla wzorca A (tzn. ) uzyskujemy identyczną kolumnę (w sensie kombinacji zerojedynkowej), jak kolumny skojarzone ze wzorcem C. Analogicznie, po negacji funkcji f 2 dla wzorca D (tzn. ) otrzymamy wzorzec B. Na rysunku 5b przedstawiono siatkę Karnaugha zmodyfikowaną w stosunku do siatki pierwotnej zgodnie z powyższymi spostrzeżeniami. Nową funkcję f 2 otrzymaną po wykonaniu opisanych wyżej negacji oznaczono jako f 2. a) b) cde cde ab 0 1 0 0 0 1 1 0 ab 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 0 A B C B C D C B f2, f3 C B C B C B C B f 2, f3 Rys. 5. Siatka Karnaugha zespołu funkcji (f 2, f 3 ) przed (a) oraz po (b) modyfikacji

384 D. Kania, W. Grabiec W efekcie powyższych zmian siatka Karnaugha z rysunku 5b ma tylko dwa wzorce kolumn (B i C), stąd w myśl twierdzenia Curtisa [4] blok związany może mieć tylko jedno wyjście (p = 1). W sytuacji, gdy nie ma potrzeby ekspansji liczby iloczynów, istnieje możliwość realizacji funkcji g(x 1 ) tylko z jednym blokiem logicznym zawierającym 3 iloczyny. Zachodzi jednak potrzeba negacji funkcji f 2 dla dwóch kombinacji wektorów związanych c, d, e = {0, 1}. Zwykle w blokach logicznych struktur CPLD występuje tylko jedna linia iloczynowa dołączona do elementu XOR (rys. 1). Nie istnieje więc możliwość bezpośredniej negacji funkcji f 2 dla przedstawionych powyżej dwóch kombinacji wektorów związanych. Zachodzi więc potrzeba użycia dodatkowego bloku typu wytwarzającego na wyjściu sygnał odpowiedzialny za negację funkcji f 2. Blok ten (oznaczmy go literą n) powinien realizować funkcję n(c, d, e) = cde+c d e. W tej sytuacji funkcję f 2 można zapisać za pomocą wyrażenia f 2 = f 2 n, przy czym funkcja f 2 jest opisana siatką Karnaugha z rysunku 5b. Tego typu przekształcenie pozwala na ograniczenie liczby wyjść bloku związanego wynikające z redukcji liczby wzorców kolumn. Redukcja ta jest efektem negacji odpowiednich wzorców, możliwej do realizacji, wykorzystując bramki XOR zawarte w blokach logicznych struktury CPLD. Rys. 6. Etapy dekompozycji zespołu funkcji ukierunkowanej na użycie elementów XOR

Synteza logiczna układu realizującego zespół funkcji przełączających... 385 Poszczególne etapy dekompozycji zespołu funkcji ukierunkowanej na użycie elementów XOR przedstawiono na rysunku 6. W końcowym efekcie, wykorzystując bramki XOR do realizacji zespołu funkcji f :B 5 B 3, zużyto 6 bloków logicznych typu zawierających 3 iloczyny wraz z bramką XOR (rys. 7). Dwóch bloków logicznych użyto do realizacji funkcji f 1 metodą klasyczną (rys. 7a). Uzyskane rozwiązanie stanowi strukturę dwuwarstwową, a więc jest lepsze pod względem szybkości działania od rozwiązań przedstawionych wcześniej. Linią przerywaną oznaczono niewykorzystane iloczyny w bloku logicznym. bcde acde abde a) b) c d e de abce f 1 abcd c d e cde BLOK ZWI ZANY g( X 1 ) n PIA n ag ( X 1 ) a b b g( X 1 ) g( X 1 ) b a ba BLOK WOLNY f 2 f 3 a b PIA Programmable Interconnect Array Rys. 7. Implementacja układu rd53 z wykorzystaniem bloków logicznych typu z bramką XOR 4. Wyniki eksperymentów Jak wynika z przykładu przedstawionego w artykule, użycie występującej w strukturach CPLD bramki XOR prowadzi do najoszczędniejszego rozwiązania. Należy stwierdzić, że w najnowszych komercyjnych systemach projektowych są używane bramki XOR zawarte w strukturach programowalnych, co pozwala uzyskać rozwiązanie lepsze od rozwiązań klasycznych (dwupoziomowa minimalizacja). Dalekie są one jednak od rozwiązań uzyskiwanych metodami opartymi na elementach dekompozycji. Szereg wyników różnorodnych eksperymentów można znaleźć w [2]. Zestawienie wyników dla analizowanego przykładu zespołu funkcji syntetyzowanego różnymi metodami zamieszczono w tabeli 1. W przypadku komercyjnego systemu syntezy firmy ALTERA przedstawiono rozwiązanie dla układów rodziny MAX 50, w których bloki logiczne zawierają tylko 3 bramki AND i bramkę XOR. W wierszu oznaczonym ALTERA zawarto wyniki optymalizacji pod kątem liczby bloków (area) oraz liczby warstw logicznych (speed).

386 D. Kania, W. Grabiec Wyniki eksperymentów dla funkcji testowej rd53 Tabela 1 Metoda Bloki/warstwy (k = 3) tylko 3 AND Bloki/warstwy (k = 4) tylko 4 AND Bloki/warstwy 3 AND + XOR Klasyczna 15/3 /2 Oparta na dekompozycji kolumnowej 9/3 7/3 ALTERA (area) 15/3 /3 ALTERA (speed) 15/3 /3 Dekompozycja + XOR 6/2 5. Podsumowanie W artykule przedstawiono wyniki prac związanych z koncepcją rozszerzenia modelu dekompozycji kolumnowej w syntezie logicznej. Ich celem jest opracowanie efektywnych modeli dekompozycji pozwalających na wykorzystanie w procesie syntezy bramek XOR stanowiących element bloków logicznych. Istota prac sprowadza się do opracowania algorytmów dekompozycji dopasowanej do architektury układów CPLD. Wyniki wstępnych eksperymentów są zachęcające, gdyż potwierdzają możliwość znaczącej poprawy efektywności znanych metod syntezy dedykowanych dla struktur CPLD typu. Aby je potwierdzić, należy skoncentrować się na opracowaniu prototypowych narzędzi programowych, pozwalających na przeprowadzenie pełniejszych badań eksperymentalnych. Część algorytmów można bezpośrednio zaadaptować z programu Dec [2]. Konieczne jest jednak zmodyfikowanie sposobu poszukiwania dopełnień wzorców kolumn dla zespołu funkcji, przez odpowiednie użycie grafu niezgodności i dopełnień [2]. Artykuł wpłynął do redakcji 4.12.28 r. Zweryfikowaną wersję po recenzji otrzymano w marcu 29 r. LITERATURA [1] D. Kania, W. Grabiec, Synteza logiczna dla struktur CPLD typu wykorzystująca elementy XOR, Biul. WAT, 3, 27. [2] D. Kania, Synteza logiczna przeznaczona dla matrycowych struktur logicznych typu, Zeszyty Naukowe Politechniki Śląskiej, Gliwice, 24.

Synteza logiczna układu realizującego zespół funkcji przełączających... 387 [3] R. L. Ashenhurst, The decomposition of switching functions, Proceedings of an International Symposium on the Theory of Switching, April 1957. [4] H. A. Curtis, The Design of switching Circuits, D. van Nostrand Company Inc., Princeton, New Jersey, Toronto, New York, 1962. [5] T. Łuba, Synteza układów logicznych, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 25. [6] Collaborative Benchmarking Laboratory, Department of Computer Science at North Carolina State University, http://www.cbl.ncsu.edu. D. KANIA, W. GRABIEC Logic Synthesis of a multi-output switching function for CPLD s based on utilization of XOR gates Abstract. This paper presents logic synthesis for CPLD s. The core of CPLD s is a -based structure with XOR gates. The aim of the work is to present the synthesis method enabling implementation of the multi-output Boolean function by the means of the -based logic blocks containing a definite number of terms and XOR gates. Keywords: logic synthesis, decomposition, technology mapping Universal Decimal Classification: 621.38-181.4