Układy sekwencyjne - pojęcie automatu

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Automaty asynchroniczne
Sumatory + Półsumator A B S C A B S (suma) C (przeniesienie)
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
A.Skorupski „Podstawy budowy i działania komputerów” (Warszawa 2000)
Architektura systemów komputerowych
Michał Łasiński Paweł Witkowski
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Instrukcje strukturalne
Budowa komputera Wstęp do informatyki Wykład 15
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Architektura komputerów
Teoria sterowania Wykład 3
Automatyka Wykład 3 Modele matematyczne (opis matematyczny) liniowych jednowymiarowych (o jednym wejściu i jednym wyjściu) obiektów, elementów i układów.
Układy sekwencyjne pojęcia podstawowe.
minimalizacja automatów
Przerzutniki.
Układy kombinacyjne.
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Synteza logiczna w projektowaniu układów cyfrowych
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania stanów w układach sekwencyjnych (automatach)
Zadanie treningowe… …do wykładów ULOG cz. 6 i cz. 7 Rozwiązanie: E S 1
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Cyfrowe układy logiczne
Sekwencyjne bloki funkcjonalne
UKŁADY MIKROPROGRAMOWANE
Układy cyfrowe.
Minimalizacja funkcji boolowskich
Przykład syntezy strukturalnej
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
Synteza logiczna w projektowaniu…
Problematyka wykładu Podział rejestrów i liczników
Problematyka wykładu Wprowadzenie Podział układów sekwencyjnych
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
Wykład nr 1: Wprowadzenie, podstawowe definicje Piotr Bilski
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
Prezentacja Multimedialna
Pudełko Urządzenia Techniki Komputerowej
Podstawy Techniki Cyfrowej
Złożone układy kombinacyjne
Bramki logiczne i układy kombinatoryczne
Działania w systemie binarnym
Układy asynchroniczne
Przerzutniki Przerzutniki.
Przerzutniki bistabilne
Kalendarz 2020.
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
Układy logiczne – układy cyfrowe
ZPT Evatronix Kontroler Ethernet MAC (Media Access Control) 10/100Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
Układy logiczne – układy cyfrowe
Układy logiczne kombinacyjne sekwencyjne
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

Układy sekwencyjne - pojęcie automatu v2 v1 v  V y  Y v3 S2 /Y1 S1 /Y2 v2 v1 v3 v1 v2 v3 Y3 Y1 Y2 v1 v3 v1 S3 /Y3 v2 jest definiowany przez określenie:  a) zbioru liter wejściowych V (X) i wyjściowych Y, b) zbioru stanów wewnętrznych S, c) funkcji przejść (ozn. ), d) funkcji wyjść (ozn. ).

Funkcja przejść i wyjść Funkcja przejść: : S  X  S Funkcja wyjść: : S  X  Y (tzw. automat Mealy’ego) : S  Y (tzw. automat Moore’a) Automat może być zupełny lub niezupełny

Specyfikacja automatu Tablica przejść-wyjść automatu: Moore’a Mealy’ego v1 v2 v3 y S1 S2 S3 y2 y1 y3 v1 v2 S1 S2 y1 y2 S3 y3 ... i graf Mealy’ego: Moore’a: stan wejście/wyjście stan/ wyjście wejście

Specyfikacja automatu Tablica przejść-wyjść automatu: Moore’a Mealy’ego v1 v2 v3 y S1 S2 S3 y2 y1 y3 v1 v2 S1 S2 y1 y2 S3 y3 ... i graf /y2 Moore’a Mealy’ego

wejście synchronizujące Układ sekwencyjny Zakodowane litery wejściowe Zakodowane litery wyjściowe x1 xn y1 ym Q1 Qk q1 qk US UK układ kombinacyjny BP blok pamięci Zakodowane stany automatu CLK wejście synchronizujące Układy sekwencyjne: Synchroniczne (BP zbudowany z przerzutników synchronicznych) Asynchroniczne (BP realizują opóźnienia lub przerzutniki asynchroniczne)

Synchroniczne układy sekwencyjne x1 xn y1 ym UK Q1 Qk q1 qk BP Przerzutniki CLK

Przerzutniki Przerzutnik FF I1 I2 Q CLK – to automat typu Moore’a o dwóch stanach wewnętrznych, jednym lub dwóch wejściach informacyjnych, dwóch wyjściach (prostym i zanegowanym) oraz wejściu synchronizującym (zegarowym). W zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D, T, SR oraz JK. FF J K Q CLK FF S R Q CLK FF D Q CLK FF T Q CLK

Przerzutniki Przerzutnik jest określony: tablicą przejść, FF I1 I2 Q CLK Przerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń.

Przerzutniki – tablice przejść Q 1 D Q 1 Q’ = D SR Q 00 01 11 10 – 1 JK Q 00 01 11 10 1 Równanie charakterystyczne: Q’ = f(I1,I2,Q)

Przerzutniki – tablice wzbudzeń Q Q’ D T S R J K 00 0 – 01 1 1 0 1 – 10 0 1 – 1 11 – 0 D – delay T – trigger S – Set (wejście włączające) R – Reset (wejście wyłączające) J – wejście włączające K – wejście wyłączające

Przebiegi czasowe – przerzutnik typu D FF D Q CLK CLK D D Q 1 Q

Przebiegi czasowe – przerzutnik typu T FF T Q CLK CLK T T Q 1 Q

Przebiegi czasowe - porównanie CLK D (T) Q (D) Q (T)

Synteza układów sekwencyjnych Etapy syntezy:  synteza abstrakcyjna (utworzenie tablicy przejść-wyjść)  redukcja (minimalizacja) liczby stanów  kodowanie stanów, liter wejściowych i wyjściowych  synteza kombinacyjna (obliczanie funkcji wzbudzeń przerzutników i funkcji wyjściowych) S1 S2 S3 v1 v2 v3 /Y2 /Y1 /Y3 CLK x Y minimalizacja v1 v2 S1 S2 y1 y2 S3 y3 kodowanie

Synteza kombinacyjna… Y = f(X,Q) (Mealy) Q’ Q X Przerzu tniki Y UK we UK wy Obliczanie funkcji sterujących wejściami przerzutników (funkcje wzbudzeń) Obliczanie funkcji wyjściowych CLK Y = f(Q) (Moore) Q’ = f(X,Q)

Przykład syntezy (detektor sekwencji) Wystarczą dwa przerzutniki X S Q1Q0 1 A 00 01 00 B 01 11 C 11 (–) 10 – – – X S 1 A B C Kodowanie Y Na razie staramy się spełnić wyłącznie warunek jednoznaczności kodowania

Obliczanie funkcji wzbudzeń i wyjściowych X S Q1Q0 1 A 00 01 00 B 01 11 C 11 (–) 10 – – – QQ’ D 00 01 1 10 11 Y X Q1Q0 1 00 01 11 10 – D1=Q1’ D0=Q0’

Schemat logiczny detektora sekwencji x Y

Przykład... Realizacja T Y – jak poprzednio QQ’ T 00 01 1 10 11 X Q1Q0 1 00 01 11 10 – X Q1Q0 1 00 01 11 10 – QQ’ T 00 01 1 10 11 Q1’ Q0’ X Q1Q0 1 00 01 11 10 – X Q1Q0 1 00 01 11 10 – 1 1 1 1 1 T1 T0 Y – jak poprzednio

Schemat logiczny detektora (T) x Y CLK Y – jak poprzednio

Schemat logiczny detektora (JK) CLK Y x Y – jak poprzednio

CAD Nie martwmy się ... Synteza kombinacyjna układów sekwencyjnych może być (i zazwyczaj jest) procesem żmudnym, trzeba przetwarzać ogromne tablice wypełnione zerami i jedynkami. CAD Ale nie martwmy się! Proces ten – w systemach komputerowego projektowania – jest całkowicie zautomatyzowany.

jedyną czynnością użytkownika jest ... Nie martwmy się ... zapisanie tablicy p-w w języku AHDL lub VHDL …dalej automatycznie …aż do zaprogramowania

Specyfikacja automatu Nie wnikając w szczegóły takiego zapisu (będą one omawiane na innych wykładach) trzeba podkreślić, że jest to wierne odwzorowanie tablicy przejść wyjść automatu. tablica przejśc-wyjść AHDL VHDL Odwzorowanie

Na przykład licznik ze sterowaniem... TABLE % current current next next % % state input state output % s, v[] => s, y; s0, B"00„ => s1, 0; s0, B"01„ => s4, 0; s0, B"1X„ => s0, 0; s1, B"00„ => s2, 0; s1, B"01„ => s0, 0; s1, B"1X„ => s0, 0; s2, B"00„ => s3, 0; s2, B"01„ => s1, 0; s2, B"1X„ => s0, 0; s3, B"00„ => s4, 0; s3, B"01„ => s2, 0; s3, B"1X„ => s0, 0; s4, B"00„ => s0, 1; s4, B"01„ => s3, 1; s4, B"1X„ => s0, 1; END TABLE; X S 00 01 10 Y S0 S1 S4 S2 S3 1 zapisany w języku AHDL, po wprowadzeniu...

…specyfikacji do edytora tekstowego TABLE % current current next next % % state input state output % s, v[] => s, y; s0, B"00„ => s1, 0; s0, B"01„ => s4, 0; s0, B"1X„ => s0, 0; s1, B"00„ => s2, 0; s1, B"01„ => s0, 0; s1, B"1X„ => s0, 0; s2, B"00„ => s3, 0; s2, B"01„ => s1, 0; s2, B"1X„ => s0, 0; s3, B"00„ => s4, 0; s3, B"01„ => s2, 0; s3, B"1X„ => s0, 0; s4, B"00„ => s0, 1; s4, B"01„ => s3, 1; s4, B"1X„ => s0, 1; END TABLE;

i uruchomieniu kompilatora… ...zostanie automatycznie zrealizowany bez udziału projektanta. EPM7032 q0 _EQ001 = !q0 & q1 & !X1 & X2 # q2 & !X1 & X2 # !q0 & !q2 & !X1 & !X2; q1 _EQ002 = q2 & !X1 & X2 # q0 & q1 & !X1 & X2 # !q0 & q1 & !q2 & !X1 & !X2 # q0 & !q1 & !q2 & !X1 & !X2; q2 _EQ003 = !q0 & !q1 & !q2 & !X1 & X2 # q0 & q1 & !q2 & !X1 & !X2;

Wniosek Skoro kompilator oblicza funkcje wzbudzeń automatycznie, to umiejętność ta nie jest w dzisiejszych czasach sprawą najważniejszą. Lepiej skoncentrować się na tych metodach i procedurach syntezy logicznej, które nie są jeszcze wbudowane do systemów komercyjnych.