Hardwarová realizace konečných automatů



Podobné dokumenty
Testování a spolehlivost. 6. Laboratoř Ostatní spolehlivostní modely

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

BDIO - Digitální obvody

Zadání úlohy: Vestavný systém schodišťový automat se zobrazením


Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

7. Popis konečného automatu

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

Magie 21. století, aneb zabudované systémy. V. Kushpil (ÚJF AV CR)

Návrh asynchronního automatu

Sekvenční logické obvody

Struktura a architektura počítačů (BI-SAP) 3

SEKVENČNÍ LOGICKÉ OBVODY

Registry a čítače část 2

PROTOKOL O LABORATORNÍM CVIČENÍ

Alfanumerické displeje

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Návrh synchronního čítače


Programovatelná logika

Struktura a architektura počítačů (BI-SAP) 4

Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl Tematická oblast ELEKTRONIKA

Základy číslicové techniky z, zk

1. Programování PLC. Programovatelné automaty II - 1 -

Syntaxí řízený překlad

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?


4. Elektronické logické členy. Elektronické obvody pro logické členy

Fakulta informačních technologií. Teoretická informatika

LOGICKÉ OBVODY X36LOB

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Cíle. Teoretický úvod

Návrh čítače jako automatu

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Nabíječ NiCd a NiMh článků řízený mikroprocesorem

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Systém řízení sběrnice

L A B O R A T O R N Í C V I Č E N Í

PROGRAMOVATELNÉ LOGICKÉ OBVODY

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

VY_32_INOVACE_CTE_2.MA_19_Registry posuvné a kruhové. Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Obecný úvod do autoelektroniky

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Testování pamětí (Memory BIST)

Zadání semestrálního projektu PAM

AUTOMATIZACE Úvod do programování PLC

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Číslicové obvody základní pojmy

Struktura a architektura počítačů (BI-SAP) 11

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Zkouškové otázky z A7B31ELI

Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav fyziky a měřicí techniky

5. Sekvenční logické obvody

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

2.8 Kodéry a Rekodéry

SYSTÉMY NAČIPU MI-SOC

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Katedra počítačů FEL

Signálové a mezisystémové převodníky

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

STAVEBNÍ NÁVODY 1 pro činnost v elektro a radio kroužcích a klubech

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

I. Zobrazení dat a operace.

TECHNICKÁ UNIVERZITA V LIBERCI

Hardwarová realizace Petriho sítí

napájecí napětí vlastní odběr zařízení podporované funkce počet bitů stopbit nastavitelné adresy maximální počet zařízení na lince

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Architektura počítačů Logické obvody

XXXIII Celostátní olympiáda znalostí elektriky a elektroniky Krosno 25. března 2010 TEST PRO ELEKTRONICKOU SKUPINU

Pokojový termostat řízený pomocí SMS zpráv v síti GSM

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení. N Měřicí a řídicí technika 2012/2013. Logické proměnné

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Cvičení z logiky II.

Operační paměti počítačů PC

Komunikace modulu s procesorem SPI protokol

Projekt: Přístupový terminál

Principy činnosti sběrnic

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

Použití programovatelného čítače 8253

5. STRUKTURA PLC PROGRAMU

11. Logické analyzátory. 12. Metodika měření s logickým analyzátorem

Počítačová grafika 1. Úvod do grafiky, základní pojmy. Rastrová grafika.

Transkript:

BI-AAG - Automaty a gramatiky Katedra teoretické informatiky ČVUT FIT 11.1.21

Co potřebujeme Úvod Potřebujeme: zakódovat vstupní abecedu, zakódovat stavy automatu, pamatovat si současný stav, realizovat přechodovou funkci automatu pomocí zakódovaných stavů a vstupních symbolů, rozpoznat koncové stavy.

Kódování vstupní abecedy Kódování Implementace Vstupní abecedu zakódujeme v binárním kódu Pro text můžeme použít 8 bitů (rozšířená ASCII). Pro menší abecedu můžeme použít menší počet bitů. Ušetříme součástky, ale musíme provádět konverzi.

Kódování vstupní abecedy Kódování Implementace Vstupní abecedu zakódujeme v binárním kódu Pro text můžeme použít 8 bitů (rozšířená ASCII). Pro menší abecedu můžeme použít menší počet bitů. Ušetříme součástky, ale musíme provádět konverzi. - A = {a,b,c,d} Symbol Kód a b 1 c 1 d 11 Pro reprezentaci v binárním kódu nám stačí log 2 ( A ) bitů.

Reprezentace stavů Úvod Kódování Implementace Stavy nejčastěji kódujeme binárním nebo Grayovým kódem. Aktuální stav je uložen v datovém registru. Přechodová funkce každé kombinaci kódu starého stavu a vstupního symbolu přiřazuje kód nového stavu. Inicializace - vynulováním datového registru (pokud pro počáteční stav zvoĺıme kód ).

Reprezentace stavů Úvod Kódování Implementace Stavy nejčastěji kódujeme binárním nebo Grayovým kódem. Aktuální stav je uložen v datovém registru. Přechodová funkce každé kombinaci kódu starého stavu a vstupního symbolu přiřazuje kód nového stavu. Inicializace - vynulováním datového registru (pokud pro počáteční stav zvoĺıme kód ). Alternativně lze použít kód 1 z N. Každý stav je představován jedním 1bitovým klopným obvodem. Pokud je nastaven na log1, stav je aktivní. Každý přechod je realizován funkcí zdrojového stavu a kódu vstupního symbolu. Inicializace - nastavením registru počátečního stavu na log1, ostatních na log. V obou případech se jedná o synchronní sekvenční obvody. Přechod do nového stavu je řízen hodinovým signálem.

Kódování Implementace Kódování stavů v binárním nebo Grayově kódu Aktuální stav je uložen v datovém registru Při každém taktu se do registru uloží nový kód stavu, který je funkcí stavu předchozího a kódu vstupního symbolu. hodiny vstup m n implementace přechodové funkce n CLK D registr n Indikace konc. stavu

Implementace přechodové funkce Kódování Implementace Kombinační logikou. Jednotlivé kódy následujícího stavu jsou určeny kombinační funkcí bitů kódu původního stavu a vstupního symbolu. Koncový stav je indikován kombinační funkcí bitů kódu aktuálního stavu.

Implementace přechodové funkce Kódování Implementace Kombinační logikou. Jednotlivé kódy následujícího stavu jsou určeny kombinační funkcí bitů kódu původního stavu a vstupního symbolu. Koncový stav je indikován kombinační funkcí bitů kódu aktuálního stavu. Programovatelnou pamětí. Kód následujícího stavu je uložen na pamět ovém místě, jehož adresa je složena z kódu původního stavu a kódu vstupního symbolu. Indikace koncového stavu může být součástí přechodové funkce. Hodnota této funkce je pak invariantní ke vstupu (pro všechny vstupy je v daném stavu stejná).

Úvod Sestrojíme konečný automat nad abecedou A = {a,b,c,d}, který bude přijímat všechna slova, která končí na aa nebo c. Automat musí být deterministický a s plně definovanou přechodovou funkcí.

Úvod Sestrojíme konečný automat nad abecedou A = {a,b,c,d}, který bude přijímat všechna slova, která končí na aa nebo c. a,b,c,d START a 1 2 a c 3

Úvod Sestrojíme konečný automat nad abecedou A = {a,b,c,d}, který bude přijímat všechna slova, která končí na aa nebo c. b,d b,d b,d a START a 1 2 c c a c b,d c 3 a

Úvod Sestrojíme konečný automat nad abecedou A = {a,b,c,d}, který bude přijímat všechna slova, která končí na aa nebo c. Q / X a b c d 1 3 1 2 3 2 2 3 3 1 3

Úvod Sestrojíme konečný automat nad abecedou A = {a,b,c,d}, který bude přijímat všechna slova, která končí na aa nebo c. Q / X a b c d 1 3 1 2 3 2 2 3 3 1 3 Q / X 1 1 11 q 1 q q 1 q q 1 q q 1 q q 1 q 1 1 1 11 1 11 11 1 1 1 1 Pro kódování stavů je v tomto případě výhodnější použít Grayova kódu. Vstupní abecedu kódujeme binárně. V našem případě ušetříme několik bitů, ale byla by potřeba konverze na vstupu.

- implementace přechodové funkce x x1 x x1 1 1 1 1 1 1 1 1 q 1 q 1 q1 q1 q = x x 1 q 1 = x x 1 +x q

- implementace přechodové funkce q1 q x1 x q = x x 1 q 1 = x x 1 +x q q1 q

Koncové stavy Úvod Koncové stavy indikujeme výstupní funkcí závislou pouze na aktuálním stavu (automat typu Moore). Q Y 1 2 1 3 1 Q Y 1 11 1 1 1

Koncové stavy Úvod Koncové stavy indikujeme výstupní funkcí závislou pouze na aktuálním stavu (automat typu Moore). Q Y 1 2 1 3 1 Q Y 1 11 1 1 1 Y = q 1 q1 q Y

Přechodová funkce pomocí programovatelné paměti q q x x n m... Adresa Data... q q n... Y Adresa Obsah q 1 q x 1 x q 1 q Y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Adresa Obsah q 1 q x 1 x q 1 q Y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Indikaci koncového stavu Y začleníme do přechodové funkce (hodnota je invariantní ke vstupu).

Fragment implementace pomocí kódu 1 z N Mějme automat, jehož fragment vypadá nasledovně... 1 b c 2

Fragment implementace pomocí kódu 1 z N Každý stav je představován jedním 1bitovým registrem. Každý přechod je realizován vlastní logickou funkcí (vstupy b=1, c=1). 1 b c X 1 X 1 CLK CLK b c 2 Hodiny 2 CLK

Fragment implementace pomocí kódu 1 z N X 1 X Hodiny 1 CLK CLK b 2 CLK c Oproti předchozímu řešíme každý přechod zvlášt. Zřejmě nás to bude stát víc součástek. Lze jednoduše simulovat nedeterminismus aktivuje se více stavů najednou. Automat přijímá, pokud je některý koncový stav aktivní Velké OR hradlo na včech koncových stavech.