Technika cyfrowa Paweł Tomaszewicz Gmach Elektroniki Nowowiejska 15/19 pok. 482, tel. 234 7514 Emalia: pawel.tomaszewicz@wit.edu.pl http://tomaszewicz.zpt.tele.pw.edu.pl 1
Organizacja Paweł Tomaszewicz Układy programowalne, język opisu sprzętu, bloki funkcjonalne, przykładowe realizacje, synteza logiczna redukcja argumentów i zastosowanie Programy Quartus i Modelsim miniprojekty i prace domowe 2
Egzamin aboratorium: 40 pkt. Egzamin: 60 pkt. Oceny tradycyjnie wg tabelki 3
iteratura 1. Ashar P., evadas S., Newton A. R.: Sequential logic synthesis, Kluwer Academic 2. Minimization Algorithms for VSI Synthesis, Kluwer Academic Publishers, Boston, 1984. 3. Brown F. M.: Boolean Reasoning. The ogic of Boolean Equation, Kluwer Academic Publishers, 1990. 4. Brzozowski J. A, Seger C-J.: Asynchronous Circuits, Springer Verlag, New York 1995. 5. Brzozowski J., Łuba T.: ecomposition of Boolean Functions Specified by Cubes. Journal of Multiple-Valued ogic Łuba and Soft T.(red.), Computing. Vol. 9, pp. 377 417. Old City Publishing, Inc., Philadelphia 2003. 6. e Micheli G.: Synthesis and Optimization of igital Circuits. McGraw-ill, New York, 1994. RównieŜ tłumaczenie polskie: Synteza i optymalizacja układów cyfrowych. WNT, Warszawa 1998. 7. evadas, S., Ghosh, A., and Keutzer, K. ogic Synthesis. McGraw-ill, New York, 1994. 8. Gajski..: Principles of digital design. Prentice-all International, New jersey 1997. 9. assoun S., Sasao T., Brayton R. (ed.): ogic Synthesis and Verification. Kluwer Academic Publishers, New York 2002. 10. Iman S., Pedram M.: ogic Synthesis for ow Power VSI esign, Kluwer Academic Publishers, 1999. 11. Kamionka-Mikuła., Małysiak., Pochopień B.: Układy cyfrowe. Teoria i przykłady. Wyd. Pracowni Komputerowej Jacka Skalmierskiego. Gliwice 2003. informacji 12. Kania.: Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typu PA. Politechnika Śląska. Zeszyty Naukowe. Nr 1619. Gliwice 2004. 13. Katz R..: Contemporary logic design. The Benjamin/Cummings Publishing Company, Inc., Redwood City, 1994 14. Kohavi Z.: Switching and Finite Automata Theory. Mc-Graw-ill, New York, 1978. 15. Kuźmicz W.: Układy ASIC w polskich realiach. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 8, pp. 457-460, 1995. 16. ala P.K.: Practical digital logic design and testing. Prentice-all, New Jersey 1996. 17. Łuba T.(red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza układów cyfrowych. WKŁ Warszawa 2003. 18. Łuba dr T., Zbierzchowski inŝ. Paweł Tomaszewicz B., Zbysiński P.: Układy reprogramowalne dla potrzeb Instytut telekomunikacji Telekomunikacji cyfrowej. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 5, 2002. Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza układów cyfrowych WKŁ Warszawa 2003 Programowalne układy przetwarzania sygnałów i WKŁ Warszawa 2008 19. Łuba T.: Synteza układów logicznych. WyŜsza Szkoła Informatyki Stosowanej i Zarządzania, Wyd. 2, Warszawa 2001. 20. Łuba T.: Rola i znaczenie syntezy logicznej w technice cyfrowej układów programowalnych. Elektronika, str. 15 19, nr 7-8, 2002. 21. Łuba T., Jasiński K., Zbierzchowski B.: Programowalne układy przetwarzania sygnałów i informacji - technika cyfrowa w multimediach i kryptografii, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, str. 408-418, nr 8-9, 2003. 22. Majewski W., Albicki A.: Algebraiczna teoria automatów. WNT, Warszawa 1980. 23. Mikołajczak B.: Algebraiczna i strukturalna teoria automatów. PWN, Warszawa Łódź 1985. 24. Mulawka J.: Systemy ekspertowe. WNT, Warszawa 1996. 25. Mrózek A., Płonka.: Analiza danych metodą zbiorów przybliŝonych. Zastosowania w ekonomii, medycynie i sterowaniu. Akademicka Oficyna Wydawnicza PJ, Warszawa 1999. 26. McCluskey E. J.: ogic design principles, with emphasis on testable semicustom circuits. Prentice-hall International, Inc., New Jersey 1986. 27. Pawlak Z.:Rough Sets. Theoretical Aspects of Reasoning about ata, Kluwer Academic Publishers, 1999. 28. Roth C..: Fundamentals of ogic esign. West Publ. CO., 1985. 29. Salsic Z., Smailagic A.: igital systems design and prototyping using field programmable logic. Kluwer Academic Publishers, 1997. 30. Sasao T.: Switching Theory for ogic Synthesis, Kluwer Academic Publishers, 1999. 31. Sasao T.: ogic Synthesis and Optimization. Kluwer Academic Publishers,1993. 32. Słowiński R.(ed.): Intelligent ecision Support - andbook of Applications and Advances of the Rough Sets Theory, Kluwer Academic Publishers, ordrecht 1992. 33. Scholl C.: Functional ecomposition with Application to FPGA Synthesis. Kluwer Academic Publisher, Boston 2001. 34. Tyszer J.: Układy cyfrowe. Materiały pomocnicze do wykładów. Wyd. Politechniki Poznańskiej. Poznań 2000. 35. Zieliński C.: Podstawy projektowania układów cyfrowych. PWN, Warszawa 2003. 36. Zbysiński P., Pasierbiński J.: Układy programowalne pierwsze kroki. Wyd. II, Wydawnictwo BTC. Warszawa 2004. 4
Plansze do wykładu http://tomaszewicz.zpt.tele.pw.edu.pl/tec 5
Technika cyfrowa znalazła szczególne zastosowanie w układach cyfrowego przetwarzania sygnałów Zastosowania w telekomunikacji (teleinformatyce) ogromne 6
SP w teleinformatyce Telefonia komórkowa Kompresja Usługi szerokopasmowe obrazów (wideo na Ŝądanie, Kompresja wideokonferencje, sygnałów audio i szybki dostęp do mowy ludzkiej Internetu, e-commers, Rozpoznawanie e-banking, podpis mowy elektroniczny, telepraca, Kryptografia telenauczanie) 7
Rozwój technologii ASIC 40 mln. tranzystorów 10 mln. bramek 8
Rozwój technologii Full Custom Semi custom Układy programowalne układy zamawiane przez uŝytkownika układy projektowane przez uŝytkownika układy programowane przez uŝytkownika (P) 9
Układy programowalne Osiągają pojemność pozwalającą realizować w jednym układzie systemy o złoŝoności odpowiadającej milionom bramek logicznych Układy mające moŝliwość reprogramowania i rekonfiguracji FP Fabryka na biurku SOPC System On Programmable Chip układy programowane przez uŝytkownika (P) ardware escription anguage FP - Field Programmable ogic evice 10
Pakiet cyfrowy z układem programowalnym 11
System laboratoryjny Przykładowy SOPC E2 firmy Terasic http://www.terasic.com.tw/ Altera E2-70 - evelopment and Education Board - US$599 12
System CA Specyfikacja Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne Miliony bramek FPGA 13
Opis graficzny 14
Opis w języku 15
Języki opisu sprzętu Firmowe - A, ABE: stosowane wyłącznie w systemach danej firmy Uniwersalne - V, Verilog: stosowane coraz powszechniej w róŝnych systemach, równolegle z językami firmowymi Na wykładzie i w laboratorium język Verilog 16
Przetwarzanie projektu - kompilator 17
System projektowania Język opisu sprzętu Ograniczenia projektowe Synteza automatyczna Moduł P 18
Rozwój układów MIIONY BRAMEK!!! 19
Konwerter Bin2BC BIN/BC Wejście Wyjście (00011011) BIN (00100111) BC 0 liczby 99 0 liczby 355 20
Jakość projektu... Komórka logiczna We/wy Kanały połączeniowe... określa liczba zajętych komórek, takŝe maks. częstotliwość 21
Synteza strukturalna - najprostsze ujęcie icznik Rejestr B l o k i F u n k c j o n a l n e Najpierw składamy układ z bloków funkcjonalnych Odwzorowanie technologiczne 22
Opis projektu Strukturalnie Zachowawczo (behawioralny) Za pomocą równań (data flow) Ten sam projekt moŝe dawać róŝne realizacje! 23
Sposób opisu a realizacja B[7..0] INPUT r3_v r2_v r1_v CK INPUT IN OA CK OUT A[3..0] IN OA CK OUT B[3..0] B[7..0] OA CK OUT RB[7..0] CK START INPUT INPUT Us_v CK COK START OA STOP k_v CK [3..0] OA STOP OUTPUT OUTPUT COK STOP r4_v STOP] CK QB[3..0] QA[3..0] [7..0] OUTPUT [7..0] 24
Sposób opisu a realizacja SUBESIGN bin2bcd ( lb[7..0], start, zegar ld[7..0], koniec ) VARIABE lda[3..0], ldb[3..0] lb_r[7..0], lk[3..0] ld[7..0], koniec BEGIN EN; : INPUT; : OUTPUT; : FF; : FF; : FF; (lda[], ldb[], lb_r[], lk[]).clk = zegar; (ld[], koniec).clk = zegar; IF start TEN lb_r[] = lb[]; lk[] = 8; ESE IF lk[] > 0 TEN IF ldb[] >= 5 TEN lda[] = (lda[2..0], B"1"); -- bit lb[3] = 1 ldb[] = (ldb[2..0] + 3, lb_r[7]); EN IF; ESE EN IF; ESE lda[] = (lda[2..0], B"0"); -- bit lb[3] = 0 ldb[] = (ldb[2..0], lb_r[7]); EN IF; lb_r[] = (lb_r[6..0], B"0"); -- przesun w lewo lk[] = lk[] - 1; -- zmniejsz lk lda[] = lda[]; ldb[] = ldb[]; ld[] = (lda[], ldb[]); koniec = B"1"; 25
Sposób opisu a realizacja.type fr.i 9.o 8.p 100 000000000 0000 0000 000000001 0000 0001 000000010 0000 0010 A/V 000000011 0000 0011 000000100 0000 0100 000000101 0000 0101 000000110 0000 0110 000000111 0000 0111 000001000 0000 1000 000001001 0000 1001 000001010 0001 0000 000001011 0001 0001 000001100 0001 0010 EMAIN 000001101 0001 0011 * * * 001100001 1001 0111 001100010 1001 1000 001100011 1001 1001.e MAX+PUSII 131komórek EMAIN 13 komórek (!!!) 26
Układy programowalne a ochrona informacji Motorola MC68C16Z1 Micro-controller E P R O M E P R O M Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO 8-bit ata Bus Altera Byte Blaster eader Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO Texas Instrument 9x1024x2 FIFO 16-bit ata Bus 64-bit ata Bus Altera MAX-9320 P Address A0-A15 CE E OV Reset ata Bus 0-15 Xilinx XC4025E FPGA Serial Bit Stream Xilinx Xchecker eader alo alo OSCAR F@*q~ 27
Podstawowe operacje kryptograficzne Podstawienie MnoŜenie Rotacja Permutacja 28
Podstawienie S-box n x m n n-bitowy adres ogika kombinacyjna S x 1 x 2... ROM 2 n słów... y 1 y 2 m x n y m m-bitowe wyjście 29
Schemat blokowy rundy algorytmu ES Runda R E S 1 S 2 S 3 K S 4 S 5 P S 6 S 7 S 8 30
Skrzynki podstawieniowe S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 iczba komórek Maks. opóźnienie 55 74 77 80 68 73 77 81 28,1 31,6 33,5 34,0 28,4 30,4 34,3 31,4 Razem 585 komórek z maksymalnym opóźnieniem 34,3 ns. 31
Skrzynki podstawieniowe S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 iczba komórek 55 74 77 80 68 73 77 81 Maks. opóźnienie 28,1 31,6 33,5 34,0 28,4 30,4 34,3 31,4 iczba komórek Maks. opóźnienie Po dekompozycji 25 20 22 24 25 22 23 23 19,5 17,2 16,7 19,0 19,0 19,4 17,7 17,6 Razem 184 komórki w porównaniu do 585 komórek w realizacji wcześniejszej (ponad trzykrotnie mniej) z maksymalnym opóźnieniem 19,5 ns w porównaniu do 34,3 ns. 32
ŚcieŜka przepływu danych algorytmu ES Altera 709 logic cells P = 28,8 Mz / 16 x 64 bits = 115 Mbit/s Altera + EMAIN 296 logic cells P = 51,5 Mz / 16 x 64 bits = 206 Mbit/s 33
Realizacja układu kryptograficznego Rindael - AES porównanie przepustowości (Mbit/s) dla FEX 10K200 800 752 TSI/TUKE TSI France & Technical Unversity of Košice, Slovakia 700 600 GMU - George Mason Univeristy, USA 500 400 300 451 316 248 MUT Military University of Technology, Poland WUT - Warsaw University of Technology, Poland 200 100 0 TSI/ TUKE GMU MUT WUT 34
Nowe moŝliwości Reprogramowalne układy CP/FPGA + Języki opisu sprzętu MIIONY BRAMEK!!! 35
Technika produktów wirtualnych Układy programowalne oraz języki opisu sprzętu stały się postawą koncepcji produktu wirtualnego - systemu, funkcji lub układu, który nie istnieje w rzeczywistości materialnej, ale potencjalnie na podstawie kodu języka - moŝe być zrealizowany w kaŝdej chwili w programowalnym module logicznym. 36
Firmy i stowarzyszenia projektujące wirtualne układy dla urządzeń reprogramowalnych - ATERA MEGAFUNCTION PARTNERS PROGRAM - XIINX AIANCE CORE - COMMON ICENSE CONSORTIUM - IP CATAYST PROGRAM - EXEMPAR OGIC-VENOR INCENTIVE PROGRAM (VIP) - & R ESIGN-REUSE. - TIAB - insiicon CORPORATION - SIBER CORE TECNOOGIES - IGITA COMMUNICATION TECNOOGIES - ARC CORES - VIRTUA IP GROUP INC. - & R ESIGN-REUSE. - IP SEMICONUCTORS - ACATE TECNOOGY ICENSING W Polsce: - m.in. Evatronix 37
Realizacja produktu wirtualnego W roku 2002 Evatronix S.A. opracowała wirtualny komponent kontroler Ethernet MAC (Media Access Control) 10/100Mbit. Komponent ten został zastosowany w......airbus A380 gdzie pełni rolę podstawowej arterii wymiany danych pomiędzy wszystkimi urządzeniami sterującymi i kontrolnym samolotu A380. 38
Wyzwania i szanse Realizacje róŝnych układów np. kryptograficznych, SP, w strukturach P/FPGA (jako produkty własności intelektualnej), z zastosowaniem nowoczesnych metod syntezy logicznej, a w szczególności Uniwersyteckich Systemów Syntezy ogicznej, to - ze względu na dynamikę rozwoju technologii mikroelektronicznych i metod komputerowej syntezy - szanse przede wszystkim dla aktualnie studiujących! 39
Układy programowalne wyrównują szanse 40