SYNTEZA JEDNOSTEK STERUJĄCYCH W STRUKTURACH PROGRAMOWALNYCH

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

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

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

UKŁADY MIKROPROGRAMOWALNE

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

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

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

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

Asynchroniczne statyczne układy sekwencyjne

Automat skończony FSM Finite State Machine

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

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Tranzystor JFET i MOSFET zas. działania

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

Synteza strukturalna automatów Moore'a i Mealy

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

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

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

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

Język opisu sprzętu VHDL

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

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

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

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

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

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Układy asynchroniczne

Sławomir Kulesza. Projektowanie automatów synchronicznych

Układy logiczne układy cyfrowe

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

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

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

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

Układy logiczne układy cyfrowe

Elementy cyfrowe i układy logiczne

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

Układy asynchroniczne

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

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

Kombinacyjne bloki funkcjonalne

Laboratorium przedmiotu Technika Cyfrowa

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

Problem kodowania w automatach

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

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

Sterowniki Programowalne (SP) Wykład 11

Sterowniki Programowalne (SP)

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

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

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

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

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

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

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

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

Podstawy Informatyki Układ sterujący

Krótkie przypomnienie

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Kody splotowe (konwolucyjne)

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

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

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

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

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

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

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

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

Implementacja algorytmu szyfrującego

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

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

Asynchroniczne statyczne układy sekwencyjne

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

Algorytm mnożenia sekwencyjnego (wariant 1)

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

CZ1. Optymalizacja funkcji przełączających

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Ćw. 7: Układy sekwencyjne

KARTA PRZEDMIOTU. Podstawy elektroniki cyfrowej B6. Fundamentals of digital electronic

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

LICZNIKI PODZIAŁ I PARAMETRY

Programowanie sterowników PLC wprowadzenie

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

Temat 7. Dekodery, enkodery

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Teoria układów logicznych

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia

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

Technika cyfrowa Synteza układów kombinacyjnych

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

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

UKŁADY CYFROWE. Układ kombinacyjny

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

MODELOWANIE I PROGRAMOWANIE PRACY

Transkrypt:

SYNTEZA JEDNOSTEK STERUJĄCYCH W STRUKTURACH PROGRAMOWALNYCH II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie Alexander A. Barkalov Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. Podgórna 50 e-mail: a.barkalov@iie.uz.zgora.pl STRESZCZENIE W artykule przedstawiono metody projektowania układów steruj cyc w strukturac programowalnyc. Zaprezentowane zostały dwa sposoby syntezy układów steruj cyc. Pierwsza metoda bazuje na realizacji dwupoziomowego sko czonego automatu stanów, druga to realizacja układu steruj cego jako mikroprogramowany układ steruj cy. 1. WPROWADZENIE Jednostka sterująca [6] jest jednym z najważniejszyc elementów systemu cyfrowego. Jest odpowiedzialna za zarządzanie innymi blokami projektowanego układu. Klasyczna metoda implementacji jednostki sterującej w postaci skończonego automatu stanów [1, 8] często pocłania zasoby układów programowalnyc [7], które mogą być w efektywniejszy sposób wykorzystane przez inne bloki projektowanego systemu. Jednym z rozwiązań tego problemu może być wykorzystanie dwupoziomowej syntezy skończonego automatu stanów (ang. Finite-State-Macine, FSM) z wyjściami typu Mealy ego [2]. Metoda bazuje na strukturalnej dekompozycji systemu funkcji wyjść automatu. W podejściu tym mikroinstrukcjom zostają przydzielone odpowiednie kody, zaś układ kombinacyjny automatu realizuje funkcje wzbudzeń przerzutników oraz generuje kody mikroinstrukcji. Mikroinstrukcje natomiast są dekodowana na podstawie kodu w układzie drugiego poziomu. Innym sposobem, pozwalającym znacznie zmniejszyć ilość wykorzystanyc zasobów sprzętowyc jest implementacja jednostki sterującej jako mikroprogramowany układ sterujący [3, 8]. Składa się on z dwóc podstawowyc jednostek: bloku zarządzającego oraz układu generującego i przecowującego mikroinstrukcje. Blok zarządzający to uproszczony skończony automat stanów, odpowiedzialny za wyznaczanie adresu mikroinstrukcji. Zbudowany jest z układu kombinacyjnego, generującego funkcję wzbudzeń oraz rejestru przecowującego wartość aktualnego stanu, w jakim znalazł się układ. Drugi blok stanowi licznik oraz pamięć, w której przecowywane są mikroinstrukcje sterownika. Ideą metody 9

jest wyznaczenie połączenie węzłów operacyjnyc początkowej sieci działań w tzw. Łańcucy Bloków Operacyjnyc (ang. Operational Linear Cains) [5]. Pamięć układu mikroprogramowanego jest wyznaczana na podstawie mikroinstrukcji generowanyc w kolejnyc blokac operacyjnyc sieci działań. Na tej podstawie wyznaczana zostaje tablica przejść układu oraz równania wzbudzeń dla licznika i rejestru. W niniejszym artykule przedstawione zostaną obie metody projektowania jednostek sterującyc. 2. DWUPOZIOMOWY AUTOMAT STANÓW Układ logiczny skończonego automatu stanu z wyjściami typu Mealy ego jest definiowany przez system funkcji boolowskic: ( T X ) Y = Y,, (1) ( X ) Φ = Φ T,. (2) W sytuacji takiej X = {x 1,, x L } jest zbiorem warunków logicznyc, Y = {y 1,, y N } jest zbiorem mikrooperacji, T = {T 1,, T R } jest zbiorem zmiennyc wewnętrznyc, wykorzystywanyc do kodowania stanu automatu a m A = {a 1,, a M }, gdzie R = ]log 2 M[, Φ = {φ 1,, φ R } jest zbiorem funkcji wzbudzeń przerzutników, stanowiącyc pamięć automatu. Automat opisany w taki sposób może zostać zrealizowany przez jednopoziomowy układ cyfrowy automatu skończonego (rys. 1) nazywany automatem-p [2]. X P Y Φ RG T Rys. 1. Struktura automatu-p W układzie takim układ P stanowi kombinacyjną część automatu i realizuje systemy (1) i (2), natomiast układ RG stanowi pamięć automatu i jest zbudowanyc z przerzutników typu D [9]. Systemy (1) i (2) tworzone są na podstawie tablicy przejść i wyjść automatu [1]. Tablica zawiera następujące kolumny: a m, K(a m ), a s, K(a s ), X, Y, Φ,, gdzie a m A jest początkowym stanem automatu; K(a m ) jest binarnym kodem stanu a m ; a s A jest następnym stanem automatu; K(a s ) jest binarnym kodem stanu a s ; X stanowi koniunkcję pewnyc elementów ze zbioru X, które powodują przejście a m, a s ; Y Y jest zbiorem mikrooperacji formowanyc podczas przejścia a m, a s ; Φ Φ jest zbiorem funkcji wzbudzeń 10

przerzutników, które są równe 1 i powodują przełączenie pamięci automatu z K(a m ) na K(a s ); jest numerem przejścia ( = 1,, H). System (1) jest formowany w następujący sposób: natomiast system (2) w następujący: y n r H = C A X ( n = 1, K, N ), (3) =1 H =1 n r m m φ = C A X ( r = 1, K, R). (4) C n (C r ) jest zmienną boolowską, która jest równa 1, jeżeli funkcja y n (φ r ) jest zapisana w -tym wierszu tablicy przejść-wyjść automatu, A m jest koniunkcją zmiennyc wewnętrznyc odpowiadającyc kodowi K(a m ) stanu początkowego a m A z -tego wiersza tablicy przejść-wyjść automatu ( = 1,, H). Tak zaprojektowany układ automatu cyfrowego posiada możliwie największą wydajność w przypadku implementacji z wykorzystaniem układów PLD. Jednak podstawową wadą jednopoziomowego układu automatu Mealy ego jest stosunkowo duża liczba funkcji, zależnyc od warunków logicznyc i zmiennyc wewnętrznyc, realizowanyc przez układ kombinacyjny P. Zmniejszenie liczby funkcji realizowanyc przez układ P doprowadzi do redukcji wymaganyc zasobów sprzętowyc wymaganyc do implementacji układu automatu cyfrowego. Jednym ze sposobów jest zastosowanie dwupoziomowej struktury automatu [2]. Strukturę taką można uzyskać poprzez zastosowanie maksymalnego kodowania zbiorów mikrooperacji [2]. Wyróżnijmy w tablicy przejść-wyjść automatu Q różnyc zbiorów mikrooperacji Y q Y. Zakodujmy każdy taki zbiór Y q Y binarnym kodem K(Y q ). Do tego celu potrzebne będzie R 1 = ]log 2 Q[ zmiennyc boolowskic. Zmienne te będzie reprezentował zbiór Z { z, K, z } 1 R 1 =. W takim przypadku automat Mealy ego może zostać przedstawiony jako dwupoziomowa struktura automat-py (rys. 2). X P Z Y Y Φ RG T Rys. 2. Struktura automatu-py W strukturze tej występują dwa układy kombinacyjne P i Y. Układ P realizuje system (2) formowany w sposób (4) oraz system: 11

( T X ) Układ Y dekoduje mikrooperacje, realizując system: Z = Z,. (5) ( Z ) Y = Y. (6) W celu realizacji systemu (5) należy przekształcić początkową sieć działań poprzez usunięcie kolumny Y a wstawienie kolumny Z. Kolumna Z zawiera zmienne z p Z, które są równe 1 w kodzie K(Y q ), dla zbioru mikrooperacji Y q znajdującego się w tym samy wierszu początkowej tablicy przejść-wyjść. System (5) jest formowany na podstawie przekształconej tablicy przejść-wyjść w następujący sposób: z p H = C A X ( p = 1, K, R ), (7) =1 p m gdzie C p jest zmienną boolowską, która jest równa 1, jeżeli funkcja z p jest zapisana w -tym wierszu przekształconej tablicy przejść-wyjść automatu. W celu realizacji systemu (6) należy utworzyć tablice dekodera zbiorów mikrooperacji. Tablica ta zawiera kolumny K(Y q ), Y q i Q. Na podstawie tej tablicy można uformować system (6) w następujący sposób: y n Q q=1 nq q 1 = C Z ( n = 1, K, N ), (8) gdzie C nq jest zmienną boolowską, która jest równa 1, jeżeli funkcja y n jest zapisana w q-tym wierszu tablicy dekodera, Z q jest koniunkcją zmiennyc ze zbioru Z, odpowiadającyc kodowi K(Y q ), (q = 1,, Q). Podejście takie zapewnia zmniejszenie liczby funkcji realizowanyc przez układ kombinacyjny P z N+R (struktura P) do R 1 +R (struktura PY), co prowadzi do zmniejszenia wymaganyc zasobów sprzętowyc do implementacji tego układu. Ponieważ układ Y posiada regularną strukturę może zostać zaimplementowany z wykorzystaniem pamięci ROM. Kod K(Y q ) były by adresem, natomiast zbiory mikrooperacji były by przecowywane jako dane. Pamięć taka musiałaby przecowywać QR 1 -bitowyc słów. 3. MIKROPROGRAMOWANY UKŁAD STERUJ CY Mikroprogramowany układ sterujący [6] jest rozwinięciem dwupoziomowej syntezy skończonego automatu stanów z wyjściami typu Mealy ego. W tym przypadku jednostka sterująca zostaje poddana dekompozycji na dwa podstawowe bloki: układ zarządzający oraz układ pamięci, w którym przecowywane są mikroinstrukcje kontrolera. 12

Do zrozumienia zagadnień związanyc z mikroprogramowanymi układami sterującymi, niezbędne będzie wprowadzenie podstawowyc definicji. Niec dany będzie algorytm sterowania, przedstawiony za pomocą sieci działań Γ [1], składającej się ze zbioru bloków operacyjnyc B = {b 1,, b k }, zbioru bloków decyzyjnyc P oraz zbioru połączeń E. Każdy blok operacyjny b k B zawiera mikroinstrukcję, będącą zbiorem mikrooperacji Y(b k ) Y, gdzie Y = {y 1,, y N } jest zbiorem wszystkic mikrooperacji. Każdy blok decyzyjny sieci działań zawiera warunek logiczny x i, będący elementem zbioru warunków logicznyc X = {x 1,, x L }. Zbiór połączeń E określa drogę oraz kierunek przepływu informacji w sieci działań. Każda sieć działań zawiera węzeł początkowy b 0 oraz węzeł końcowy b E. Definicja 1. Łańcuc (bloków operacyjnyc) w sieci działań Γ, to skończona sekwencja węzłów operacyjnyc α g = b g1,, b gfg takic, że dla każdej pary sąsiadującyc bloków wektora α g istnieje połączenie b gi, b bg+1 E, gdzie i jest numerem bloku wektora α g (i=1, F g -1). Definicja 2. Blok b q B jest wejściem łańcuca α g,, jeśli istnieje takie połączenie b t, b q E, że b t jest blokiem początkowym lub blokiem decyzyjnym sieci działań Γ, który nie należy do łańcuca α g. Definicja 3. Blok b q B jest wyjściem łańcuca α g, jeśli istnieje takie połączenie b q, b t E, że b t jest blokiem końcowym lub blokiem decyzyjnym sieci działań Γ, który nie należy do łańcuca α g. Niec D g będzie zbiorem bloków operacyjnyc wcodzącyc w skład łańcuca α g. Niec zbiór C = {α 1,, α G } będzie zbiorem wszystkic łańcuców sieci działań Γ spełniającyc warunek: D D g D = Ø( g q; g, q {1,..., G}); 1 2 G B = D D... D ; g q Ø( g = 1,..., G). (9) Jeśli mikroinstrukcje zostaną zakodowane zgodnie z warunkiem: A b ) A( b ) + 1( i 1,..., F ), (10) ( gi+ 1 = gi = g 1 gdzie A(B g ) jest adresem mikroinstrukcji generowanej przez blok operacyjny b q B, to sieć działań Γ może zostać zrealizowana za pomocą mikroprogramowanego układu sterującego U 1 przedstawionego na rys. 3. 13

Х CC Ф СТ T CM y 0 Y Ψ RG τ Rys. 3. Scemat blokowy mikroprogramowanego układu steruj cego W mikroprogramowanym układzie sterującym U 1 wyróżnić można cztery podstawowe bloki funkcjonalne: układ kombinacyjny CC, rejestr RG, licznik CT oraz pamięć CM. Układ kombinacyjny oraz rejestr tworzą uproszczony skończony automat stanów S 1, którego zadaniem jest wyznaczenie adresu mikroinstrukcji. Licznik oraz pamięć wcodzą w skład układu mikroprogramowanego S 2, w którym mikroinstrukcje adresowane są zgodnie z warunkiem (10) [4]. Rejestr RG przecowuje kod K(a m ) stanu a m A, w jakim znalazł się automat S 1, gdzie A = {a 1,, a M } jest zbiorem wszystkic stanów automatu S 1. Ilość przerzutników niezbędnyc do zbudowania rejestru można wyznaczyć ze wzoru R = ]log 2 M[, gdzie M oznacza ilość stanów automatu S 1. Zmienne τ r τ określają kod stanu automatu S 1. Licznik CT jest odpowiedzialny za generowanie mikroinstrukcji z pamięci CM. Zmienne T r T reprezentują adres mikroinstrukcji A(b k ), gdzie b k B. Niec współczynnik R 1 określa liczbę zmiennyc ( T = R 1 ), jego wartość można wyznaczyć ze wzoru R 1 = ]log 2 K[. Pamięć CM składa się z 2 R1 słów (mikroinstrukcji). Każde słowo jest kodowane z wykorzystaniem N+1 bitów. Nadmiarowy bit (sygnał y 0 ) niezbędny jest do poprawnego określenia trybu adresowania, zgodnie z warunkiem (10). Zasada działania układu może zostać zobrazowana następująco: w momencie aktywacji układu U 1 (aktywny blok Start w sieci działań), wartość rejestru RG ustawiona zostanie zgodnie z początkowym stanem automatu S 1, wartość licznika CT wskazywać będzie adres pierwszej mikroinstrukcji, jaka się znajduje w pamięci CM. Jeśli kolejny blok w sieci działań należy do tego samego łańcuca α g C, sygnał y 0 = 1. Oznacza to zwiększenie wartości licznika CT i jednoczesne zablokowanie zmiany stanu automatu S 1. Układ funkcjonuje w ten sposób tak długo, aż osiągnięte zostanie wyjście łańcuca α g C. Wówczas y 0 = 0 i automat S 1 zmieni stan, generując funkcje wzbudzeń dla licznika Ψ = {Ψ 1,, Ψ R } oraz rejestru Φ = {Φ 1,, Φ R1 }: Φ = Φ( τ, X ) (11) 14

Ψ = Ψ( τ, X ) (12) Funkcja (11) określa kod K(a s ) następnego stanu, w jakim znajdzie się układ. Funkcja (12) wyznacza adres wejścia kolejnego łańcuca α g C. Największą zaletą mikroprogramowanyc układów sterującyc jest zmniejszenie liczby funkcji logicznyc realizowanyc przez sterownik. Jest to spowodowane wykorzystaniem bloku pamięci, w którym przecowywane są mikroinstrukcje kontrolera. W ten sposób blok CC generuje tylko niezbędne przejścia pomiędzy łańcucami, co znacznie zmniejsza wielkość wykorzystanyc zasobów układów programowalnyc. 4. ZAKO CZENIE Zaprezentowano dwa sposoby realizacji układu sterującego. Pierwsza metoda bazowała na wykorzystaniu dwupoziomowej syntezy skończonego automatu stanów z wyjściami typu Mealy ego. System funkcji wyjść automatu został poddany dekompozycji. W efekcie uzyskano układ o strukturze dwupoziomowej, w której układ kombinacyjny automatu generuje kody mikroinstrukcji, które z kolei są dekodowane na podstawie kodu w układzie drugiego poziomu. Druga z przedstawionyc metod to mikroprogramowany układ sterujący. Stanowi on rozwinięcie dwupoziomowej syntezy skończonego automatu stanów z wyjściami typu Mealy ego. W tym przypadku jednostka sterująca także została poddana dekompozycji, jednakże mikroinstrukcje przecowywane są w pamięci kontrolera. Taki sposób pozwala znacznie zmniejszyć ilość funkcji realizowanyc przez układ kombinacyjny. Badania przeprowadzone przez autora pokazują, że liczba elementów logicznyc niezbędnyc do implementacji układu sterowania w strukturac programowalnyc, zaprojektowanego jako dwupoziomowy automat Mealy ego albo mikroprogramowalny układ sterujący, może zostać zmniejszona nawet o 20% w stosunku do układu zaprojektowanego metodą klasyczną. LITERATURA [1] S. Baranov: Logic Syntesis for Control Automata, Kluwer Academic Publisers, 1994 [2] A. A. Barkalov: Structures of te multilevel circuits of microprogram automata on PLA, Cybernetics and System Analysis, No. 4, 1994, s. 22-29 [3] A. A. Barkalov, A. V. Palagin: Syntesis of microprogram control units, IC NAS of Ukraine, Kiev, 1997 [4] A. A. Barkalov: Principles of optimization of logical circuit of Moore finite-statemacine Cybernetics and system analysis, 1998, 1, s. 65-72 [5] A. A. Barkalov: Syntesis of control units on programmable logic devices, DonNTU, Donetsk, 2002 15

[6] A. A. Barkalov: Syntesis of operational units, DonNTU, Donetsk, 2003 [7] R. Grusnitsky, A. Mursaev, E. Ugrjumov: Development of systems on cips wit programmable logic, SPb: BHV, Petersburg, 2002 [8] T. Łuba (Praca zbiorowa pod redakcją prof. Tadeusza Łuby): Synteza układów cyfrowyc, WKŁ, Warszawa, 2003 [9] V. V. Solovjev: Design of Digital Systems Using te Programmable Logic Integrate Circuits, Hot Line - Telecom, Moscow, 2001 16