Sławomir Kulesza. Projektowanie automatów synchronicznych

Podobne dokumenty
Sławomir Kulesza. Projektowanie automatów asynchronicznych

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

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

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

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

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

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

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

Układy asynchroniczne

Laboratorium przedmiotu Technika Cyfrowa

Automat skończony FSM Finite State Machine

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

Układy asynchroniczne

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

Układy kombinacyjne - przypomnienie

Podstawy Techniki Cyfrowej Teoria automatów

Układy sekwencyjne - wiadomości podstawowe - wykład 4

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

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

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

Synteza strukturalna automatów Moore'a i Mealy

Krótkie przypomnienie

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

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

Asynchroniczne statyczne układy sekwencyjne

LICZNIKI PODZIAŁ I PARAMETRY

Synteza strukturalna automatu Moore'a i Mealy

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

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

Technika cyfrowa Synteza układów kombinacyjnych

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

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

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

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

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

Technika cyfrowa Układy arytmetyczne

Programowalne układy logiczne

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

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

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

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

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Architektura komputerów Wykład 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

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

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

Podstawy układów mikroelektronicznych

Kombinacyjne bloki funkcjonalne

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Układy sekwencyjne przerzutniki 2/18. Przerzutnikiem nazywamy elementarny układ sekwencyjny, wyposaŝony w n wejść informacyjnych (x 1.

Teoria układów logicznych

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Programowany układ czasowy APSC

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

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

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

Projektowanie automatów z użyciem VHDL

Synteza układów kombinacyjnych

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

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

LABORATORIUM ELEKTRONIKI. Jakub Kaźmierczak. 2.1 Sekwencyjne układy pamiętające

Automatyzacja i robotyzacja procesów produkcyjnych

EUROELEKTRA Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 2012/2013 Zadania dla grupy elektronicznej na zawody III stopnia

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

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

Errata do książki Multisim. Technika cyfrowa w przykładach.

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

Tranzystor JFET i MOSFET zas. działania

WSTĘP DO ELEKTRONIKI

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

1. SYNTEZA UKŁADÓW SEKWENCYJNYCH

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Programowalne układy logiczne kod kursu: ETD Układy sekwencyjne W

2.1. Metoda minimalizacji Quine a-mccluskey a dla funkcji niezupełnych.

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

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

Cyfrowe układy scalone c.d. funkcje

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

Minimalizacja form boolowskich

CZ1. Optymalizacja funkcji przełączających

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

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

Automat Moore a. Teoria układów logicznych

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

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

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

Podstawy Informatyki Elementarne podzespoły komputera

Kody splotowe (konwolucyjne)

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

W układach asynchronicznych statycznych są stosowane dwie metody realizacji pamięci Syntezu układów sekwencyjnych

LEKCJA. TEMAT: Funktory logiczne.

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

Statyczne badanie przerzutników - ćwiczenie 3

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

PODSTAWY TEORII UKŁADÓW CYFROWYCH

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

Układy Logiczne i Cyfrowe

Transkrypt:

Sławomir Kulesza Technika cyfrowa Projektowanie automatów synchronicznych Wykład dla studentów III roku Informatyki Wersja 2.0, 20/12/2012

Automaty skończone

Automat Mealy'ego Funkcja wyjść: Yt = f(st, Xt) Automat Moore'a Funkcja wyjść: Yt = f(st)

Diagramy stanów a. Mealy'ego i Moore'a

Tablice przejść i wyjść automatów Mealy'ego i Moore'a

Modele mieszane

Stany równoważne układu

Stany równoważne układu

Redukcja stanów równoważnych

Analiza układów sekwencyjnych

Analiza układów sekwencyjnych

Deskryptory układów sekwencyjnych Tablica przejść

Automaty skończone

Efektywne algorytmy Z twierdzenia Gödla wynika, że formalizmy matematyczne są niezupełne istnieją twierdzenia, których nie można w ramach danego formalizmu dowieść nie można zautomatyzować procesu dowodzenia matematycznego oraz procesu obliczeniowego istnieją twierdzenia, których nie da się dowieść algorytmicznie. Maszyna Turinga jest testerem algorytmów algorytm wykonywany przez MT jest wykonywany w ogóle. Automaty skończone są prostszymi wersjami MT, pozbawionymi nieskończonej pamięci. Nie mogą wykonywać np. nieskończonych rekurencji (mnożenie dwóch dowolnych liczb).

Automaty synchroniczne i asynchroniczne Automat asynchroniczny nie posiada wejścia zegarowego (synchronizującego), stan wewnętrzny (i odpowiadające mu wyjście) zmienia się wraz ze zmianą sygnału wejściowego Mealy Automat synchroniczny posiada wejście zegarowe (synchronizujące) wyznaczające chwile, w których może się zmienić stan wewnętrzny. W pozostałym czasie automat jest niewrażliwy na zmiany stanu wejściowego Moore Każdy układ asynchroniczny można traktować jak synchroniczny z nieskończenie wysoką częstotliwością taktowania lub.

Ogólna struktura automatu Blok wzbudzeń (synchroniczny/asynchroniczny) Moore Blok wejściowy (kombinacyjny, asynchroniczny) Mealy Blok wyjściowy (kombinacyjny, asynchroniczny)

Automat Mealy'ego Funkcja wyjść: Yt = f(st, Xt) Automat Moore'a Funkcja wyjść: Yt = f(st)

Mealy vs. Moore Automaty Mealy'ego są prostsze - Mniejsza liczba stanów, prostszy układ - Szybsza reakcja na zmiany wejścia brak oczekiwania na sygnał zegara - Asynchroniczne wyjścia i sprzężenia zwrotne niosą zagrożenia wyścigi krytyczne i niekrytyczne (races), niestabilność sygnałów wejściowych przenosi się na sygnał wyjściowy (feedthrough loops), czas ustalania się sygnałów (glitching)

Automaty Mealy'ego

Mealy vs. Moore Automaty Moore'a są bezpieczniejsze - Pewniejsze działanie - Zmiana wyjścia zsynchronizowana z sygnałem zegarowym (z opóźnieniem 1 taktu) - Wolniejsze działanie - Przerwanie ścieżki sygnału od wejścia do wyjścia układu - Zwykle bardziej rozbudowana część wyjściowa - Większa liczba stanów i przerzutników

Automaty Moore'a

Mealy vs. Moore

Procedura projektowania automatów synchronicznych 1. Diagram stanów (graf przejść) 2. Minimalizacja liczby stanów wewnętrznych 3. Tablica przejść-wyjść 4. Kodowanie stanów wewnętrznych 5. Tablica wzbudzeń przerzutników 6. Funkcje wzbudzeń przerzutników - zminimalizuj układ korzystając z map Karnaugh 7. Funkcje wyjść 8. Schemat układu

Potencjalne problemy projektowania FSM 1. Nadmiarowość kodowania stanów wewnętrznych niewłaściwa inicjalizacja 2. Nadmiarowość kodowania stanów wewnętrznych możliwe pętle w obrębie stanów nieużywanych 3. Nadmiarowość kodowania stanów wewnętrznych konieczność sprowadzenia do stanu właściwego 4. Jednoczesna zmiana co najmniej dwóch bitów stanu wewnętrznego wyścigi krytyczne i niekrytyczne (a. asynchroniczne).

Kodowanie stanów układu

Kodowanie stanów FSM Dla m-stanów wewnętrznych FSM i n-bitów kodu (m n log2m) liczba możliwych kodów wynosi: n 2! NK= n ( 2 m )! Ex.: n = 3, m = 4, NK = 1680

Przykłady kodowania stanów 1. Kodowanie proste (porządkowe): 000, 001, 010, 011,... 2. Kodowanie w kodzie Graya: 000, 010, 011, 010,... 3. Kodowanie losowe (random): 010, 111, 011, 101,... 4. Kodowanie z pojedynczym gorącym bitem (one-hot): 0001, 0100, 0010, 0001

Kodowanie z pojedynczym gorącym bitem 1. n-stanów kodowanych przy pomocy nprzerzutników, np.: Porządkowe 00, 01, 10, 11 One-hot 0001, 0010, 0100, 1000 2. Łatwa kontrola poprawności działania bloku przerzutników 3. Skomplikowany diagram stanów złożony układ 4. Rozbicie układu na 2 podukłady daje (n+m)przerzutników zamiast (n*m).

Kodowanie z pojedynczym gorącym bitem - Zwykle układ działa szybciej. FSM z dużą liczbą silnie zakodowanych stanów spowalniają swoje działanie. - Prostota projektu - Prostota modyfikacji działania - Łatwa kontrola działania - Łatwe diagnozowanie usterek

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Diagram stanów: 0 0 0 B A H 1 1 1 0 G C 1 0 1 1 1 1 F D E 0 0 0

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Tablica przejść-wyjść (Moore): Q X=0 X=1 Y A B C D E F G H B C D E F G H A H A B C D E F G 000 001 010 011 100 101 110 111

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Tablica przejść-wyjść (Mealy): Q A B C D E F G H Q+ Y+ X=0 X=1 X=0 X=1 B C D E F G H A H A B C D E F G 001 010 011 100 101 110 111 000 111 000 001 010 011 100 101 110

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Kodowanie stanów: 1. Kodowanie proste brak bloku wyjść, ale większa wrażliwość na zakłócenia stanów wewnętrznych 2. Kodowanie w kodzie Graya większa stabilność układu, ale dodatkowo logika wyjściowa 3. Kodowanie z pojedynczym 'gorącym bitem' (One-Hot Assignment) największa nadmiarowość, ale możliwość kontroli działania

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Schemat układu (proste kodowanie stanów):

3-bitowy licznik binarny ze zmianą kierunku zliczania (0 FWD/1 REV) Schemat układu (one-hot):

Detektor sekwencji '1101'

Detektor sekwencji '1101' Mealy

Detektor sekwencji '1101' - Moore Moore is more

Przypisanie stanów przykład 1

Przypisanie stanów przykład 2

Przypisanie stanów przykład 2

Przypisanie stanów przykład 2

Poszukiwanie równań wej/wyj przerzutników (przykład 2)

Optymalizacja przypisania porządkowego (przykład 2)

Poszukiwanie równań wej/wyj przerzutników (przykład 2)

Optymalizacja przypisania w kodzie Graya (przykład 2)

Przypisanie 1 przerzutnik na stan (One-Hot Assignment)

Przypisanie 1 przerzutnik na stan (One-Hot Assignment)

Optymalizacja 1 przerzutnik na stan (One-Hot Assignment)

Realizacja 1 przerzutnik na stan (One-Hot Assignment)

Końcowa postać układu

Sekwencyjny akumulator modulo 3

Sekwencyjny akumulator modulo 3 Diagram stanów - Moore

Sekwencyjny akumulator modulo 3 Tablica stanów

Sekwencyjny akumulator modulo 3 Równania wejściowe przerzutników D

Sekwencyjny akumulator modulo 3 Schemat układu

Automaty niepełne Należy z ostrożnością projektować automaty, w których liczba stanów wewnętrznych jest mniejsza niż 2n, gdyż rodzą one problemy z właściwą inicjalizacją.

Licznik niepełny

Problem niewłaściwej inicjalizacji Należy zadbać, aby układ nie zapętlił się lub nie wpadł w niedozwolone stany wewnętrzne przy niewłaściwej inicjalizacji.

Automaty samostartujące Taki projekt zapewnia niewrażliwość na niewłaściwą inicjalizację, aczkolwiek może ograniczyć elastyczność minimalizacji. Rozwiązanie alternatywne (niesamostartujące) asynchroniczne ustawianie automatu w stanie początkowym.