CAD Metody reprezetacji systemów cyfrowych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/
Układ cyfrowy Układ cyfrowy to układ elektroiczych operujący a sygałach dyskretych ajczęściej (choć ie zawsze) biarych. U C Sygały aalogowe są kowertowae a postać cyfrową w przetworikach A/C poprzez próbkowaie, kwatyzację i kodowaie. Jeśli jest taka koieczość sygały cyfrowe mogą być przekształcoe do postaci aalogowej w przetworikach C/A. 2
Projektowaie układów cyfrowych Układy cyfrowe kostruowae są w różych techologiach i a różych poziomach opisu. Bramki i elemetare układy pamięciowe (przerzutiki) D Clk Przerzutik typu D Q Q Bloki fukcjoale: sumatory, licziki, rejestry s 1 s 2 clock X L (Q) Y s 1 s 2 clock x p X R (Q) Y -1 Z OVR P G x l A B ALU c c 0 Y S Y 3
Sposoby opisu Duże systemy cyfrowe są bardzo złożoe. W czasie procesu projektowaia i wytwarzaia systemu cyfrowego poszczególe zadaia związae z tym procesem mogą wymagać specyficzych iformacji o projektowaym systemie począwszy od specyfikacji systemu a skończywszy a fizyczym rozlokowaiu kompoetów składowych. Te sam system jest ajczęściej opisyway w róży sposób i poddaway aalizie pod różym kątem. Te róże sposoby postrzegaia systemu to: reprezetacja fukcjoala (behavioral view), reprezetacja strukturala (structural view), reprezetacja fizycza (physical view). 4
Reprezetacja fukcjoala Opisuje fukcjoalość (zachowaie) systemu. System jest traktoway jako czara skrzyka bez uwzględieia wewętrzej reprezetacji. Te sposób reprezetacji systemu skupia się a zależości sygałów wyjściowych od sygałów wejściowych, defiiując odpowiedzi systemu a kokrete wartości sygałów wejściowych. Istieje wiele sposobów a podaie charakterystyki wejsciowo-wyjściowej systemu. System cyfrowy iputs if iputs are such the outputs set i this way elseif iputs are other the outputs set i other way outputs? 5
Reprezetacja strukturala Opisuje wewętrzą realizację (strukturę) systemu. Podaa jest dokłada specyfikacji jakie kompoety zostały użyte i jak są ze sobą połączoe W miejszym lub większym stopiu jest to schemat albo diagram systemu. Stosuje się pojęcie etlist do reprezetacji schematu systemu. 6
Reprezetacja fizycza Opisuje fizyczą charakterystykę systemu. Rozszerza o dodatkowe iformacje reprezetację strukturalą. Poday jest fizyczy rozmiar kompoetów, fizycze rozlokowaie elemetów a płytce krzemowej i ścieżek realizujących połączeia. Reprezetacja fizycza dostarcza ajbardziej dokładą iformację o systemie. Jest to ostatecza specyfikacja do wykorzystaia w procesie wytwrzaia. 7
Poziomy abstrakcji Wraz ze wzrostem złożoości systemów cyfrowych (milioy trazystorów) iemożliwym staje się, aby człowiek (a awet komputer) był w staie przetworzyć bezpośredio taką ilość iformacji. Sposobem a to jest opis sytemu a kilku poziomach abstrakcji. Abstrakcja jest po prostu modelem systemu obrazującym jedyie wybrae cechy i igorującym związae z imi detale. Wysoki poziom abstrakcji to skupieie się jedyie a ajbardziej istotej iformacji o systemie. Niski poziom abstrakcji modeluje system z większą precyzją wykorzystując dae pomiięte a wyższych poziomach abstrakcji, jest bardziej złożoy, ale tym samym bliższy rzeczywistości. Wyróżia się cztery poziomy abstrakcji w projektowaiu systemów cyfrowych: poziom trazystorów, poziom bramek, poziom przesłań międzyrejestrowych, poziom procesora. 8
Diagram Y algorytmy operacje przesłań międzyrejestrowych procesor, pamięć, iterfejs we/wy sumator, rejestr, multiplekser rówaia Boolowskie bramki, przerzutiki rówaia różiczkowe trazystory, rezystory, kodesatory rozkład bloków fukcjoalych rozkład trazystorów rozkład modułów IP reprezetacja fizycza rozkład komórek 9
Syteza strukturala Bloki fukcjoale staowią wyposażeie bibliotek komputerowych systemów projektowaia Każdy układ cyfrowy budoway jest z bloków fukcjoalych Bloki fukcjoale tworzą owe elemety kostrukcyje, z których buduje się złożoe układy cyfrowe o różorodych zastosowaiach: układy przetwarzaia sygałów, układy sterowaia, specjalizowae procesory, układy kryptograficze Liczik Mux Rejestr Kostruowaie układu cyfrowego z bloków fukcjoalych: Syteza strukturala układów cyfrowych 10
Blok fukcjoaly X X, (Y) wejścia (wyjścia) sygałów reprezetujących dae wejściowe i wyjściowe S clk BF P S wejścia sterujące, decydujące o rodzaju mikrooperacji wykoywaej przez blok fukcjoaly P wyjścia predykatowe, sygalizujące pewe szczególe stay przetwarzaia daych przez blok fukcjoaly Y clk wejście zegarowe 11
Rodzaje bloków fukcjoalych Bloki fukcjoale Kombiacyje Sekwecyje Pamięci Układy komutacyje Układy arytmetycze Rejestry Licziki RAM ROM Multipleksery Demultipleksery Dekodery Sumator Układ możący Komparator Rówoległe Przesuwające Zliczające w górę Zliczające w dół Z wpisem 12
Bloki komutacyje e e X 0 Y 0 X j Y X Y j X N-1 Y N-1 Multiplekser służy do wybieraia jedego z wielu słów wejściowych i przesyłaia go a wyjście. Na wyjściu Y pojawia się słowo wejściowe wskazae adresem A (wg aturalego kodu biarego). A A Demultiplekser służy do przesyłaia słowa X wejściowego a jedo z wielu wyjść; umer tego wyjścia jest rówy aktualej wartości adresu. 13
Sumatory Sumator podstawowy BF powszechie stosoway w techice cyfrowej A B Ie układy arytmetycze: układy odejmowaia układy możące c układy dzieleia Σ c 0...są budowae z sumatorów Y 14
Najprostszy sumator 0111 1001 0110 A B Najprostsza realizacja: kaskadowy (ripple carry adder) a -1 b -1 a i bi a b 0 0 c C 4 =0 C 4 =1 Σ c 0 c Σ y -1 c -1 c i+1 Σ c i c 1 Σ c 0 y i y 0 Y 1111 0000 Jak jest zbudowae pojedycze ogiwo? 15
Fukcje logicze sumatora c o c a b Σ y y i i+ 1 c a b c c o y 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 = a b c i i i = ab c (a b ) i i 1 0 1 1 1 0 1 1 1 i i i 0 1 1 0 1 0 0 1 c o ab c 00 01 11 10 0 0 1 0 1 1 1 0 1 0 y = cab cab cab cab = c a b c a y = c a b ( b) ab c 00 01 11 10 0 0 0 1 0 1 0 1 1 1 = ab c(a b) = ab c(a b) 16
Reprezetacje liczb Zaczeie liczby biarej Zaczeie N-bitowej liczby biarej zależy całkowicie od jej iterpretacji Istieje potrzeba reprezetacji biarej liczb: całkowitych, aturalych, ułamkowych. Do tego celu wykorzystuje się róże kody 17
Reprezetacje liczb NKB/U2 A = < a 1,..., a j,..., a 0 > gdzie a j {0,1} NKB: ( ) = NKB j= A = L A a 2 D j 1 0 j U2: ( ) = 1 + U2 1 j= A = L A a 2 a 2 D j 2 0 j 18
Kod U2 A U2 = <a 1,..., a j,..., a 0 >, gdzie a j {0,1} ( ) = 1 + U2 1 j= A = L A a 2 a 2 D j Bit a 1 moża iterpretować jako bit zaku. Jeśli a 1 = 0, to liczba jest dodatia; jeśli a 1 = 1 to liczba jest ujema; pozostałe bity staowią uzupełieie (różicę) wartości liczby do ajwyższej potęgi liczby 2 2 0 j <0101> U2 = +5 D <1011> U2 = 5 D Zakres: 2 1 A D 2 1 1 19
Sumator/układ odejmujący Jak z sumatora zbudować układ odejmujący? A B B XOR C o =0 =1 c c 0 Σ Y = A B = A + ( B U2 ) B U2 =B + 1 = B 1 + 1 Y 1 0 + B Dla c 0 = 0 Y = A + B 0 + 0 = A + B Dla c 0 = 0 Y = A + B 1 + 1 = A + ( B) = A B 20
Reprezetacja stałoprzecikowa Arytmetyka stałopozycyja sposób wykoywaia działań arytmetyczych a liczbach przedstawioych tak, że położeie przecika oddzielającego część całkowitą liczby od części ułamkowej jest ustaloe i ie zmieia się w czasie wykoywaia tych działań. Liczba przedstawiaa jest w postaci część_całkowita.część_ułamkowa M.F (magitude.fraqctioal) A U2Fix = <a 1,..., a j,..., a 0. a -1,..., a -k >, gdzie a j {0,1} U2Fix 1 j 0. -1 -k j A Przykład: ( ) 1 A U2Fix = a 1 2 j= D = L a j 2 10010.101 = -1 2 4 +0 2 3 + 0 2 2 + 1 2 1 + 0 2 0 + 1 2-1 + 0 2-2 + 1 2-3 = - 16 + 0 + 0 + 2 + 0 + 0,5 + 0 + 0,125 = -13,375 01010.101 = -0 2 4 +1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 + 1 2-1 + 0 2-2 + 1 2-3 = - 0 + 8 + 0 + 2 + 0 + 0,5 + 0 + 0,125 = 10,625 2 k j 21
Kowersja do formatu stałoprzecikowego Zapisać liczby w formacie 5.3 (5 bity części całkowitej, 3 bity części ułamkowej) 12,456 1. 12,456 2 3 = 12,456 8 = 99,648 2. 99 01100011 3. 01100.011 01100.011 12,381-12,456 1. -12,456 2 3 = -12,456 8 = -99,648 2. - 99 10011101 3. 10011.101 10011.101-12,375 22
Reprezetacja zmieoprzecikowa w stadardzie IEEE Pojedycza precyzja 32 bity S E M wykładik = E 127 wartość = ±1.M 2 E 127 zak 8 bitów wykładika 23 bity matysy Podwója precyzja 64 bity S E M wykładik = E 1023 wartość = ±1.M 2 E 1023 zak 11 bitów wykładika 52 bity matysy 23
Sekwecyje bloki fukcjoale Rejestry Licziki x p X x l X s 1 s 2 clock R (Q) s 1 s 2 clock L (Q) Y Y 24
Przerzutiki R Q D R Q S (a) SR latch Q C S (b) D latch Q D C D C Q Q D C Q Q Q Q D FF C Q Q / D Q / k k FF C Q (c) Master-slave D flip-flop (d) D flip-flop symbol (e) k-bit register 25
Działaia przerzutików Setup time Hold time Setup time Hold time D C D latch: Q D FF: Q 26
Rejestr uiwersaly Y := X Y := Y LOAD HOLD x p X x l s 1 s 2 clock R (Q) Y := SHR(x p, Y) Y := SHL(Y, x l ) Y Y := <0...0> RESET (CLEAR) 27
Liczik uiwersaly LOAD HOLD 1100 COUNT LOAD HOLD COUNT clock Liczik 0010 1101 1110 1111 LOAD Zliczaie 28
Pamięci typu ROM X 0 A X i ROM N m X N-1 m (N = 2 ) Y ROM uiwersaly układ kombiacyjy. Jest zaprogramowaa a pamiętaie N słów m-bitowych 29
Pamięci typu RAM 30
Pamięci typu Dual Port RAM 31