Podstawy elektroniki Wykłady od pierwszego do ósmego (10 październik 2013) Od procesora do tranzystorat Prowadzący: e mail: strona www: Dr inż. Andrzej Skoczeń sucha@skoczen.pl http://skoczen.pl/sucha Wyższa Szkoła Turystyki i Ekologii Wydział Informatyki, rok II 1
Świat zew wnętrzny Urządzenie elektroniczne ADC Kondycjoner Czujnik sygnału S&H Kwantyzer n bit (Filtr) Aktuator Filtr Domena analogowa Domena cyfrowa DAC n bit DSP S&H Sample and Hold Układ próbkujaco pamietajacy ADC Analog Digital Converter Przetwornik analogowo cyfrowy DAC Digital Analog Converter Przetwornik cyfrowo analogowy DSP Digital Signal Procesing Cyfrowe przetwarzanie sygnałów 2
Próbkowanie i Kwantowanie Kwanto owanie amp plitudy 111 110 101 100 011 010 001 000 t s = 1 f s Próbkowanie sygnału w czasie 3
Układ próbkująco-pamiętający 4
Przetworniki analogowo-cyfrowe ADC Trzy metody przetwarzania sygnału analogowego na cyfrowy: Zcałkowaniem Bezpośrednie Z kolejnym porównaniem 5
Przetworniki cyfrowo-analogowe DAC Cztery rodzaje przetworników cyfrowo analogowych DAC: Z napięciowymi źródłami odniesienia: Z siecią rezystorów wagowych Z drabinką rezystorów R 2R Zprądowymi źródłami odniesienia: Z siecią rezystorów wagowych Z drabinką rezystorów R 2R 6
System cyfrowy System Sprzęt Program Hardware/Software codesign Współprojektowanie oprogramowania i sprzętu to projektowanie współpracujących składników sprzętowych i programowych w jednym zadaniu projektowym. Sprzęt (hardware) Oprogramowanie (software) Sztywny (fixed) Elastyczny (flexible) Współprojektowanie oprogramowania i sprzętu to podział projektu aplikacji na część stałą ielastyczną.
Opcje projektowe układu cyfrowego Układ cyfrowy może być zaprojektowany jako: ASIC µp µc DSP Układ programowalny Fullcustom Cellbased Gate Array GA PLD FPGA CPLD SCL Biblioteka komórek standardowych Makra skompilowane RAM/ROM/PLA A Platformy IP ROM PLA PAL Czyste FPGA DSP FPGA Słowniczek: ASIC Application Specyfic Integrated Circuit FPGA Field Programmable Gate Array SCL Standard Cell Library PLD Programmable Logic Device µc microcontroller PLA Programmable Logic Array Full custom Całkowicie na zamówienie PAL Programmable Array Logic Platformy FPGA dla SoPC/PSC µp microprocessor CPLD Complex Programmable Logic Device DSP Digital Signal Processor IP Intellectual Property 8
Read Only Memory Matryca bramek AND jest stała (kropki) i generuje wszystkie mozliwe iloczyny pełne sygnałów wejściowych. Matryca bramek OR jest programowalna (krzyżyki) k) i umożliwia realizację dowolnej funkcji. PLD struktura ROM 9
Programmable Logic Array Zarówno matryca bramek AND jak i matryca bramek OR jest programowalna (krzyżyki). PLD struktura PLA Obecnie układy PLA w postaci dyskretnej przestały być stosowane.strukturatamajednak szerokie zastosowanie w projektach typu full custom i cellbased. 10
Programmable Array Logic PLD struktura PAL Matryca bramek OR jest stała (kropki). Matryca bramek AND jest programowalna (krzyżyki). 11
Complex PLD Integracja wielu struktur PAL zwanych makrokomórkami wraz ze strukturami programowalnych połączeń w jednym układzie scalonym. Obwód wejścia/wyjścia Makro PAL Obszar połączeń programo owalnych Makro PAL M akro PAL Obsza progra ar połączeń amowalnyc ń ch M akro PAL 12
Struktura FPGA typu matrycowego Obwód CLB CLB CLB CLB wejścia/wyjścia CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB 13
Komputer Magistrala Danych CPU ROM RAM I/O µp lub µc Magistrala Adresowa Magistrala Sterująca 14
Jednostka Centralna Magistrala Danych AC R1 R... Rn ALU PC IR SP Flags Magistrala Adresowa Układ Sterowania (dekoder komend) Magistrala Sterujaca 15
Lista rozkazów Podstawowe grupy rozkazów to: Arytmetyczne Logiczne Przesunięcia Przesłania wewnętrzne Przesłania do i z pamięci lub urządzeń wejścia wyjścia Sterowanie i programem Obsługa stosu Obsługa przerwań 16
Aksjomaty algebry Boole a 1854 George Boole sformułował dwu wartościowy wartościowy system algebraiczny 1938 Claude Shannon zastosował system do Boole a do opisu obwdów zbudowanych z przekaźników x = 0 jeśli x 1 Tylko dwie wartości x = 1 jeśli x 0 x = 0 x = 1 Element odwrotny x = 1 x = 0 0 0 = 0 Formalna definicja 1 1 = 1 1 1 = 1 operacji koniunkcji i 0 0 = 0 0 1 = 1 0 = 0 alternatywy 1 0 = 0 1 = 1 17
Zasada dualności Wdowolnejtożsamości algebry Boole a zastępując symbol (OR) symbolem (AND) i na odwrót oraz zastępująct j jedynkę 1 zerem 0 i na odwrót otrzymamy również tożsamość. f D ( 2 x1, x2,... xn,,,') = f ( x1, x,... xn,,,') 18
Podstawowe własności algebry Boole a x 0 = x Element identycznościowyś i x 1 = x x 1 = 1 Element zerowy x 0 = 0 x x =x Idempotencja x x = x x x = 1 Komplementarność x x = 0 x = x Inwolucja xy= yx Przemienność x y = y x x (y z) = (x y) z Łączność x (y z) = ( x y) z x (y z) = xy xz Rozdzielność x (y z) = (x y) (x z) x xy = x Przekrywanie x (x y) = x xy xy = x Kombinacja (xy) (xy ) = x xy x z yz = xy x z Zgoda (xy) (x z) (yz) = (xy) (x z) Czynnik yz jest czynnikiem zgody między czynnikami xy i x z. Jeśli yz=1 to albo xy albo x z musi także być 1 ponieważ y i z są równe 1, a albo x albo x jest równe 1. Tak więc czynnik yz jest nadmiarowy i może być opuszczony. 19
Uogólnione prawo de Morgana: Prawa de Morgana = i x i x = i x i x i i i i f ( 2 x 1, x 2,...,, x n,, ) = f ( x 1, x,...,, x n,, ) Uogólnione prawo de Morgana zapisane za pomocą zasady dualności: f = D ( x1, x2,..., xn) f ( x1, x2,..., xn ) 20
Funkcja logiczna Funkcja kj logiczna o n wejściach (argumentach) i m wyjściach (wartościach) ś jest to odwzorowanie dwóch przestrzeni logicznych: Jeżeli m=1 to funkcja logiczna jest skalarna. f n m : B B gdzie B = {0, 1} Funkcja logiczna może mieć nieokreśloności tzn. nigdy nie wytępujące kombinacje zmiennych wejściowych, dla których wyjście nie ma określonej wartości. Funkcję logiczną nie wszędzie określona zapisujemy więc: n m f : B {0,1, } gdzie to warunek zaniedbywalny Dla każdego wyjścia podzbiory stanów wejść, dla których wyjście ma 0, 1, nazywa się zbiorami wyłączenia, włączenia i nieokreśloności. 21
Funkcja logiczna x y z F(x,y,z) 0 0 0 0 1 1 0 0 1 X 2 0 1 0 0 3 0 1 1 X 4 1 0 0 1 5 1 0 1 X 6 1 1 0 1 7 1 1 1 X F x, y, z ) (, 4, 6 ) ( = 0 n ( 13,, 5, 7 ) 22
Funkcja logiczna - SOP Funkcja logiczna (boolowska) jest to wyrażenie algebraiczne utworzone ze zmiennych dwójkowych, symboli operacji logicznych, nawiasów i znaku równości. ś Dowolną funkcję logiczną n zmiennych można jednoznacznie przedstawić w postaci sumy iloczynów pełnych (kanoniczna postać sumy, SOP Sum Of Products): f ( x 1, x2 ) 2 1 i= 0,..., x n = α m n gdzie di f(i) oznacza wartość funkcji jif( f(x 1, x 2,..., x n ) dla i tej t j kombinacji zmiennych. i i α i = f (i) Iloczynem pełnym n zmiennych nazywamy taki iloczyn tych zmiennych (bezpośrednich lub zanegowanych), w którym każda zmienna występuje dokładnie jeden raz. Tabela przedstawia iloczyny pełne dla n=3. Przyjęto konwencję, w której bezpośredniej zmiennej odpowiada wartość 1 a zmiennej zanegowanej wartość 0. x y z Iloczyny pełne m i 0 0 0 x y z m 0 0 0 1 x y z m 1 0 1 0 x yz m 2 0 1 1 x yz m 3 1 0 0 x y z m 4 1 0 1 x y z m 5 1 1 0 xyz m 6 1 1 1 x y z m 7 23
Przykład - SOP 7 i x y z f(x, y, z) = x yz 0 0 0 0 0 3 2 1 0 7 0 0 1 0 0 ),, ( m m m m m z y x f i i i = = = α 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 7 6 5 4 3 2 1 0 1 1 1 1 0 1 0 0 m m m m m m m m 3 0 1 1 0 4 1 0 0 1 5 1 0 1 1 xyz xyz z xy z xy yz x m m m m m z y x f = = ' ' ' ' ' ' ),, ( 7 6 5 4 2 6 1 1 0 1 7 1 1 1 1 = ) (2,4,5,6,7 ),, ( z y x f Iloczyny pełne, dla których funkcja przyjmuje wartość 1 nazywamy minitermami. Funkcję logiczną można interpetować jak zbiór jej minitermów. Działania na funkcjach logicznych można interpretować jako działania na zbiorach 24 minitermów.
Przykład - SOP WprzestrzeniB B 3 funkcję logiczną trzech zmiennych możemy przedstawić w postaci kostki logicznej: f ( x, y, z) = (2,4,5,6,7) 011 111 001 101 010 110 z 000 y x 100 25
Funkcja logiczna - POS Dualnie udowodnić można twierdzenie: Dowolną funkcję logiczną n zmiennych można jednoznacznie przedstawić w postaci iloczynu sum pełnych (kanoniczna postać iloczynu, POS Product Of Sums): f ( x 2 n 1 1 1, x2,..., x n ) = ( αi M i ) i= 0 α i = gdzie f(i) oznacza wartość funkcji f(x 1, x 2,..., x n ) dla i tej kombinacji zmiennych. f (i) Sumą pełną n zmiennych nazywamy taką sumę tych zmiennych (bezpośrednichś lub zanegowanych), w którym każda zmienna występuje dokładnie jeden raz. x y z Sumy pełne m i 0 0 0 x y z M 0 0 0 1 xyz M 1 0 1 0 xy z M 2 Tabela przedstawia sumny pełne dla n=3. Przyjęto konwencję, w której bezpośredniej zmiennej odpowiada wartość 0 a zmiennej zanegowanej wartość 1 0 1 1 xy z M 3 1 0 0 x yz M 4 1 0 1 x yz M 5 zanegowanej wartość 1. 1 1 0 X y z M 6 1 1 1 x y z M 7 26
i x y z f(x, y, z) = x yz 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 1 5 1 0 1 1 Przykład - POS (0 M 0 (1 M ) (0 M 1 7 f ( x, y, z) = ( αi M i ) = 4 ) (1 M i= 0 ) (1 M 5 2 ) (1 M ) (0 M 6 ) (1 M 3 7 ) f ( x, y, z) = M 0 M1 M 3 = = ( x y z) ( x y z') ( x y' z') 6 1 1 0 1 7 1 1 1 1 f ( x, y, z) = (0,1,3 ) ) Sumy pełne, dla których funkcja przyjmuje wartość 0 nazywamy maxtermami. Funkcję logiczna można interpetować jak zbiór jej maxtermów. Działania na funkcjach logicznych można interpretować jako działania na zbiorach maxtermów. 27
Rozwinięcie Shannona Każdą fukcję logiczna n zmiennych można rozwinąć względem dowolnwj zmiennej x i w nastepujący sposób: f ( x 1,..., x i dualnie n ) = x i f x x i f i x i f ( x,..., x ) ( ) ( 1 n = xi f x x i i f x i gdzie współczynniki rozwinięcia zwane kofaktorami (dopełnieniami algebraicznymi) funkcji f, są funkcjami n-1 zmiennych powstałymi z funkcji f przez zastąpienie zmiennej x i, odpowiednio wartościami jeden 1 i zero 0 : f x i = f i x i ( x = 1) f = f ( x = i Rozwijając funkcje rekurencyjnie dochodzimy d do jej postaci SOP (lub dualnie POS). 0) ) 28
System funkcjonalnie pełny Systemem funkcjonalnie pełnym nazywamy system operatorów (binarnych i unitarnych) i stałych (0, 1) taki,że każda funkcja zmiennych x 1,..., x n może być przedstawiona za pomocą formuły zbudowanej z tych zmiennych przy użyciu operatorów wchodzących do tego systemu. Przykłady systemów funkcjonlnie pełnych: AND, NOT NAND NOR 29
Minimalizacja funkcji logicznych Metody: przekształceń formalnych tablic Karnaugha Quine a McCluskeya Przykład dla metody yprzekształceń formalnych f ( x, y, z) = x' yz x' yz' xz = = x ' y ( z z ') xz = x ' y 1 xz = x ' y xz 30
Przykład dla metody tablic Karnaugha (1) (2,4,5,6,7) = f ( x, y, z) ) = (0,1,3 ) x yz 00 01 11 10 0 0 0 0 1 1 1 1 1 1 Interpretując tablice w sensie SOP: f ( x, y, z) = x yz' f ' = x' y' x' z x yz 00 01 11 10 0 0 0 0 1 1 1 1 1 1 Interpretując tablice w sensie POS: f ( x, y, z ) = ( y x ) ( z' x ) f ' x' ( y' z) = 31
Przykład dla metody tablic Karnaugha (2) (0,4,6) f ( x, y, z ) = n (1,3,5,7 ) x yz 00 01 11 10 0 1 1 x 0 x 0 1 1 1 x 1 x 1 Interpretując tablice w sensie SOP: f ( x, y, z) = y' x f '= x' y x yz 00 01 11 10 0 1 1 x 0 x 0 1 1 1 x 1 x 1 Interpretując tablice w sensie POS: f ( x, y, z ) = y' x f ' = x' y32
Układy sekwencyjne Układy sekwencyjen są budowane przy użyciu elementów pamięciowych zwanych przerzutnikami lub zatrzaskami. Elemeny te mają za zadanie: Utrzymywać dane zwane tokenami, Wymusić sekwencję umożliwiającą rozróżnienie tokenu obecnego od przeszłego lub następnego. 33
Przerzutnik D Q n1 = D CLK D Q n Q n1 0 x 0 kasowanie 1 x 1 ustawianie n1 oznacza nstępny stan wyjścia Q tzn. po narastającym zboczu zegara 34
Przerzutnik J-K CLK J K Q n Q n1 0 0 x Q n trzymanie 0 1 x 0 kasowanie 1 0 x 1 ustawianie 1 1 x Q n zamiana x x x Q n JK Q 0 1 00 0 1 01 0 0 11 1 0 10 1 1 Q n1 = JQ n K Q n 35
Przerzutnik T T CLK T Q n Q n1 0 x Q n trzymanie 1 x Q n zamiana x x Q n T Q 0 1 0 0 1 1 1 0 Alternatywa wykluczająca Q n1 = Q n T Q n T = Q n T 36
Parametry czasowe przerzutnika Czas przygotowania setup time t su dla rzeczywistego przerzutnika wejście informacyjne musi być stabilne przez pewien czas przed aktywnym zboczem zegara. Czas trzymania hold time t h dla rzeczywistego przerzutnika wejście informacyjne musi być stabilne przez pewien czas po aktywnym zboczu zegara. D t su t h CLK Q t plh t phl Wejścieinformacyjnemoże zmieniać się w dowolnej chwili, ale musi być stałe wokół aktywnego zbocza zegara przez t su przed CLK iprzezt h po CLK. Czasy t plh i t phl są liczone względem zegara CLK. Jeśli dojdzie do zmiany sygnału nawejściu informacyjnym w okresie t su <t<t h to nie mamy pewności czy stan przerzutnika będzie poprawny. Może pojawić się impuls lub oscylacja. Dane katalogowe zawierają: t sumin, t hmax, t plhmax, t phlmax. 37
Zatrzask SR Ten układ nie potrzebuje zegara S R Q n Q n1 P=Q n1 0 0 x Q n Q n trzymanie 0 1 x 0 1 kasowanie 1 0 x 1 0 ustawianie 1 1 x 0 0! zabronione SR Q 0 1 00 0 1 01 0 0 11 - - 10 1 1 Q n1 = S R Q n 38
D G Q Zatrzask D Zwany bramkowanym lub przeźroczystym G D Q n Q n1 0 x x Q n trzymanie 1 0 x 0 1 1 x 1 przeźroczystość Q GD 0 1 00 0 1 01 0 1 11 1 1 10 0 0 G Q DQ GD Q n1 = GD G Q n DQ n 39
Sekwencjonowanie układów Trzy metody sekwencjonowania: Oparty ma przerzutnikach Dwu fazowy, oparty na przeźroczystych y zatrzaskach Oparty na zatrzaskach impulsowych Wybór metody sekwencjonowania rzutuje na wszystkie fazy projektowania od zapisu, poprzez syntezę do weryfikacji. Zależy odrodzajunarzędzi (STA, ATG) i bibliotek (SCL) jakie mamy do dyspozycji. STA ATG SCL Static Timing Analysis Automatic Test Generation Standard Cell Libraries 40
Sekwencjonowanie układów przerzutniki Dwu fazowe, przeźroczyste zatrzaski zatrzaski impulsowe 41
Układ synchroniczny Układ synchroniczny charakteryzuje się: jednym j y sygnałem zegarowym (master clock) ) i jednym sygnałem ustawiania/kasowania (master set/reset), które sterują wszystkimi elementami sekwencyjnymi w projekcie. Za najbardziej bezpieczne podejście w dziedzinie zapewnienia właściwych relacji czasowych w układzie scalonym uważa się metodologię układu synchronicznego. 42
X wejście Układ synchroniczny zależności czasowe Z wyjście CLK Układ kombinacyjny Stan następny Rejestr stanu S n bitów t cmax maksymalny czas propagacji przez układ kombinacyjny t pmax maksymalny czas propagacji od zmiany CLK do zmiany S (rejestr stanu) t pmax = max(t phl,t plh ) t pmax t cmax - maksymalny czas propagacji od zmiany CLK do chwili gdy zmiany rejestru stanu pojawią się na wejściu przerzutników tc t p max tclk tsu max 43
Warunek na czas przygotowania: Zależności czasowe p yg t t t clk cmax p max t su Przykład: Układ sekwencyjny składa się z dwupoziomowego układu kombinacyjnego i rejestru stanów. Czas propagacji przez bramke wynosi: 15ns, a czas propgacji przez przerzutnik 15ns. Czas przygotowania przerzutnika wynosi 5ns. Z jaką nawiększa częstotliowością może ż pracować ć poprawnie ten układ d? t clk 2 15 15 5 = 50 ns f clk max = (t clk ) 1 = 20 MHz Warunek na czas trzymania: t pmax t cmax t h Jest złamany gdy wejście informacyjne zmienia się za wcześnie po aktywnym zboczu zegara. 44
Zależności czasowe CLK zegar X t x t y t cmin Wejście układu t cmax t su t h D Wejście rejestru stanu t cmax maksymalny czas propagacji przez układ kombinacyjny od wejścia X do wejścia D przerzutników rejestru stanu t cmin minimalny czas propagacji przez układ kombinacyjny od wejścia X do wejścia D przerzutników rejestru stanu Warunek na setup time: t x t cmax t su Zapewnić aby X zmieniało się odpowiednio wcześnie przed zboczem zegara Warunek na hold time: t y t h - t Zapewnić aby X nie zmieniało się cmin zbyt szybko po zboczu zegara 45
Układ synchroniczny Układ taki używa specjalnego sygnału zwanego zegarem CLK do synchronizacji pracy wszystkich przerzutników, rejestrów i liczników w układzie. CLK Wejście danych Wejście sterujące Część sterująca CS Sygnały sterujące Sygnalizacja stanu Część danych Automat skończony FSM Sequential machine Rejestry Jednostki arytmetyczne Liczniki Wyjście danych Dla poprawnej pracy układu synchronicznego należy zapewnić: Równoczesność zmian wszystkich przerzutników, Odpowiednią długość okresu CLK dla stabilizacji stanu wszystkich przerzutników przed następnym aktywnym zboczem zegara. 46
Układ synchroniczny Sygnał ł sterujący Control lsignal CS np. Load i Shift dla rejestru przesuwnego. Sygnalizacja stanu Condition Signals np. Overload z jednostki artmetycznej. Zasady projektowania: Wszystkie wejścia zegarowe przerzutników (rejestrów, liczników i in.) są sterowane bezpośrednioś z zegara systemowego CLK lub z zegara bramkowanego sygnałem sterującym CS. Wszystkiey zmiany stanu odbywajasię ę natychmiast pozboczuaktywnymclk. y Wszystkie stany przejściowe i zakłócenia wydarzają się pomiędzy zboczami zegara i nie mają wpływu na działanie układu. 47
Układ synchroniczny asynchroniczny Wady rozwiązania synchronicznego: Rozprowadzanie sygnału zegarowego tak aby docierał wszedzie w tej samej chwili. Maksymalna szybkość jest ograniczona przez najgorszy przypadek opóźnienia najdłuższej ścieżki sygnału. Konieczność i synchronizacji wejść z zegarem. Układy asynchroniczne: Brak zegara. Problemy z synchronizacją. Specjalne S j l techniki eliminacji i jihazardów. 48
X 1 X 2 X m Q 1 Z 1 Z 2 Z n Q 1 Uogólniony model automatu Mealy ego Q 1 Uklad kombinacyjny Q 2 X=[X 1, X 2,... X m ] wektor wejść Q Z=[Z 1, Z 2,... Z n ] wektor wyjść 2 S=[Q 1, Q 2,... Q k ] wektor stanu S =[Q 1, Q 2,... Q k ] wektor stanu następnego Q 2 Q k Q k Z = λ(s,x) funkcja wyjść Q k Q k S = δ(s,x) funkcja stanu clk 49
Uogólniony model automatu Moore a Z = λ(s) S = δ(s,x) funkcja wyjść funkcja stanu Q 1 Q 1 X 1 X 2 X m Q 1 Uklad Q 2 Kombinacyjny stanu następnego Q 2 (wejścia rejetrus stanu) Q 2 Układ kombiancyjny wyjść Z 1 Z 2 Z n Q k Q k Q k clk 50
Detektor sekwencji - przykład Projekt detektora sekwencji 101. Jest to układ który analizuje ciąg zer i jedynek przychodzący na wejście X i generujacy wyjście Z=1 gdy wykryta zostanie określona sekwencja. X clk rst US Specyfikacja: Sygnał wejściowy X może się zmieniać tylko pomiędzy aktywnymi zboczami zegara, Kazda sekwencja 101 pojawiająca się w strumieniu bitowym X powoduje pojawienie się 1 na wyjściu Z w momencie ostatniej jedynki, Układ nie jest resetowany w momencie pojawienia się 1 na wyjściu. Przykładowwe działanie ł układu: X= 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 Z= 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Z 1 51
Detektor sekwencji - przykład Konstrukcja grafu stanów dla automatu Mealy ego. ego. Zaczynamy od stanu resetu układu oznaczonego przez S 0. Jeśli w tym stanie strumień wejściowy X podaje: 0 to układ pozostaje w tym stanie gdyż nie rozpoczęła się poszukiwana sekwencja, 1 to stan układu musi ulec zmianie i do S 1 aby zapamiętać, ć że pierwszy element poszukiwanej sekwencji został wykryty. X=0/Z=0 S 0 X=1/Z=0 S 1 52
Detektor sekwencji - przykład Analizujemy zachowanie układu w stanie S 1. Jeśli w tym stanie strumień wejściowy X podaje: 1 to układ pozostaje w tym stanie gdyż nowo otrzymana jedynka ponownie rozpoczyna poszukiwaną sekwencja, 0t to stan układu musi ulec zmianie i do S 2 aby zapamiętać, ć że pierwsze dwa elementy poszukiwanej sekwencji zostały wykryte. 0/0 S 0 1/0 S 1 1/0 S 2 0/0 53
Detektor sekwencji - przykład Analizujemy zachowanie układu w stanie S 2. Jeśli w tym stanie strumień ń wejściowy X podaje: 1 to poszukiwana sekwencja została ukończona i wyjściowa jedynka ma być wygenerowana. Jaki jednak jest stan następny? Nowy stan czy S 1 czy S 0? S 0 jest wykluczone, gdyż układ nie podlega resetowaniu po rozpoznaniu sekwencji. Oznacza to, że ostatnia jedynka w sekwencji jest równocześnie pierwszą w kolejnej sekwencji. Dlatego stanem następnym musi być S 1. 0tostanukładu powinien być wykasowany do S 0 gdyż jest drugie zero i sekwencja 00 nie nalezy do poszukiwanej sekwencji. 0/0 S 0 1/0 0/0 1/1 S 1 1/0 S 2 0/0 54
Detektor sekwencji - przykład Tbl Tabela stanów: Stan obecny Stan następny Obecne wyjście Z Nazwa Symbol X=0 X=1 X=0 X=1 Start S 0 S 0 S 1 0 0 Kończące 1 S 1 S 2 S 1 0 0 Kończące 10 S 2 S 0 S 1 0 1 Stany kodujemy za pomocą dwóch przerzutników A i B. Tabela przejść: Stan obecny Stan następny A n1 B n1 Obecne wyjście Z Nazwa A n B n X=0 X=1 X=0 X=1 Start 00 00 01 0 0 Kończące 1 01 10 01 0 0 Kończące 10 10 00 01 0 1 55
Detektor sekwencji - przykład Tabelę przejść rozpisujemy na tabele Karnougha: Stan obecny Stan następny A n1 B n1 Obecne wyjście Z Nazwa A n B n X=0 X=1 X=0 X=1 Start 00 00 01 0 0 Kończące 1 01 10 01 0 0 Kończące 10 10 00 01 0 1 Nie potrzebny 11 xx xx x x AB X 0 1 00 0 0 01 1 0 11 x x 10 0 0 AB X 0 1 00 0 1 01 0 1 11 x x 10 0 1 AB X 0 1 00 0 0 01 0 0 11 x x 10 0 1 A n1 = X B B n1 = X Z = XA 56
Detektor sekwencji - przykład Układ Mealy ego i przebiegi czasowe w nim Wyjście zmienia się asynchronicznie w stosunku do sygnału zegarowego 57
Detektor sekwencji - przykład Konstrukcja grafu stanów dla automatu Moore a. Zaczynamy od stanu resetu układu oznaczonego przez S 0. Jeśli w tym stanie strumień wejściowy X podaje: 0 to układ pozostaje w tym stanie gdyż nie rozpoczęła się poszukiwana sekwencja, 1 to stan układu musi ulec zmianie i do S 1 aby zapamiętać, ć że pierwszy element poszukiwanej sekwencji został wykryty. X=0 S 0 Z=0 X=1 S 1 Z=0 58
Detektor sekwencji - przykład Analizujemy zachowanie układu w stanie S 1. Jeśli w tym stanie strumień wejściowy X podaje: 1 to układ pozostaje w tym stanie gdyż nowo otrzymana jedynka ponownie rozpoczyna poszukiwaną sekwencję, 0t to stan układu musi ulec zmianie i do S 2 aby zapamiętać, ć że pierwsze dwa elementy poszukiwanej sekwencji zostały wykryte. 0 1 S 0 Z=0 1 S 1 Z=0 0 S 2 Z=0 59
Detektor sekwencji - przykład Analizujemy zachowanie układu w stanie S 2. Jeśli w tym stanie strumień wejściowy X podaje: 1 to układ musi przejść do nowego stanu S 3 (nie może powrócić do S 1 ) gdyż nowo otrzymana jedynka kończy poszukiwaną sekwencję i sygnał wyjściowy musi ulec zmianie, 0t to układu wymaga wykasowania gdyż ż sekwencja 100 jest błędna. 0 1 S 0 Z=0 1 S 1 Z=0 0 0 S 3 S 2 Z=1 Z=0 1 60
Detektor sekwencji - przykład Analizujemy zachowanie układu w stanie S 3. Jeśli w tym stanie strumień wejściowy X podaje: 1 to układ musi powrócić do S 1 gdyż nowo otrzymana jedynka rozpoczyna ponownie poszukiwaną sekwencję, 0t to układ powinien i wrócić do S 2 gdyż ż sekwencja 1010 powinna znów dać ć Z=1 po kolejnej jedynce na wejściu. 0 1 S 0 Z=0 1 S 1 Z=0 1 0 S 3 Z=1 0 1 0 S 2 Z=0 61
Detektor sekwencji - przykład Tabela stanów: Stan obecny Stan następny Obecne wyjście Z Nazwa Symbol X=0 X=1 X=1 Start S 0 S 0 S 1 0 Kończące 1 S 1 S 2 S 1 0 Kończące 10 S 2 S 0 S 3 0 Kończące 101 S 3 S 2 S 1 1 Tabela przejść: Stan obecny Stany kodujemy za pomocą dwóch przerzutników A i B. Stan następny A n1 B n1 Obecne wyjście Z Nazwa A n B n X=0 X=1 X=1 Start 00 00 01 0 Kończące 1 01 10 01 0 Kończące 10 10 00 11 0 Kończące 101 11 10 01 1 62
Detektor sekwencji - przykład Stan obecny Stan następny A n1 B n1 Obecne wyjście Z Nazwa A n B n X=0 X=1 X=1 Start 00 00 01 0 Kończące 1 01 10 01 0 Kończące 10 10 00 11 0 Kończące 101 11 10 01 1 AB X 0 1 00 0 0 AB X 0 1 00 0 1 A B 0 1 0 0 0 01 1 0 01 0 1 1 0 1 11 1 0 10 0 1 11 0 1 10 0 1 Z = AB A n1 = X B XAB B n1 = X 63
Detektor sekwencji - przykład Układ Moore a i przebiegi czasowe w nim Wyjście zmienia sie synchronicznie względem sygnału zegarowego 64
Detektor sekwencji - przykład Porównanie przebiegów czasowych Układ Mealy ego Wyjście zmienia się asynchronicznie w stosunku do sygnału zegarowego Układ Moore a Wyjście zmienia sie synchronicznie względem sygnału zegarowego 65
Detektor sekwencji - przykład Porównanie wyników automatycznej syntezy za pomocą programu RTL Compiler Układ Mealy ego Układ Moore a 66
Bramka logiczna Jest to układ elektroniczny realizujący funkcję logiczną, który: Ma charakterystykę przejściową taką jak komparator, Spełnia zasadę odpowiedniości. Zasada odpowiedniości: Poziomy i amplitudy logiczne na wejściu i wyjściu są takie same: Charakterystyka przejściowa bramki idealnej jest funkcją skoku w dół przy progowej dodatniej V p wartości sygnału na wejściu: V OH = V IH, V OL = V IL wartości sygnału na wejściu: umożliwiając łączenie bramek w kaskadę. Różne technologie: RTL DCTL I 2 L DTL Resistor Transistor Logic Direct Coupled transistor Logic Integrated Injection Logic Diode Transistor Logic TTL ( S, L, LS, H, A) Transistor Transistor Logic ( Schottky,...) ECL n(p)mos Emitter Coupled Logic n(p) channel Metal Oxide Semiconductor CMOS Complementary Metal Oxide Semiconductor V OH V OL V out V IL V p V IH V in 67
Parametry bramki logicznej Fan in Fan out V CC V OL V OH V IL V IH Liczba wejściowych końcówek bramki Liczba wejściowych końcówek, która może być sterowana z wyjącia bramki Napięcie zasilania Maksymalne napięcie wyjściowe gdy bramka jest w stanie niskim Minimalne napięcie wyjściowe gdy bramka jest w stanie wysokim Maksymalne napięcie wejściowe gwarantujace poprawna interpretację zera Minimalne napięcie wejściowe gwarantujace poprawna interpretację jedynki NM L NM H t phl Margines szumowy w stanie niskim: V IL V OL Margines szumowy w stanie wysokim: V OH V IH Czas opóźniena propagacji przy przejściu wyjścia z wysokiego na niski (high to low) t plh Czas opóźniena propagacji p przy przejściu wyjścia z niskiego na wysoki (low to high) t plh P PD Zużycie mocy Iloczyn mocy i opóźnienia 68
Technologia TTL i HC CMOS 69
Historia skalowania: Rok Rozmiar λ [m] 1971 8μ 2000 0,18μ 2002 0,13μ 2004 90n 2006 65n 2008 45n Technologia LV CMOS Sześć generacji niskonapięciowych technologii CMOS: 3,3V 0,1mA 25V 2,5V 1mA 1,8V 2mA 1,5V 2mA 1,2V 2mA 1V 2mA 70
Inverter CMOS Logic 1 V dd =1.2V V IHmin =0,625V Logic 0 V ILmax =0,465V V ss =0V Podstawową cechą bramek CMOS jest to, że (zwyjątkiem prądów upływu) nie płynie przez nie prąd (z zasilań V dd i V ss )gdywejścia znajdują się, wktórymś ze stabilnych stanów logicznych. Skutkiem tego rozpraszanie energii występuje tylko w momentach aktywności (przełączania) bramek i jest spowodowane ładowaniem i rozładowywaniem pojemności wyjść bramek C out,wejść barmek C in i ścieżeki k połaczeńł ń C s (wirei segment). 71
Technologia CMOS technologia krzemowa Skalowanie 72
Technologia CMOS 73
Bramka logiczna CMOS B V dd Struktura górna (pull up) Z A Struktura dolna (pull down) V ss Uogólniona bramka logiczna CMOS Bramka logiczna realizująca funkcję nand 74