1 UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 483) Wykład dla kierunków: Elektronika, Telekomunikacja
Organizacja Wykład Ćwiczenia F = H(A,G(B)) G P(B): P(A) G P D 2 T. Łuba dr G. Janczyk mgr D. Ojrzeńska –Wójter dr D. Rosołowski dr P. Szotkowski dr A. Wielgus dr B. Zbierzchowski
3 Egzamin... Ćwiczenia 35 pkt. Egzamin 65 pkt.
Literatura 1. Ashar P., Devadas S., Newton A. R.: Sequential logic synthesis, Kluwer Academic 2. Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, Boston, Brown F. M.: Boolean Reasoning. The Logic of Boolean Equation, Kluwer Academic Publishers, Brzozowski J. A, Seger C-J.: Asynchronous Circuits, Springer Verlag, New York Brzozowski J., Łuba T.: Decomposition of Boolean Functions Specified by Cubes. Journal of Multiple-Valued Logic and Soft Computing. Vol. 9, pp. 377–417. Old City Publishing, Inc., Philadelphia De Micheli G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York, Również tłumaczenie polskie: Synteza i optymalizacja układów cyfrowych. WNT, Warszawa Devadas, S., Ghosh, A., and Keutzer, K. Logic Synthesis. McGraw-Hill, New York, Gajski D.D.: Principles of digital design. Prentice-Hall International, New jersey Hassoun S., Sasao T., Brayton R. (ed.): Logic Synthesis and Verification. Kluwer Academic Publishers, New York Iman S., Pedram M.: Logic Synthesis for Low Power VLSI Design, Kluwer Academic Publishers, Kamionka-Mikuła H., Małysiak H., Pochopień B.: Układy cyfrowe. Teoria i przykłady. Wyd. Pracowni Komputerowej Jacka Skalmierskiego. Gliwice Kania D.: Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typu PAL. Politechnika Śląska. Zeszyty Naukowe. Nr Gliwice Katz R. H.: Contemporary logic design. The Benjamin/Cummings Publishing Company, Inc., Redwood City, Kohavi Z.: Switching and Finite Automata Theory. Mc-Graw-Hill, New York, Kuźmicz W.: Układy ASIC w polskich realiach. Przegląd Telekomuni- kacyjny i Wiadomości Telekomunikacyjne, nr 8, pp , Lala P.K.: Practical digital logic design and testing. Prentice-Hall, New Jersey Łuba T.(red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza układów cyfrowych. WKŁ Warszawa Łuba T., Zbierzchowski B., Zbysiński P.: Układy reprogramowalne dla potrzeb telekomunikacji cyfrowej. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 5, Łuba T.: Synteza układów logicznych. Wyższa Szkoła Informatyki Stosowanej i Zarządzania, Wyd. 2, Warszawa Łuba T.: Rola i znaczenie syntezy logicznej w technice cyfrowej układów programowalnych. Elektronika, str. 15 ¸ 19, nr 7-8, Ł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 Wiado- mości Telekomunikacyjne, str , nr 8-9, Majewski W., Albicki A.: Algebraiczna teoria automatów. WNT, Warszawa Mikołajczak B.: Algebraiczna i strukturalna teoria automatów. PWN, Warszawa – Łódź Mulawka J.: Systemy ekspertowe. WNT, Warszawa Mrózek A., Płonka L.: Analiza danych metodą zbiorów przybliżonych. Zastosowania w ekonomii, medycynie i sterowaniu. Akademicka Oficyna Wydawnicza PLJ, Warszawa McCluskey E. J.: Logic design principles, with emphasis on testable semicustom circuits. Prentice-hall International, Inc., New Jersey Pawlak Z.:Rough Sets. Theoretical Aspects of Reasoning about Data, Kluwer Academic Publishers, Roth C. H.: Fundamentals of Logic Design. West Publ. CO., Salsic Z., Smailagic A.: Digital systems design and prototyping using field programmable logic. Kluwer Academic Publishers, Sasao T.: Switching Theory for Logic Synthesis, Kluwer Academic Publishers, Sasao T.: Logic Synthesis and Optimization. Kluwer Academic Publishers, Słowiński R.(ed.): Intelligent Decision Support - Handbook of Applications and Advances of the Rough Sets Theory, Kluwer Academic Publishers, Dordrecht Scholl C.: Functional Decomposition with Application to FPGA Synthesis. Kluwer Academic Publisher, Boston Tyszer J.: Układy cyfrowe. Materiały pomocnicze do wykładów. Wyd. Politechniki Poznańskiej. Poznań Zieliński C.: Podstawy projektowania układów cyfrowych. PWN, Warszawa Zbysiński P., Pasierbiński J.: Układy programowalne – pierwsze kroki. Wyd. II, Wydawnictwo BTC. Warszawa Łuba T., Borowik G.: Synteza logiczna Oficyna Wydawnicza PW 2015 Łuba T., Ojrzeńska-Wójter D. Układy logiczne w zadaniach. PW Warszawa 2011
Literatura
6 Literatura dla najbardziej zainteresowanych
7
8
9
10 Rok 1847 Z układami logicznymi mamy do czynienia od dawna...
11 Już w latach wieku Układ logiczny
12 miliony bramek logicznych…dzisiaj …programowanie połączeń Programowalne moduły logiczne (Programmable Logic Devices) Nowa jakość…
13 Układy programowalne (Programmable Logic Devices) PLD to układy scalone, których właściwości funkcjonalne są definiowane nie przez producenta, lecz przez końcowego użytkownika. Najważniejsza cechą tych układów jest możliwość nadawania im (przez programowanie) określonych przez użytkownika cech funkcjonalnych, w jego laboratorium czy na biurku, a nie w fabryce.
14 PLD Układ kryptograficzny
15 Komputerowe systemy projektowania Ze względu na skomplikowaną budowę struktur programowalnych ich realizacja nie może się odbywać bez…
16 Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne 16 Komputerowe projektowanie…
Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne 17 Komputerowe projektowanie… …aż do zaprogramowania układu! Niestety aktualnie stosowane procedury syntezy logicznej nie są w pełni dostosowane do najnowszych technologii
Przykład – prosty układ kombinacyjny.type fr.i 10.o 1.p e Układ kombinacyjny x 1 x 2 x 3 x 10 UK y 18
Realizacja funkcji F w systemie Quartus QuartusII LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY tl27 IS PORT ( in: IN STD_LOGIC_VECTOR(9 DOWNTO 0); out: OUT STD_LOGIC_VECTOR(0 DOWNTO 0) ); END tl27; ARCHITECTURE tl27_arch OF tl27 IS BEGIN pandor: PROCESS (in) BEGIN CASE in IS WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN OTHERS => out <= "0"; END CASE; END PROCESS pandor; END tl27_arch; 19
Realizacja funkcji F w systemie Quartus QuartusII 23 komórki (Stratix) LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY tl27 IS PORT ( in: IN STD_LOGIC_VECTOR(9 DOWNTO 0); out: OUT STD_LOGIC_VECTOR(0 DOWNTO 0) ); END tl27; ARCHITECTURE tl27_arch OF tl27 IS BEGIN pandor: PROCESS (in) BEGIN CASE in IS WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN OTHERS => out <= "0"; END CASE; END PROCESS pandor; END tl27_arch; 20
LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY tl27 IS PORT ( in: IN STD_LOGIC_VECTOR(9 DOWNTO 0); out: OUT STD_LOGIC_VECTOR(0 DOWNTO 0) ); END tl27; ARCHITECTURE tl27_arch OF tl27 IS BEGIN pandor: PROCESS (in) BEGIN CASE in IS WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "0"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN " " => out <= "1"; WHEN OTHERS => out <= "0"; END CASE; END PROCESS pandor; END tl27_arch; Procedura dekompozycji Ciekawe jak zachowa się Quartus z nową procedurą syntezy logicznej? 2 komórki (Stratix) Dziesięć razy lepiej! 21
22 Skuteczne rozwiązanie tego problemu… Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne Nowe procedury syntezy logicznej Tradycyjne procedury syntezy logicznej …możemy projektować systemy cyfrowe lepiej niż ktokolwiek inny na świecie!
W medycynie do np. diagnozowania pacjentów W medycynie do np. diagnozowania pacjentów W bankach przy podejmowaniu decyzji o przydzieleniu kredytu W bankach przy podejmowaniu decyzji o przydzieleniu kredytu oraz spamu w sieciach telekomunikacyjnych oraz spamu w sieciach telekomunikacyjnych Przy wykrywaniu anomalii Przy wykrywaniu anomalii 23 Metody syntezy logicznej w zadaniach eksploracji danych Eksploracja danych (Data Mining) jest dynamicznie rozwijającą się dziedziną informatyki o szerokich zastosowaniach: w telekomunikacji, medycynie, bankowości…
RSES ROSETTA Biomedical Centre (BMC) Uppsala, Sweden 24
Eksperymenty atributesobjectsRSES/ROSETTABłyskawicareducts trains3310>5 h out of memory<1 sec.689 KAZ min.<1 sec.5574 house sec.2 sec.1 audiology71200>5 h out of memory2 min dermatology35366>5 h out of memory90 min Nie są to systemy doskonałe i metodami syntezy logicznej można je znacznie udoskonalić 25
26 Więcej na ten temat na stronie przedmiotu w katalogu Artykuły i referaty: Łuba T. (et al.): Rola i znaczenie syntezy logicznej w eksploracji danych dla potrzeb telekomunikacji i medycyny. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, Nr. 5, Łuba T., Rawski M., Zbierzchowski B.: Układy logiczne - niewykorzystane szanse techniki cyfrowej dla telekomunikacji i teleinformatyki, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, Nr 8-9, 2008.
27 Podsumowanie Sytuacja ta czyni z Układów logicznych jedną z najciekawszych dziedzin techniki, której opanowanie może być kluczem do sukcesu zawodowego wielu specjalistów elektroniki, inżynierii komputerowej, telekomunikacji, a nawet inżynierii biomedycznej i eksploracji danych.