Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Dodatek 1 Próbkowanie i kwantowanie 2014 Październik 2014 Podstawy y techniki cyrowej: algebra Boole a, postać SOP i POS unkcji logicznej Minimalizacja unkcji logicznych Rozwinięcie Shannona System unkcjonalnie pełny Sekwencjonowanie układów Układ synchroniczny AGH WFiIS Inormatyka Stosowana, I stopień Języki Opisu Sprzętu http://atcat.tj.agh.edu.pl/~skoczen/hdl 1
Świat ze ewnętrzny Urządzenie elektroniczne ADC Kondycjoner Czujnik sygnału S&H Kwantyzer n-bit (Filtr Aktuator Filtr Domena analogowa Domena cyrowa DAC n-bit DSP S&H Sample and Hold Układ próbkujaco-pamietajacy ADC Analog Digital Converter Przetwornik analogowo-cyrowy DAC Digital Analog Converter Przetwornik cyrowo-analogowy DSP Digital Signal Procesing Cyrowe przetwarzanie sygnałów 2
Próbkowanie i Kwantowanie amplitudy Kwa antowanie 111 110 101 100 011 010 001 000 t s = 1 s Próbkowanie sygnału w czasie Układ próbkująco- pamiętający 3
Przetworniki analogowo-cyrowe ADC Trzy metody przetwarzania sygnału analogowego na cyrowy: Z całkowaniem Bezpośrednie Z kolejnym porównaniem Przetworniki cyrowo-analogowe DAC Cztery rodzaje przetworników cyrowo-analogowych DAC: Z napięciowymi źródłami odniesienia: Z siecią rezystorów wagowych Z drabinką rezystorów R-2R Z prądowymi źródłami odniesienia: Z siecią ą rezystorów wagowych Z drabinką rezystorów R-2R 4
Aksjomaty algebry Boole a 1854 George Boole sormuł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 = 0 jeśli 1 Tylko dwie wartości = 1 jeśli 0 = 0 = 1 Element odwrotny = 1 = 0 0 0 = 0 Formalna deinicja 1 1 = 1 1 1 = 1 operacji koniunkcji i 0 0 = 0 0 1 = 1 0 = 0 alternatywy 1 0 = 0 1 = 1 5
Zasada dualności W dowolnej tożsamości algebry Boole a zastępując symbol (OR symbolem (AND i na odwrót oraz zastępując jedynkę 1 zerem 0 i na odwrót otrzymamy również tożsamość. D ( 2 1, 2,... n,,, ' = ( 1,,... n,,, ' 6
Podstawowe własności algebry Boole a 0 = Element 1 = identycznościowy 1 = 1 Element zerowy 0 = 0 = Idempotencja = = 1 Komplementarność = 0 = Inwolucja y = y Przemienność y = y (y z = ( y z Łączność (y z = ( y z (y z = y z Rozdzielność (y z = ( y ( z y = Przekrywanie ( y = y y = Kombinacja (y (y = y z yz = y z Zgoda (y ( z (yz = (y ( z Czynnik yz jest czynnikiem zgody między czynnikami y i z. Jeśli yz=1 to albo y albo z musi także być 1 ponieważ y i z są równe 1, a albo albo jest równe 1. Tak więc czynnik yz jest nadmiarowy i możebyć opuszczony. 7
Prawa de Morgana = i i i i = i i i i Uogólnione prawo de Morgana: ( 2 1, 2,...,, n,, = ( 1,,...,, n,, Uogólnione prawo de Morgana zapisane za pomocą zasady dualności: = D ( 1, 2,..., n ( 1, 2,..., n 8
Funkcja logiczna Funkcja logiczna o n wejściach (argumentach i m wyjściach (wartościach ś jest to odwzorowanie dwóch przestrzeni logicznych: Jeżeli m=1 to unkcja logiczna jest skalarna. 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 : 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. 9
Funkcja logiczna y z F(,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, y, z (, 4, 6 ( = 0 n ( 1, 3, 5, 7 10
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ą unkcję logiczną n zmiennych można jednoznacznie przedstawić w postaci sumy iloczynów pełnych (kanoniczna postać sumy, SOP Sum O Products: ( 1, 2,..., 2 1 i= 0 n = α m n gdzie (i oznacza wartość unkcji ( 1, 2,..., n dla i-tej kombinacji zmiennych. 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. i i α i = (i y z Iloczyny pełne m i 0 0 0 y z m 0 0 0 1 y z m 1 0 1 0 yz m 2 0 1 1 yz m 3 Tabela przedstawia iloczyny pełne dla n=3. 1 0 0 y z m 4 Przyjęto konwencję, w której bezpośredniej 1 0 1 y z m zmiennej odpowiada wartość 1 a zmiennej 5 zanegowanej wartość 0. 1 1 0 yz m 6 1 1 1 y z m 7 11
Przykład - SOP 7 i y z (, y, z = yz 0 0 0 0 0 3 2 1 0 7 0 0 1 0 0,, ( m m m m m z y 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 yz yz z y z y yz m m m m m z y = = ' ' ' ' ' ',, ( 7 6 5 4 2 6 1 1 0 1 7 1 1 1 1 = (2,4,5,6,7,, ( z y Iloczyny pełne, dla których unkcja przyjmuje wartość 1 nazywamy minitermami. Funkcję logiczną można interpetować jak zbiór jej minitermów. Działania na unkcjach logicznych można interpretować jako działania na zbiorach j g y p j minitermów. 12
Przykład - SOP W przestrzeni B 3 unkcję logiczną trzech zmiennych możemy przedstawić w postaci kostki logicznej: (, y, z = (2,4,5,6,7 011 111 001 101 010 110 z y 000 100 13
Funkcja logiczna - POS Dualnie udowodnić można twierdzenie: Dowolną unkcję logiczną n zmiennych można jednoznacznie przedstawić w postaci iloczynu sum pełnych (kanoniczna postać iloczynu, POS Product O Sums: ( 2 n 1 1 1, 2,..., n = ( α i M i i= 0 α i = gdzie (i oznacza wartość unkcji ( 1, 2,..., n dla i-tej kombinacji zmiennych. (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. 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. y z Sumy pełne m i 0 0 0 y z M 0 0 0 1 yz M 1 0 1 0 y z M 2 0 1 1 y z M 3 1 0 0 yz M 4 1 0 1 yz M 5 110 1 X y z Xyz M 6 1 1 1 y z M 7 14
i y z (, y, z = 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 7 (, y, z = 0 (1 M = ( (0 4 M 1 (1 M i= 0 ( α M (1 M 5 i 2 (1 M i = (0 6 M (1 M 3 7 (, y, z = M 0 M 1 M 3 = y z ( y z' ( y' z' 6 1 1 0 1 7 1 1 1 1 (, y, z = (0,1,3 Sumy pełne, dla których unkcja przyjmuje wartość 0 nazywamy matermami. Funkcję logiczna można interpetować jak zbiór jej matermów. Działania na unkcjach logicznych można interpretować jako działania na zbiorach matermów. 15
Przykład i y z (, y, z (, y, z 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 6 1 1 0 1 7 1 1 1 1 = (2,4,5,6,7 (, y, z = ' yz ' y ' z ' y ' z yz ' yz (, y, z = ' yz ' y ' ( z z ' y ( z ' z = ' yz' y' y = ' yz' ( y' y = ' yz' 16
Minimalizacja unkcji logicznych Metody: przekształceń ormalnych tablic Karnaugha Quine a-mccluskeya Przykład dla metody yprzekształceń ormalnych (, y, z = ' yz ' yz' z = = ' y ( z z ' z = ' y 1 z = ' y z 17
Przykład dla metody tablic Karnaugha (1 (2,4,5,6,7 = (, y, z = (0,1,3 yz 00 01 11 10 0 0 0 0 1 1 1 1 1 1 Interpretując tablice w sensie SOP: (, y, z = yz ' ' = ' y' ' z yz 00 01 11 10 0 0 0 0 1 1 1 1 1 1 Interpretując tablice w sensie POS: (, y, z = ( y ( z' 18 ' = ' ( y' z
Przykład dla metody tablic Karnaugha (2 (0,4,6 (, y, z = n (1,3,5,7 yz 00 01 11 10 0 1 1 0 0 1 1 1 1 1 Interpretując tablice w sensie SOP: (, y, z = y' ' = ' y yz 00 01 11 10 0 1 1 0 0 1 1 1 1 1 Interpretując tablice w sensie POS: (, y, z = y' 19 ' = ' y
Przykład dla metody Quine a-mccluskeya ( a, b, c, d = (5,7,8,9,10,11,13,15 i a b c d 0 0 0 0 0 0 Metoda implikantów prostych 1 0 0 0 1 0 Tablica minitermów unkcji uporządkowana według ilości ś ijedynek: 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 1 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0 1 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 1 14 1 1 1 0 0 Dwie 1 Trzy 1 i a b c d 8 1 0 0 0 Jedna 1 5 0 1 0 1 9 1 0 0 1 Jedna 1 10 1 0 1 0 Dwie 1 Dwie 1 Trzy 1 Trzy 1 15 1 1 1 1 1 Cztery 1 Dwie 1 7 0 1 1 1 11 1 0 1 1 Trzy 1 13 1 1 0 1 15 1 1 1 1 Cztery 1 20
Przykład dla metody Quine a-mccluskeya i a b c d 8 1 0 0 0 5 0 1 0 1 9 1 0 0 1 10 1 0 1 0 7 0 1 1 1 11 1 0 1 1 13 1 1 0 1 15 1 1 1 1 Każdąą kombinację z jednej j grupy porównujemy z kominacjami grupy następnej szukając takie, które różnią się tylko jedną pozycją. Powstaje nowa tabela z znakiem - na pozycji rozbieżności: i,j a b c d 8.9 1 0 0-8,10 1 0-0 5,7 0 1-1 5,13-1 1 1 911 9,11 1 0-1 9,13 1-0 1 10,11 1 0 1-7,15-1 1 1 11,15 1-1 1 13,15 1 1-1 21
Przykład dla metody Quine a-mccluskeya Kolejny krok łączenia: i,j a b c d 8.9 1 0 0-8,10 1 0-0 5,7 0 1-1 5,13-1 1 1 911 9,11 1 0-1 9,13 1-0 1 i,j a b c d 8.9,10,11 1 0 - - 5,7,13,15-1 - 1 911131 9,11,13,15 1 - - 1 Kombinacje nie podlegajace dalszemu łączeniu to implikanty proste. 10,11 1 0 1-5 7 8 9 10 11 13 15 7,15-1 1 1 11,15 1-1 1 13,15 1 1-1 8.9,10,11 ab 5,7,13,15 bd 9,11,13,15 ad Funkcja minimalna jest sumą minimalnej liczby wybranych implikantów prostych, ale taką która zawiera wszystkie iloczyny pełne unkcji wyjściowej. ( a, b, c, d = ab' bd 22
Przykład dla metody Quine a-mccluskeya ( a,b,c,d = ( 0, 1, 4, 6, 8, 12, 14 n( 5, 10, 13, 15 Tablica minitermów unkcji przy założeniu, że wszystkie nieokreślone iloczyny pełne należą do minitermów. Uporządkowana według ilości jedynek: i a b c d 0 0 0 0 0 1 0 0 0 1 4 0 1 0 0 8 1 0 0 0 5 0 1 0 1 6 0 1 1 0 10 1 0 1 0 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 Pierwszy krok łączenia: i a b c d 0,1 0 0 0-0,4 0-0 0 0,8-0 0 0 1,5 0-0 1 4,5 0 1 0-4,6 0 1-0 4,12-1 0 0 8,10 1 0-0 812 8,12 1-0 0 5.13-1 0 1 6,14-1 1 0 10,1414 1-1 0 12,13 1 1 0-12,14 1 1-0 13,1515 1 1-1 14,15 1 1 1-23
Przykład dla metody Quine a-mccluskeya i a b c d 0,1 0 0 0-0,4 0-0 0 0,8-0 0 0 1,5 0-0 1 4,5 0 1 0-4,6 0 1-0 4,12-1 0 0 8,10 1 0-0 8,12 1-0 0 5.13-1 0 1 6,14-1 1 0 10,14 1-1 0 12,13 1 1 0-12,14 1 1-0 13,15 1 1-1 14,15 1 1 1 - Drugi krok łączenia: i a b c d 0,1,4,5 0-0 - 0,8,4,12 - - 0 0 4,5,12,13-1 0 - Lista implikantów prostych a c c d b c 4,6,12,14,, - 1-0 b d 8,10,12,14 1 - - 0 a d 12,13,14,15 1 1 - - a b 24
Przykład dla metody Quine a-mccluskeya i a b c d 0,1,4,5 0-0 - ( a,b,c,d = 0,8,4,12 - - 0 0 n( 4,5,12,13-1 0 - ( 0, 1, 4, 6, 8, 12, 14 5, 10, 13, 15 4,6,12,14-1 - 0 8,10,12,14 1 - - 0 12,13,14,15 1 1 - - i 0 1 4 6 8 12 14 Są dwie możliwości: ( a, b, c, d = a' c' bd ' ad ' ( a, b, c, d a' c' bd ' c' d ' 0,1,4,5 a c 0,8,4,12 c d 4,5,12,13 bc 4,6,12,14 bd = 8,10,12,14 ad 8101214 ad 12,13,14,15 ab 25
Implikant ormuły logicznej Formułę nazywamy implikantem ormuły F gdy: ( F = 1 albo F =1 Implikantami ormuły kanonicznej SOP są wszystkie minitermy i ich połączenia. Formułę * nazywamy implikantem prostym ormuły F gdy * jest implikantem ormuły F oraz nie istnieje ormuła * * taka, że * ** ** ( = 1 oraz ( F =1 Dla ormuły: yz yz y z Implikantami są wszystkie trzy występujące w niej minitermy, a implikantami i prostymi są: y, y z. 26
Metoda Quine a-mccluskeya Wyznaczenie zbioru implikantów prostych: Wypisujemy minitermy unkcji czyli kombinacje zer i jedynek argumentów odpowiadające wszystkim iloczynom pełnym ormuły, dla których wartość ormuły jest1 i indeksujemy je ich wartościami dziesiętnymi. Kombinacjej teszeregujemy według ilości występujących y w nich jedynek ormując grupy z n=0, 1, 2,... jedynek. Porównujemy każdą kombinację i-tej grupy z każdą kombinacją grupy i1 poszukując takich par, które różnią się tylko jedną pozycją. Pary takie łączymy w jedną nową kombinację stawiając znak na pozycji gdzie występuje rozbieżność. Kontynuujemy procedurę w kolejnych krokach zwiększając liczbę znaków w kombinacjach. Procedurę kończymy gdy nie ma już możliwości dokonywania dalszych połączeń. Końcowy zestaw kombinacji uzupełniony o te kombinacje, które nie wzięły udziału w procedurze łączenia tworzy zbiór implikantów prostych. Wyznaczenie minimalnego pokrycia: Tworzymy tabelę implikantów prostych: kolumny to minitermy, wiersze to implikanty proste. Wkażdym wierszu znaczymy te kolumny, których minitermy były wykorzystane w procedurze tworzącej ten impliakant prosty. Na podstawie tej tabeli wybieramy minimalny zestaw implikantów prostych, który zpewnia pokrycie wszystkich kolumn tabeli. 27
Minimalizacja unkcji logicznych Optymalizacja py dwupoziomowa: Metody dokładne: Quine a-mccluskeya ESPRESSO-EXACT McBOOLE ESPRESSO-SIGNATURE Metody heurystyczne: MINI RESTO ESPRESSO CAPPUCCINO Optymalizacja wielopoziomowa: Metody dokładne: Metody heurystyczne: MIS BOLD LLS SIS Praktyczne znaczenie mają dziś metody wielopoziomowe, heurystyczne. 28
Rozwinięcie Shannona Każdą ukcję logiczna n zmiennych można rozwinąć względem dowolnej zmiennej i w nastepujący sposób: ( 1,..., i dualnie n = i i i i (,..., ( ( 1 n = i i i i gdzie współczynniki rozwinięcia zwane koaktorami (dopełnieniami algebraicznymi unkcji, są unkcjami n-1 zmiennych powstałymi z unkcji przez zastąpienie zmiennej i odpowiednio wartościami jeden 1 i zero 0 : = ( i = 1 = ( i = 0 Przykład: i i ( a, = a ( a, = a a a a = = ( a a = a = = a ( a a = a a a = Rozwijając unkcje rekurencyjnie dochodzimy do jej postaci SOP (lub dualnie POS. 29
System unkcjonalnie pełny Systemem unkcjonalnie pełnym nazywamy system operatorów (binarnych i unitarnych i stałych (0, 1 taki, że każda unkcja zmiennych 1,..., n może być przedstawiona za pomocą ormuły zbudowanej z tych zmiennych przy użyciu operatorów wchodzących do tego systemu. Przykłady systemów unkcjonlnie pełnych: AND, NOT NAND NOR 30
Sekwencjonowanie układów Trzy sposoby sekwencjonowania: Oparty ma przerzutnikach Dwu-azowy, oparty na przeźroczystych y zatrzaskach Oparty na zatrzaskach impulsowych Wybór metody sekwencjonowania rzutuje na wszystkie azy projektowania od zapisu, poprzez syntezę do weryikacji. Zależy od rodzaju narzędzi (STA, ATG i bibliotek (SCL jakie mamy do dyspozycji. STA ATG SCL Static Timing Analysis Automatic Test Generation Standard Cell Libraries 31
Sekwencjonowanie układów Przerzutniki Dwu-azowe, przeźroczyste zatrzaski Zatrzaski impulsowe 32
Układ synchroniczny Układ synchroniczny charakteryzuje się: jednym 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. 33
Układ synchroniczny zależności czasowe Xwejście Zwyjście Układ kombinacyjny CL K Stan następny Rejestr stanu S n-bitów t cma maksymalny czas propagacji przez układ kombinacyjny t pma - maksymalny czas propagacji od zmiany CLK do zmiany S (rejestr stanu t pma = ma(t phl, t plh t pma t cma maksymalny czas propagacji od zmiany CLK do chwili gdy zmiany rejestru stanu pojawią się na wejściu przerzutników rejestru stanu tc t p ma tclk tsu ma 34
Warunek na czas przygotowania: Zależności czasowe yg t t t clk c ma p ma t su Przykład: Układ sekwencyjny składa się z dwupoziomowego układu kombinacyjnego i rejestru stanów. Czas propagacji przez bramkę 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? t clk 2 15 15 5 = 50 ns clk ma = (t clk -1 = 20 MHz Warunek na czas trzymania: t pma t cma t h Jest złamany gdy wejście inormacyjne zmienia się za wcześnie po aktywnym zboczu zegara. 35
Zależności czasowe CL K zegar X t t y t cmin Wejście układu t cma t su t h D Wejście rejestru stanu t cma 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 t cma t su Zapewnić aby X zmieniało się odpowiednio wcześnie przed zboczem zegara Warunek na hold time: t y t h t cmin Zapewnić aby X nie zmieniało się zbyt szybko po zboczu zegara 36
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. CL K Wejście sterujące Część sterująca CS Sygnały sterujące Sygnalizacja stanu Wejście danych Część danych Automat skończony FSM Sequential machine Rejestry Jednostki arytmetyczne Licznikiiki 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. 37
Układ synchroniczny Sygnał ł sterujący Control Signal CS np. Load i Shit 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 odbywaja sięę natychmiast po zboczu aktywnym y CLK. Wszystkie stany przejściowe i zakłócenia wydarzają się pomiędzy zboczami zegara i nie mają wpływu na działanie układu. 38
Układ synchroniczny asynchroniczny Wady rozwiązania synchronicznego: Rozprowadzanie sygnału zegarowego tak aby docierał wszędzie w tej samej chwili. Maksymalna szybkość jest ograniczona przez najgorszy przypadek opóźnienia najdłuższej ścieżki sygnału. Konieczność ność synchronizacji wejść z zegarem. Układy asynchroniczne: Brak zegara. Problemy z synchronizacją. Specjalne S j l techniki eliminacji i hazardów. 39