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

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

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

Statyczne badanie przerzutników - ćwiczenie 3

Definicja 2. Twierdzenie 1. Definicja 3

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

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

Języki formalne i automaty Ćwiczenia 7

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Języki formalne i automaty Ćwiczenia 9

1 Automaty niedeterministyczne

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Obliczenia inspirowane Naturą

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

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

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę:

ćwiczenie 203 Temat: Układy sekwencyjne 1. Cel ćwiczenia

Języki formalne i automaty Ćwiczenia 1

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Synteza strukturalna automatów Moore'a i Mealy

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

dwójkę liczącą Licznikiem Podział liczników:

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Automatyzacja i robotyzacja procesów produkcyjnych

Teoria układów logicznych

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

U 2 B 1 C 1 =10nF. C 2 =10nF

Proste układy sekwencyjne

Obliczenia inspirowane Naturą

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

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

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

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY

Imię, nazwisko, nr indeksu

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa

Matematyczne Podstawy Informatyki

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

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

Matematyczne Podstawy Informatyki

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

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Jaki język zrozumie automat?

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Maszyna Turinga języki

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

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

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

UKŁADY MIKROPROGRAMOWALNE

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

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

PROGRAMOWALNE STEROWNIKI LOGICZNE

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Automat Moore a. Teoria układów logicznych

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

Hierarchia Chomsky ego

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

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4

Języki formalne i automaty Ćwiczenia 8

Sterowniki Programowalne (SP)

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

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

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

Hierarchia Chomsky ego Maszyna Turinga

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

Logika układów cyfrowych - laboratorium

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

Laboratorium podstaw elektroniki

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.

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne

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

Elementy cyfrowe i układy logiczne

LICZNIKI PODZIAŁ I PARAMETRY

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Podstawy Techniki Cyfrowej Liczniki scalone

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Asynchroniczne statyczne układy sekwencyjne

Systemy cyfrowe z podstawami elektroniki i miernictwa Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne

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

miejsca przejścia, łuki i żetony

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Teoretyczne podstawy informatyki

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

Bramki logiczne V MAX V MIN

Matematyczne Podstawy Informatyki

Automaty Büchi ego i równoważne modele obliczeń

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

Wydział Fizyki UW CC=5V 4A 4B 4Y 3A 3B 3Y

Języki, automaty i obliczenia

Państwowa Wyższa Szkoła Zawodowa

płytka montażowa z tranzystorami i rezystorami, pokazana na rysunku 1. płytka montażowa do badania przerzutnika astabilnego U CC T 2 masa

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

Sieci Petriego. Sieć Petriego

Maszyna Turinga (Algorytmy Część III)

JĘZYKIFORMALNE IMETODYKOMPILACJI

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

Projektowanie układów na schemacie

Transkrypt:

Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego funkcję automatu niedeterministycznego "NFA with ε - moves" (akceptującego dany język regularny) 1. Wiadomości podstawowe Automaty skończone niedeterministyczne bez wyjścia odgrywają bardzo istotną rolę w teorii języków formalnych i w problemach akceptacji tych języków przez komputer. Mianowicie automat skończony niedeterministyczny jest modelem matematycznym działania układu fizycznego akceptującego słowa języka formalnego generowanego przez gramatykę bezkontekstową regularną. Automat ten można zrealizować jako program komputerowy lub odpowiedni układ sekwencyjny. Automat skończony niedeterministyczny charakteryzuje się tym, że posiada co najmniej jeden taki stan wewnętrzny, w którym dla danego sygnału wejściowego istnieją co najmniej dwa różne przejścia do następnych stanów. W literaturze automat skończony niedeterministyczny przyjęto oznaczać - zgodnie z terminologią języka angielskiego - symbolem NFA (Nondeterministic Finite Automaton). W ujęciu formalnym automat skończony niedeterministyczny bez wyjścia definiowany jest jako następująca "piątka": gdzie: < Z,, γ, q0, F > (1) Z - alfabet wejściowy automatu, interpretowany w zależności od implementacji, również jako zbiór skończony symboli wejściowych lub zbiór skończony sygnałów wejściowych automatu: Z = z, z, K, z { 1 2 n } - zbiór skończony stanów wewnętrznych automatu: = { 0 2 n q, q1, q, K, q γ - funkcja przejść automatu: γ ( q( t), z( t)) = { qi( t+ 1), qi2( t+ 1), K, qim( t } 1 + q 0 - stan początkowy automatu, q 0 ϵ F - zbiór stanów końcowych automatu, F Najbardziej komunikatywną formą interpretacji działania automatu skończonego jest graf automatu nazywany również grafem przejść (ang. transition diagram). Graf automatu reprezentuje funkcję przejść automatu. Przykładowy fragment grafu automatu niedeterministycznego NFA przedstawiony został na rys. 1. Na rysunku tym pokazano, że 1)}

Logika Układów Cyfrowych Automat NFA 2 rozpatrywany automat NFA znajdując się w stanie q r może przejść pod wpływem jednego i tego samego sygnału z 1 do stanu q s lub q t. Podobna sytuacja występuje dla przejść pod wpływem z 1 ze stanu q s. z 2 q r z 1 q n z 1 z 2 z 1 q s q t z 1 ys. 1. Fragment grafu automatu niedeterministycznego bez wyjścia Jak już nadmieniono wyżej, dany automat NFA akceptuje tylko słowa określonego języka formalnego. Oznacza to, że NFA akceptuje tylko określone słowa zbudowane z symboli alfabetu wejściowego automatu. ymbolami alfabetu wejściowego mogą być litery z alfabetu określonego języka naturalnego (na przykład angielskiego lub greckiego) lub słowa zawarte w słowniku danego języka naturalnego, języka programowania lub też innego języka, którego alfabet jest zbiorem określonych ciągów symboli. Dane słowo podane na wejście NFA jest akceptowane, jeżeli w grafie przejść tego automatu znajduje się co najmniej jedna taka ścieżka, opisana symbolami danego słowa, która prowadzi od wierzchołka reprezentującego stan początkowy automatu do wierzchołka reprezentującego stan końcowy automatu. Dla przykładu rozpatrzmy automat niedeterministyczny o grafie przejść przedstawionym na rys. 2. 0 1 2 TAT 0 1 q 0 q 1 q 2 0 1 2 ys. 2. Graf przejść przykładowego NFA

Logika Układów Cyfrowych Automat NFA 3 W automacie tym wszystkie trzy stany q 0, q 1 i q 2 są stanami końcowymi, przy czym stan q 0 pełni również funkcję stanu początkowego. Na wejście automatu podawane są symbole ze zbioru Z = { 0, 1, 2 }. Automat ten akceptuje następujące ciągi symboli wejściowych: 00... 0, 00... 011... 1, 00... 011... 122... 2, 11... 1, 11... 122... 2, 22... 2 natomiast nie akceptuje ciągów typu: 11... 100... 0, 22... 200... 0, 22... 211... 1 Automat NFA o grafie przedstawionym na rys. 2 nie akceptuje na przykład słowa 020, ponieważ pod wpływem sygnału automat ten może przejść tylko do stanu q 2. Będąc w stanie q 2 nie jest zdolny do odebrania sygnału wejściowego (z wierzchołka q 2 grafu wychodzi tylko krawędź z symbolem wejściowym ). Przedstawiony wyżej przykładowy model automatu NFA ułatwia zrozumienie jego działania, natomiast jego praktyczna implementacja jako programu lub układu sekwencyjnego jest utrudniona. W rozważaniach teoretycznych, jak również w implementacji komputerowej automatu niedeterministycznego jako układu akceptującego słowa danego języka formalnego posługujemy się najczęściej pojęciem automatu niedeterministycznego z tak zwanymi przejściami "pustymi" ε. W literaturze naukowej automat ten występuje pod nazwą: "NFA with ε-moves". Automat ten można łatwo określić na podstawie reguł gramatyki bezkontekstowej, generującej słowa danego języka formalnego. Każdy automat NFA z przejściami "pustymi" ε można przekształcić na automat NFA bez przejść "pustych" ε. Graf przejść przykładowego automatu NFA z przejściami "pustymi" ε przedstawiony został na rys. 3. Automat posiadający taki graf przejść jest ekwiwalentny automatowi NFA o grafie przejść z rys. 2. W interpretacji automatu skończonego jako "czarnej skrzynki" obydwa automaty są identyczne, to znaczy akceptują jeden i ten sam język. 0 1 2 TAT q 0 ε q 1 ε q 2 ys. 3. Graf przejść przykładowego automatu niedeterministycznego z przejściami "pustymi" ε Zgodnie z rys. 3 stan q 0 jest stanem początkowym automatu, natomiast stan q 2 jest stanem końcowym. Przejście "puste" E, zgodnie z rozpatrywanym grafem przejść, reprezentuje sobą "pusty" symbol wejściowy ε. W rozpatrywanym przykładzie "pusty" symbol wejściowy ε może być interpretowany jako samoczynne przejście z jednego stanu w inny stan. To samoczynne przejście istnieje tylko dla pewnych stanów, na przykład w grafie przedstawionym na rys. 3 istnieje ono tylko dla q 0 i q 1. Załóżmy, że na wejście rozpatrywanego automatu podany jest symbol wejściowy. W stanie początkowym q 0, zgodnie z rys. 3, nie ma przejścia do stanu q 1 jednakże symbol "pusty" ε, występujący w każdej chwili dyskretnej na wejściu automatu, powoduje przejście do stanu q 1. Będąc w stanie q 1 automat akceptuje zarówno symbol wejściowy, pod wpływem którego pozostanie on nadal w stanie q 1, jak również symbol "pusty" ε (interpretowany jako ) powodujący przejście do stanu q 2. W danej chwili czasu automat może znajdować się tylko w jednym ze swoich stanów.

Logika Układów Cyfrowych Automat NFA 4 tąd też w rozpatrywanym przypadku może on pozostać w stanie q 1 (w wyniku działania sygnału ) lub przejść do stanu końcowego q 2 w wyniku działania sygnału "pustego" E. Będąc w stanie q 1 automat przejdzie pod wpływem sygnału E do stanu końcowego q 2, co oznacza, że symbol wejściowy został zaakceptowany przez automat. Przyjmuje się następującą, nieformalną definicję akceptacji danego słowa wejściowego przez automat skończony typu NFA. Definicja: Dane słowo wejściowe automatu NFA jest zaakceptowane przez ten automat tylko wtedy, gdy automat znajdzie się w jednym ze swoich stanów końcowych i wszystkie litery (symbole) słowa wejściowego zostały odczytane. Jeżeli automat NFA znajduje się stanie końcowym a na wejściu automatu znajduje się jeszcze taka litera słowa wejściowego, dla której w stanie końcowym nie ma żadnego przejścia, wtedy słowo to nie jest akceptowane przez automat. Dla przykładu rozpatrzmy słowo wejściowe 0020. Zgodnie z grafem automatu NFA przedstawionym na rys. 3 pod wpływem symboli 00 automat może pozostawać w stanie q 0. Kolejnym symbolem wejściowym po symbolach 00 jest. ymbol wejściowy w stanie q 0 nie może być odczytany, jednak pod wpływem sygnału E automat przejdzie z q 0 do q 1 a następnie z q 1 do q 2. W stanie q 2 symbol wejściowy jest akceptowany i automat pozostaje w stanie końcowym q 2. Ostatnim symbolem rozpatrywanego słowa wejściowego jest, które w stanie q 2 nie może być zaakceptowane. tąd też, zgodnie z podaną wyżej definicją akceptacji słów wejściowych przez NFA, słowo 0020 nie może być zaakceptowane przez automat o grafie z rys. 3. 2. Przebieg ćwiczenia Automat niedeterministyczny bez wyjść z "pustymi" przejściami ε trudno zrealizować jako urządzenie techniczne, ponieważ brak konkretnych metod syntezy tego typu automatu. Należy jednak zwrócić uwagę na to, że automat ten zbudowany jako układ sekwencyjny powinien wykonywać funkcję akceptacji słów określonego języka regularnego. Zgodnie z podaną wcześniej definicją, automat "NFA with ε-moves" akceptuje dane słowo, jeżeli w grafie przejść tego automatu istnieje co najmniej jedna taka ścieżka, wśród innych ścieżek, która dla danego słowa wejściowego prowadzi od wierzchołka reprezentującego stan początkowy do wierzchołka reprezentującego stan końcowy. Eliminując więc z grafu wszystkie takie ścieżki, które dla danego słowa akceptowanego przez automat prowadzą do nieakceptacji otrzymamy graf pewnego automatu skończonego pełniącego funkcję danego "NFA with ε-moves" (w rozpatrywanym przypadku pełniącego funkcję automatu NFA o grafie z rys. 3). chemat ideowy takiego automatu przedstawiony został na rys. 4 a na rysunkach 5 i 6 przedstawiono dwa możliwe warianty wykonawcze tego automatu jako układu sekwencyjnego, akceptującego słowa ze zbioru zadanego wyrażeniem regularnym 0* 1* 2*. Zadaniem studentów jest zmontowanie układu sekwencyjnego zgodnie ze schematem z rys. 5 lub 6 i zbadanie zachowania automatu po podaniu na jego wejście określonych słów ze zbioru słów akceptowanych i ze zbioru słów nieakceptowanych. W sprawozdaniu z ćwiczenia należy opisać działanie tego automatu na podstawie schematu z rys. 4, zarówno w przypadku słów akceptowanych jak i nieakceptowanych przez ten automat.

Logika Układów Cyfrowych Automat NFA 5 2.1. Uwagi na temat schematów Pierwszy schemat (rys. 4) służy tylko do zaprezentowania w możliwie prosty sposób idei układu logicznego (nie jest uwzględniony zewnętrzny sygnał EET). chemat z rys. 5 zbudowany jest w oparciu o bramki AND i O, dlatego nie może być bezpośrednio połączony przy wykorzystaniu modułów dostępnych w zestawie UNILOG. Na schemacie końcowym (rys. 6) wykorzystane są dostępne bramki NO, dodana została również blokada sygnału TAT jeśli automat jest już w stanie końcowym 2. prowadzenie automatu do stanu początkowego (sygnałem TAT) wymaga użycia sygnału EET. Dla przerzutników aktywny jest stan niski sygnałów ET i EET. Można użyć dostępnych w laboratorium przerzutników synchronicznych D lub JK, wykorzystując tylko ich wejścia asynchroniczne. Przerzutniki można również zbudować z pojedynczych bramek (ze względu na aktywny stan niski dla wejść, musi to być wariant z bramkami NAND). Na schemacie z rys. 6 wykorzystane są dostępne w laboratorium gotowe bloki składające się z bramki NO i bramek AND na jej obu wejściach: W razie braku takich bloków (ograniczona liczba modułów) można je zastąpić układem zbudowanym z bramek NAND, korzystając z przekształcenia: ab + cd = abcd = abcd W rezultacie otrzymujemy następujący układ zastępczy: 2.2. Uwagi na temat testowania Testowany w ćwiczeniu automat NFA jest układem sekwencyjnym asynchronicznym, dlatego zmiany stanów zachodzą bezpośrednio po zmianie wejść. Utrudnia to diagnozowanie i wykrywanie ewentualnych błędów w układzie. Niekiedy problemy mogą być również spowodowane sprzecznym sterowaniem wejść ET i EET przerzutników (oba jednocześnie aktywne). tan przerzutnika i jego negacja mogą mieć wtedy taki sam poziom logiczny. W związku z tym warto podzielić układ na bloki, związane z realizowanymi funkcjami, a następnie kolejno je łączyć i testować. Proponowane jest połączenie w pierwszej kolejności części układu związanej z kasowaniem przerzutników (czyli sterującej wejściami EET przerzutników ), pozostawiając na tym etapie wiszące wejścia ET. Wykonując testy można ręcznie ustawić dowolny przerzutnik, podając aktywny sygnał na wejście ET. Należy przy tym pamiętać o wynikających wprost z zasady działania automatu sprzężeniach zwrotnych. Na przykład ustawienie przerzutnika 1 (w prawidłowo działającym układzie) spowoduje automatyczne skasowanie jego poprzednika czyli 0.

Logika Układów Cyfrowych Automat NFA 6 stała jeden ε EAD EAD TAT 0 1 2 ODCZYT EAD ys. 4. chemat ideowy automatu niedeterministycznego z przejściami "pustymi" ε (uproszczony)

Logika Układów Cyfrowych Automat NFA 7 stała jeden ε EAD EAD TAT 0 Przerzutnik 1 2 ODCZYT EAD EET ys. 5. chemat ideowy automatu niedeterministycznego z przejściami "pustymi" ε (AND / O)

Logika Układów Cyfrowych Automat NFA 8 EAD ε stała jeden TAT 0 1 EET ODCZYT 2 ys. 6. chemat ideowy automatu niedeterministycznego z przejściami "pustymi" ε