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

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

SYNTEZA JEDNOSTEK STERUJĄCYCH W STRUKTURACH PROGRAMOWALNYCH

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

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

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

UKŁADY MIKROPROGRAMOWALNE

Problem kodowania w automatach

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Sławomir Kulesza. Projektowanie automatów asynchronicznych

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

Sławomir Kulesza. Projektowanie automatów synchronicznych

Mikroprogramowany układ sterujący z współdzieleniem kodów oraz rozszerzonym formatem mikroinstrukcji

Technika Cyfrowa 1 wykład 1: kody. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Automat skończony FSM Finite State Machine

SYNTEZA WSPÓLNYCH MODELI AUTOMATÓW SKOŃCZONYCH NA PLD

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Laboratorium przedmiotu Technika Cyfrowa

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

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

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

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne)

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18

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

Synteza strukturalna automatów Moore'a i Mealy

Synteza strukturalna automatu Moore'a i Mealy

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów

Technika cyfrowa Synteza układów kombinacyjnych

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

Język opisu sprzętu VHDL

ANALIZA WPŁYWU WYBRANYCH PARAMETRÓW SYGNAŁU WYMUSZAJĄCEGO NA CZAS ODPOWIEDZI OBIEKTU

Kody splotowe (konwolucyjne)

Tranzystor JFET i MOSFET zas. działania

Układy asynchroniczne

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

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

Architektura komputerów II - opis przedmiotu

Układy asynchroniczne

Kombinacyjne bloki funkcjonalne

Teoria układów logicznych

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

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

Programowanie sterowników PLC wprowadzenie

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

Układy sekwencyjne. 1. Czas trwania: 6h

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 212

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

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

Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

1. SYNTEZA UKŁADÓW SEKWENCYJNYCH

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

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

Teoria przetwarzania A/C i C/A.

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Sylabus. WYDZIAŁ FIZYKI Uniwersytet im. Adama Mickiewicza w Poznaniu

Projektowanie automatów z użyciem VHDL

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Elementy cyfrowe i układy logiczne

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Urządzenia techniki komputerowej. Cyfrowe układy funkcjonalne

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Asynchroniczne statyczne układy sekwencyjne

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Projektowanie Scalonych Systemów Wbudowanych VERILOG

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

Temat 7. Dekodery, enkodery

Maszyna Turinga języki

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

Krótkie przypomnienie

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

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

Rok akademicki: 2030/2031 Kod: EEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Technologie Informacyjne

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

Elektronika cyfrowa i optoelektronika - laboratorium

Automat Moore a. Teoria układów logicznych

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

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

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

Układy kombinacyjne. cz.2

Asynchroniczne statyczne układy sekwencyjne

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

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Transkrypt:

II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie SNTEZA AUTOMATÓW SKOŃCZONCH Z WKORZSTANIEM METOD KODOWANIA WIELOKROTNEGO Arkadiusz Bukowiec Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. odgórna 50 e-mail: a.bukowiec@iie.uz.zgora.pl STRESZCZENIE W referacie zostan przedstawione i porównane metody sprz towej optymalizacji układu automatu sko czonego z wyj ciami typu Mealy ego realizowanego w strukturach programowalnych. Zaprezentowane metody bazuj na realizacji dwupoziomowego automatu, w którym zostanie zastosowane kodowanie wielokrotne. Zaprezentowane metody kodowania wielokrotnego polegaj na przypisaniu ró nych kodów stanom przej lub zbiorom mikrooperacji dla poszczególnych podzbiorów tych parametrów. odział na podzbiory dokonywany jest na bazie aktualnego stanu lub aktualnie wykonywanej mikrooperacji. 1. WROWADZENIE Skończone automaty stanów (ang. Finite State Machine, FSM), a w szczególność automat z wyjściami typu Mealy ego [1, 6], są wciąż jedną z najpopularniejszych metod realizacji jednostek sterujących. rogramowalne układy LD (ang. rogrammable Logic Device, LD) takie jak CLD lub FGA są bardzo często stosowane do realizacji układu logicznego takiego automatu [5]. Wysoki koszt realizacji takiego układu powoduje, że optymalizacja wykorzystywanych zasobów sprzętowych stanowi wciąż ważny problem. Jednym z rozwiązań tego problemu jest synteza układu z zastosowaniem struktur wielopoziomowych [2]. Metody takie wymagają utworzenia dodatkowych zmiennych wewnętrznych oraz bardzo często wykorzystania dodatkowych zasobów sprzętowych. W referacie został przedstawiony sposób wielokrotnego kodowania mikroinstrukcji lub stanów wewnętrznych umożliwiający zmniejszenie liczby funkcji boolowskich realizowanych przez część kombinacyjną układu, co prowadzi do zmniejszenia wymaganych zasobów sprzętowych potrzebnych do implementacji danego układu w strukturach programowalnych. 2. DEFINICJE I IDEA KODOWANIA WIELOKROTNEGO Automat skończony z wyjściami typu Mealy ego może zostać opisany za pomocą tablicy przejść-wyjść automatu [1, 6] z kolumnami: a m, K(a m ), a s, K(a s ), X h, h, h, h. a m A jest 17

aktualnym stan automatu; K(a m ) jest binarnym kodem stanu a m, zakodowanym na R = ]log 2 M[ bitach, reprezentowanych przez zmienną r = { 1,, R }; a s A stanowi następny stan automatu a K(a s ) jest jego kodem binarnym; X h jest koniunkcją pewnych elementów ze zbioru warunków logicznych X = {x 1,, x L }, powodującą przejście a m, a s ; h stanowi zbiór mikrooperacji (mikroinstrukcja) formowany podczas przejścia a m, a s, gdzie jest zbiorem wszystkich mikrooperacji; h stanowi zbiór funkcji wzbudzeń, które są równe 1 i powodują przełączenie pamięci automatu z K(a m ) na K(a s ); h= 1,, H jest liczbą przejść automatu. Automat Mealy ego opisany w taki sposób może zostać zrealizowany jako jednopoziomowy układ cyfrowy (automat-) [2], w którym układ kombinacyjny realizuje system funkcji wyjść automatu: = (, X), (1) i system funkcji wzbudzeń: = (, X). (2) natomiast pamięć automatu stanowi rejestr, zbudowany z przerzutników typu D. Niech w tablicy przejść-wyjść automatu występuje T różnych mikroinstrukcji t. Zakodujmy każdy taki zbiór t binarnym kodem K( t ) na R 1 = ]log 2 T[ bitach. Do reprezentacji tego kodu wykorzystamy zmienną z Z = { z, K, z } r 1 R 1. W takim przypadku automat Mealy ego może zostać przedstawiony jako dwupoziomowa struktura automat- (rys. 1) [2]. X Z Rys. 1. Schemat automatu- W przypadku takim układ kombinacyjny realizuje system funkcji wzbudzeń (2) oraz system kodujący mikroinstrukcje: Z = Z(, X), (3) Natomiast układ pełni funkcję dekodowania mikroinstrukcji i realizuje funkcję: = (Z). (4) 18

Ideą zastosowania kodowania wielokrotnego, przedstawionego w tym referacie, jest zmniejszenie liczby wyjść układu kombinacyjnego. Metody kodowania wielokrotnego polegają na przypisaniu różnym parametrom wewnętrznym, tj. stanom przejść lub mikroinstrukcją, różnych kodów dla poszczególnych podzbiorów tych parametrów. odział na podzbiory dokonywany jest na bazie aktualnego stanu lub aktualnie wykonywanej mikroinstrukcji. 3. METOD KODOWANIA WIELOKROTNEGO 3.1. Metoda z wielokrotnymi kodami mikroinstrukcji Metoda ta bazuje na przypisaniu wielokrotnych kodów mikroinstrukcją [4]. odział zbioru mikroinstrukcji h na podzbiory dokonywany jest poprzez aktualny stan a m. Niech h (a m ) będzie zbiorem mikroinstrukcji realizowanych podczas przejść ze stanu a m A i h (a m ) = T m. rzez T 0 oznaczmy maksymalną liczbę mikroinstrukcji realizowanych w jednym stanie a m : ( T ) T = max 1,,. (5) 0 K T M Zakodujmy każdy zbiór mikrooperacji t h (a m ) binarnym kodem K m ( t ). Kod ten będzie posiadła R 2 = ]log 2 T 0 [ bitów i do jego reprezentacji wykorzystane zostaną zmienne ze zbioru Ψ = { ψ, K, ψ } 1 R 2. W sytuacji takiej kod mikroinstrukcji K( t ) będzie reprezentowany przez wielokrotny kod mikroinstrukcji K m ( t ) oraz kod aktualnego stanu K(a m ): K( t ) = K m ( t ) K(a m ). (6) Automat Mealy ego z takim kodowaniem może zostać zrealizowany w dwupoziomowej strukturze 0 (rys. 2). X Ψ Rys. 2. Schemat automatu- 0 W przypadku takim układ realizuje system funkcji wzbudzeń (2) i system : Ψ = Ψ(, X). (7) Układ implementuje zaś funkcje konwertera kodu: = (Ψ,). (8) 19

Gdy zachodzi warunek: R 2 < R 1 (9) struktura ta pozwala na zmniejszenie liczby wyjść układu w porównaniu z automatem- do t( 0 ) = R 2 + R. (10) 3.2. Metody z wielokrotnymi kodami stanów wewnętrznych Metody ta bazują na przypisaniu wielokrotnych kodów stanom wewnętrznym automatu. ierwsza metoda dokonuje podziału zbioru stanów wewnętrznych A automatu na podzbiory ze względu na aktualnie wykonywaną mikroinstrukcję t [3]. Druga metoda jako parametr dzielący zbioru stanów wewnętrznych A obiera aktualny stan a m. Niech A( t ) A będzie zbiorem możliwych stanów wewnętrznych dla mikroinstrukcji t i A( t ) = B t. rzez B 0 oznaczmy maksymalną liczbę różnych stanów przejść dla mikroinstrukcji t : ( B ) B = max 1,,. (11) 0 K B T Zakodujmy każdy stan a s A( t ) R 3 -bitowym kodem K t (a s ) gdzie R 3 = ]log 2 B 0 [. Do reprezentacji tego kodu wykorzystane zostaną zmienne ze zbioru τ { τ, K, τ } =. W sytuacji 1 R 3 takiej każdy stan a s A( t ) będzie reprezentowany przez wielokrotny kod stanu wewnętrznego K t (a s ) i kod mikroinstrukcji K( t ): K(a s ) = K t (a s ) K( t ). (12) Struktura takiego dwupoziomowego automatu Mealy ego może zostać zrealizowana jako automat- (rys. 2a). a) b) X Z X Z υ τ CC CC Rys. 3. Schematy a) automatu- b) automatu-a rzy takiej strukturze układ realizuje system funkcji (3) oraz: τ = τ(, X). (13) Układ funkcjonuje tak samo jak w strukturze i realizuje system (4). Wprowadzony zostaje dodatkowy układ CC konwersji kodu realizujący funkcję: 20

= (Z, τ). (14) Gdy zachodzi warunek: R 3 < R (15) struktura pozwala na zmniejszenie liczby wyjść układu w porównaniu z automatem- do t() = R 1 + R 3. (16) rzy drugim sposobie wielokrotnego kodowania stanów wewnętrznych niech A(a m ) A będzie zbiorem stanów przejść ze stanu a m A i A(a m ) = B m. rzez B 0 oznaczmy maksymalną liczbę różnych stanów przejść z jednego stanu a m : B ( B',, ' ) ' 0 max 1 K B M = (17) i niech R 4 = ]log 2 B 0 [. Zakodujmy każdy stan a s A(a m ) R 4 -bitowym kodem K m (a s ). Niech kod ten będzie reprezentowany przez zmienne ze zbioru υ { υ, K, υ } =. W przypadku takim 1 R 4 kod K(a s ) każdego stan a s jest reprezentowany: K(a s ) = K m (a s ) K(a m ). (18) Automat Mealy ego z takim kodowaniem stanów wewnętrznych może zostać zrealizowany jako automat-a (rys. 3b). W sytuacji tej układ realizuje system funkcji (3) oraz: υ = υ(, X), (19) układ realizuje system (4), Natomiast układ CC realizujący funkcję: = (, υ). (20) Gdy zachodzi warunek: R 4 < R (21) struktura A pozwala na zmniejszenie liczby wyjść układu w porównaniu z automatem- do t(a) = R 1 + R 4. (22) Aby struktura A była efektywniejsza od struktury musi zachodzić warunek: t(a) < t(). (23) 3.3. Metoda z wielokrotnymi kodami mikroinstrukcji i stanów wewnętrznych Należy tu jednak wspomnieć, że struktura A posiada jedną przewagę nad strukturą. W strukturze tej istnieje możliwość dalszej modyfikacji, poprzez dodanie wielokrotnego kodowania mikroinstrukcji. Zabieg taki doprowadzi do powstania automat-a 0 (rys. 4). 21

X Ψ υ CC Rys. 4. Schemat automatu-a 0 Metody kodowani i reprezentacji zmiennych są analogiczne z tymi przedstawionymi w rozdziałach 3.1. i 3.2. W strukturze tej układ realizuje funkcje (7) i (19), układ system (8), natomiast układ CC funkcję (20). W strukturze tej liczba wyjść układ wynosi: t(a 0 ) = R 2 + R 4. (24) 4. ZAKO CZENIE Metody z wielokrotnymi kodami zaprezentowane w referacie, w pewnych warunkach, zapewnią zmniejszenie liczby wyjść układu, co prowadzi do zmniejszenia wymaganych zasobów sprzętowych potrzebnych do jego implementacji. rzeprowadzone badania analityczne, w oparciu o wyniki pracy [2], wykazały, że proponowane metody są lepsze od standardowej. Zysk osiąga 5%-20% w zależności od parametrów układu i doboru metody. LITERATURA [1] S. Baranov: Logic Synthesis for Control Automata, Kluwer Academic ublishers, Dordrecht, 1994 [2] A. Barkalov: Structures of the multilevel circuits of microprogram automata on LA, Cybernetics and System Analysis, No. 4, 1994, s. 22-29 [3] A. Bukowiec: Synteza automatów Mealy'ego z wielokrotnymi kodami stanów wewnętrznych, Materiały konferencji naukowej Informatyka sztuka czy rzemiosło KNWS 04, Zielona Góra, 2004, s. 29-34 [4] A. Bukowiec: Synteza automatów skończonych Mealy'ego z wielokrotnymi kodami stanów wewnętrznych lub zbiorów mikrooperacji, Archiwum Konferencji TETiS VI Międzynarodowe Warsztaty Doktoranckie OWD 04, Gliwice, 2004, Vol. 19, z. 5, s. 367-372 [5] T. Łuba, et. al.: Synteza układów cyfrowych, Wydawnictwa Komunikacji i Łączności, Warszawa, 2003 [6] D. Gajski: rinciples of Digital Design, rentice Hall, New Jersey 1997 22