15.06.2015 Views

Technika cyfrowa

Technika cyfrowa

Technika cyfrowa

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Technika</strong> <strong>cyfrowa</strong><br />

Tadeusz Łuba<br />

Gmach Elektroniki<br />

Nowowiejska 15/19<br />

pok. 472<br />

luba@tele.pw.edu.pl<br />

zpt2.tele.pw.edu.pl


Organizacja<br />

Wykład<br />

Tadeusz Łuba<br />

Laboratorium<br />

dr Paweł Tomaszewicz<br />

dr Grzegorz Borowik


Egzamin...<br />

LAB 40 pkt.<br />

Egzamin 60 pkt<br />

(w tym kolo za 20pkt)<br />

Oceny tradycyjnie


1. Ashar P., Devadas S., Newton A. R.: Sequential logic synthesis,<br />

Kluwer Academic<br />

2. Minimization Algorithms for VLSI Synthesis, Kluwer Academic<br />

Publishers, Boston, 1984.<br />

3. Brown F. M.: Boolean Reasoning. The Logic of Boolean Equation,<br />

Kluwer Academic Publishers, 1990.<br />

4. Brzozowski J. A, Seger C-J.: Asynchronous Circuits, Springer Verlag,<br />

New York 1995.<br />

5. Brzozowski J., Łuba T.: Decomposition of Boolean Functions Specified<br />

by Cubes. Journal of Multiple-Valued Logic and Soft Computing.<br />

Vol. 9, pp. 377–417. Old City Publishing, Inc., Philadelphia 2003.<br />

6. De Micheli G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill,<br />

New York, 1994. Również tłumaczenie polskie: Synteza i optymalizacja<br />

układów cyfrowych. WNT, Warszawa Łuba 1998. T.(red.),<br />

7. Devadas, S., Ghosh, A., and Keutzer, K. Logic Synthesis. McGraw-Hill,<br />

New York, 1994.<br />

8. Gajski D.D.: Principles of digital design.<br />

Zbierzchowski<br />

Prentice-Hall International,<br />

B.:<br />

New jersey 1997.<br />

9. Hassoun S., Sasao T., Brayton R. (ed.): Logic Synthesis and Verification.<br />

Kluwer Academic Publishers, New York 2002.<br />

10. Iman S., Pedram M.: Logic Synthesis for Low Power VLSI Design, Kluwer<br />

Academic Publishers, 1999.<br />

11. Kamionka-Mikuła H., Małysiak H., Pochopień B.: Układy cyfrowe. Teoria<br />

i przykłady. Wyd. Pracowni Komputerowej Jacka Skalmierskiego.<br />

Gliwice 2003.<br />

12. Kania D.: Synteza logiczna przeznaczona dla matrycowych struktur<br />

programowalnych typu PAL. Politechnika Śląska. Zeszyty Naukowe.<br />

Nr 1619. Gliwice 2004.<br />

13. Katz R. H.: Contemporary logic design. The Benjamin/Cummings<br />

Publishing Company, Inc., Redwood City, 1994<br />

14. Kohavi Z.: Switching and Finite Automata Theory. Mc-Graw-Hill,<br />

New York, 1978.<br />

15. Kuźmicz W.: Układy ASIC w polskich realiach. Przegląd Telekomunikacyjny<br />

i Wiadomości Telekomunikacyjne, nr 8, pp. 457-460, 1995.<br />

16. Lala P.K.: Practical digital logic design and testing. Prentice-Hall,<br />

New Jersey 1996.<br />

17. Łuba T.(red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza<br />

układów cyfrowych. WKŁ Warszawa 2003.<br />

18. Łuba T., Zbierzchowski B., Zbysiński P.: Układy reprogramowalne dla<br />

potrzeb telekomunikacji cyfrowej. Przegląd Telekomunikacyjny<br />

i Wiadomości Telekomunikacyjne, nr 5, 2002.<br />

Literatura<br />

Rawski M., Tomaszewicz P.,<br />

Programowalne układy<br />

przetwarzania sygnałów<br />

cyfrowych i informacji<br />

WKŁ Warszawa 2008<br />

19. Łuba T.: Synteza układów logicznych. Wyższa Szkoła Informatyki<br />

Stosowanej i Zarządzania, Wyd. 2, Warszawa 2001.<br />

20. Łuba T.: Rola i znaczenie syntezy logicznej w technice cyfrowej<br />

układów programowalnych. Elektronika, str. 15 ¸ 19, nr 7-8, 2002.<br />

21. Łuba T., Jasiński K., Zbierzchowski B.: Programowalne układy<br />

przetwarzania sygnałów i informacji - technika <strong>cyfrowa</strong><br />

w multimediach i kryptografii, Przegląd Telekomunikacyjny i Wiadomości<br />

Telekomunikacyjne, str. 408-418, nr 8-9, 2003.<br />

22. Majewski W., Albicki A.: Algebraiczna teoria automatów. WNT,<br />

Warszawa 1980.<br />

23. Mikołajczak B.: Algebraiczna i strukturalna teoria automatów. PWN,<br />

Warszawa – Łódź 1985.<br />

24. Mulawka J.: Systemy ekspertowe. WNT, Warszawa 1996.<br />

25. Mrózek A., Płonka L.: Analiza danych metodą zbiorów<br />

przybliżonych. Zastosowania w ekonomii, medycynie i sterowaniu.<br />

Akademicka Oficyna Wydawnicza PLJ, Warszawa 1999.<br />

26. McCluskey E. J.: Logic design principles, with emphasis on testable<br />

semicustom circuits. Prentice-hall International, Inc., New Jersey<br />

1986.<br />

27. Pawlak Z.:Rough Sets. Theoretical Aspects of Reasoning about<br />

Data, Kluwer Academic Publishers, 1999.<br />

28. Roth C. H.: Fundamentals of Logic Design. West Publ. CO., 1985.<br />

29. Salsic Z., Smailagic A.: Digital systems design and prototyping<br />

using field programmable logic. Kluwer Academic Publishers, 1997.<br />

30. Sasao T.: Switching Theory for Logic Synthesis, Kluwer Academic<br />

Publishers, 1999.<br />

31. Sasao T.: Logic Synthesis and Optimization. Kluwer Academic<br />

Publishers,1993.<br />

32. Słowiński R.(ed.): Intelligent Decision Support - Handbook of<br />

Applications and Advances of the Rough Sets Theory, Kluwer<br />

Academic Publishers, Dordrecht 1992.<br />

33. Scholl C.: Functional Decomposition with Application to FPGA<br />

Synthesis. Kluwer Academic Publisher, Boston 2001.<br />

34. Tyszer J.: Układy cyfrowe. Materiały pomocnicze do wykładów.<br />

Wyd. Politechniki Poznańskiej. Poznań 2000.<br />

35. Zieliński C.: Podstawy projektowania układów cyfrowych. PWN,<br />

Warszawa 2003.<br />

36. Zbysiński P., Pasierbiński J.: Układy programowalne – pierwsze<br />

kroki. Wyd. II, Wydawnictwo BTC. Warszawa 2004.<br />

4


Literatura<br />

5


<strong>Technika</strong> <strong>cyfrowa</strong> znalazła<br />

szczególne zastosowanie w układach<br />

cyfrowego przetwarzania informacji i<br />

sygnałów<br />

,89484,3,90031472,9.0<br />

474230<br />

8


. . . Rok 1958 . . .<br />

Jack Kilby z Texas Instruments zbudował pierwszy układ scalony …<br />

… za co otrzymał Nagrodę Nobla z fizyki w 2000.<br />

<br />

Pierwsze układy scalone zawierały mniej niż 20 tranzystorów.<br />

9


. . . 2011<br />

miliony bramek logicznych<br />

ASIC<br />

Nowa jakość…<br />

10


Nową jakością układów scalonych,<br />

o przełomowym znaczeniu dla techniki<br />

cyfrowej jest technologia programowalnych<br />

modułów logicznych, których konstrukcja<br />

jest bardzo prosta z ideowego punktu<br />

widzenia, ale jest to nowa jakość z punktu<br />

widzenia – niemożliwego do tej pory –<br />

programowania połączeń.<br />

11


Programowalne moduły y logiczne<br />

(Programmable Logic Devices)<br />

to układy scalone, których właściwości<br />

funkcjonalne są definiowane nie przez<br />

producenta, lecz przez końcowego<br />

użytkownika. Najważniejsza cechą tych<br />

układów jest możliwość nadawania im (przez<br />

programowanie) określonych przez<br />

użytkownika cech funkcjonalnych, w jego<br />

laboratorium czy na biurku, a nie w fabryce.<br />

PLD<br />

PLD<br />

12


Układy FPGA<br />

(Field Programmable Gate Array)<br />

Configurable Logic Block (CLB)<br />

Logic Element (LE)<br />

DATA IN<br />

LOGI C<br />

VARIABLES<br />

.di<br />

.a<br />

.b<br />

.c<br />

.d<br />

.e<br />

QX<br />

F<br />

CO MB INATIONAL<br />

FUNCTION<br />

G<br />

QY<br />

F<br />

DIN<br />

G<br />

F<br />

DIN<br />

G<br />

0<br />

MUX<br />

1<br />

0<br />

MUX<br />

1<br />

D Q<br />

RD<br />

D Q<br />

QX<br />

F<br />

G<br />

QY<br />

.X<br />

CLB<br />

OUTPUTS<br />

.Y<br />

ENABLE<br />

clk<br />

clk<br />

RESET<br />

.e c<br />

"1" (ENABLE)<br />

.k<br />

.rd<br />

"0 " (I NH IB IT)<br />

RD<br />

(GLOBAL RESET)<br />

Reprogramowania i<br />

rekonfiguracji<br />

13


Układy programowalne wyrównuj<br />

wnują szanse…<br />

14


Układ kryptograficzny<br />

PLD<br />

ASIC<br />

F@*q~<br />

PLD<br />

15


Komputerowe systemy projektowania<br />

Ze względu na skomplikowaną budowę struktur<br />

programowalnych ich realizacja nie może e się odbywać bez…<br />

GAL<br />

PAL<br />

FPGA<br />

FLEX<br />

EPLD<br />

16


Komputerowe projektowanie…<br />

Języki opisu sprzętu<br />

tu…<br />

Specyfikacja HDL<br />

Synteza funkcjonalna<br />

Synteza logiczna<br />

Hardware Description<br />

Language (HDL):<br />

VHDL<br />

VERILOG<br />

SystemC<br />

Odwzorowanie<br />

technologiczne<br />

FPGA<br />

17


Edytor tekstowy<br />

18


Przetwarzanie projektu - kompilator<br />

19


Programowanie<br />

20


Przełomowe znaczenie układów<br />

programowalnych wynika również<br />

z faktu, że otworzyły one drogę do<br />

stosowania nowych, niezwykle<br />

skutecznych procedur syntezy<br />

logicznej<br />

21


Przykład – prosty układ<br />

x 1<br />

x 2<br />

x 3<br />

x 10<br />

kombinacyjny<br />

Układ kombinacyjny<br />

UK<br />

y<br />

.type fr<br />

.i 10<br />

.o 1<br />

.p 25<br />

0010111010 0<br />

1010010100 0<br />

0100011110 0<br />

1011101011 0<br />

1100010011 0<br />

0100010110 0<br />

1110100110 0<br />

0100110000 0<br />

0101000010 0<br />

0111111011 1<br />

0000010100 1<br />

1101110011 1<br />

0100100000 1<br />

0100011111 1<br />

0010000110 1<br />

1111010001 1<br />

1111101001 1<br />

1111111111 1<br />

0010000000 1<br />

1101100111 1<br />

0010001111 1<br />

1111100010 1<br />

1010111101 1<br />

0110000110 1<br />

0100111000 1<br />

.e<br />

22


LIBRARY ieee;<br />

USE ieee.std_logic_1164.ALL;<br />

ENTITY tl27 IS<br />

PORT (<br />

in: IN STD_LOGIC_VECTOR(9<br />

DOWNTO 0);<br />

out: OUT STD_LOGIC_VECTOR(0<br />

DOWNTO 0)<br />

);<br />

END tl27;<br />

Realizacja funkcji F<br />

w systemie Quartus<br />

ARCHITECTURE tl27_arch OF tl27 IS<br />

BEGIN<br />

pandor: PROCESS (in)<br />

BEGIN<br />

CASE in IS<br />

WHEN "0010111010" => out out out out out out out out out out out out out out out out out out out out out out out out out out


LIBRARY ieee;<br />

USE ieee.std_logic_1164.ALL;<br />

ENTITY tl27 IS<br />

PORT (<br />

in: IN STD_LOGIC_VECTOR(9<br />

DOWNTO 0);<br />

out: OUT STD_LOGIC_VECTOR(0<br />

DOWNTO 0)<br />

);<br />

END tl27;<br />

Realizacja funkcji F<br />

w systemie Quartus<br />

ARCHITECTURE tl27_arch OF tl27 IS<br />

BEGIN<br />

pandor: PROCESS (in)<br />

BEGIN<br />

CASE in IS<br />

WHEN "0010111010" => out out out out out out out out out out out out out out out out out out out out out out out out out out


LIBRARY ieee;<br />

USE ieee.std_logic_1164.ALL;<br />

ENTITY tl27 IS<br />

PORT (<br />

in: IN STD_LOGIC_VECTOR(9<br />

DOWNTO 0);<br />

out: OUT STD_LOGIC_VECTOR(0<br />

DOWNTO 0)<br />

);<br />

END tl27;<br />

Ciekawe jak zachowa się<br />

Quartus z nową procedurą<br />

syntezy logicznej?<br />

ARCHITECTURE tl27_arch OF tl27 IS<br />

BEGIN<br />

pandor: PROCESS (in)<br />

BEGIN<br />

CASE in IS<br />

WHEN "0010111010" => out out out out out out out out out out out out out out out out out out out out out out out out out out


Implementacja filtru<br />

FIR<br />

F4<br />

F5<br />

F6<br />

F7<br />

F8<br />

F9<br />

Struktura<br />

sumatorów<br />

Bez dekompozycji<br />

Z dekompozycją<br />

LCs F max [MHz] LCs F max [MHz]<br />

pipel. 288 51.28 264 53.76<br />

comb. 224 25.25 204 26.60<br />

pipel. 642 47.62 530 52.36<br />

comb. 527 21.05 444 22.03<br />

pipel. 808 38.61 632 41.49<br />

comb. 710 19.27 551 19.61<br />

pipel. 680 47.62 560 47.85<br />

comb. 576 20.62 476 20.96<br />

pipel. 1404 42.74 834 48.31<br />

comb. 1314 22.73 746 22.73<br />

pipel 2624 31.25 1672 38.61<br />

comb. 2533 14.47 1564 20.92<br />

∑ 12330 8477<br />

% 100 68


Jaka jest przyczyna tej<br />

niekorzystnej sytuacji?<br />

Poziom RTL<br />

Sieć logiczna<br />

Specyfikacja HDL<br />

Synteza funkcjonalna<br />

niedoskonałość procedur<br />

syntezy logicznej<br />

Synteza logiczna<br />

Odwzorowanie<br />

technologiczne<br />

FPGA<br />

27


Skuteczne rozwiązanie zanie tego<br />

problemu…<br />

Tradycyjne procedury<br />

syntezy logicznej<br />

Specyfikacja HDL<br />

Synteza funkcjonalna<br />

Nowe procedury<br />

syntezy logicznej<br />

Synteza logiczna<br />

Odwzorowanie<br />

technologiczne<br />

FPGA<br />

28


Struktury programowalne FPGA znalazły<br />

ogromne zastosowania w układach<br />

cyfrowego przetwarzania sygnałów<br />

„FPGAs are on the verge of<br />

revolutionizing digital signal processing<br />

in the manner that programmable<br />

digital signal processors (PDSPs) did<br />

nearly two decades ago.”<br />

29


TELEFONIA KOMÓRKOWA<br />

PRZETWARZANIE DŹWID<br />

WIĘKU<br />

RADIOFONIA<br />

I TELEWIZJA<br />

Za pośrednictwem cyfrowego przetwarzania<br />

sygnałów w obszar zastosowań układ<br />

adów<br />

programowalnych rozszerza się na wiele dziedzin<br />

elektroniki, informatyki i telekomunikacji<br />

RADIOOMUNIKACJA<br />

TECHNIKA POMIAROWA<br />

TELEMEDYCYNA<br />

30


Nowe możliwo<br />

liwości<br />

Układy programowalne oraz języki opisu sprzętu stały się<br />

postawą koncepcji produktu wirtualnego - systemu,<br />

funkcji lub układu, który nie istnieje w rzeczywistości<br />

materialnej, ale potencjalnie – na podstawie kodu języka<br />

HDL - może być zrealizowany w każdej chwili w<br />

programowalnym module logicznym.<br />

31


Produkty wirtualne – co to jest?<br />

Struktury programowalne uzyskują fizyczną postać konkretnego<br />

układu cyfrowego dopiero w trakcie zaprogramowania.<br />

Z tej przyczyny układy te określa się mianem wirtualnych, gdyż<br />

do momentu zaprogramowania istnieją tylko jako odpowiednie<br />

pliki na dyskach komputerów (a nawet na kartce papieru).<br />

32


<strong>Technika</strong> produktów w wirtualnych<br />

Rynek własności intelektualnej IP (Intellectual Property)<br />

zawartej w układach zaprojektowanych i oferowanych do<br />

sprzedaży w postaci kodów źródłowych języków HDL.<br />

- ALTERA MEGAFUNCTION<br />

PARTNERS PROGRAM<br />

- XILINX ALLIANCE CORE<br />

- COMMON LICENSE<br />

CONSORTIUM<br />

- IP CATALYST PROGRAM<br />

- EXEMPLAR LOGIC-VENDOR<br />

INCENTIVE PROGRAM (VIP)<br />

- D & R DESIGN-REUSE.<br />

W Polsce: EVATRONIX<br />

-TILAB<br />

- inSILICON CORPORATION<br />

- SIBER CORE TECHNOLOGIES<br />

- DIGITAL COMMUNICATION<br />

TECHNOLOGIES<br />

- ARC CORES<br />

- VIRTUAL IP GROUP INC.<br />

- IP SEMICONDUCTORS<br />

- ALCATEL TECHNOLOGY<br />

LICENSING<br />

33


Evatronix S.A.<br />

Sztuka komputerowego tworzenia<br />

Rola wirtualnych komponentów w projektowaniu<br />

systemów scalonych


Komponenty wirtualne firmy Evatronix<br />

Mikrokontrolery oparte na architekturze 8051<br />

Koprocesory arytmetyczne<br />

Procesory sygnałowe<br />

Kontrolery łączy interfejsowych i sieciowych<br />

Kodery obrazów standardu JPEG2000<br />

35


Komponenty wirtualne firmy Evatronix<br />

W roku 2002 Evatronix S.A. opracowała wirtualny komponent<br />

kontroler Ethernet MAC (Media Access Control) 10/100Mbit.<br />

Komponent ten został zastosowany w...<br />

...airbus A380<br />

gdzie pełni rolę podstawowej arterii wymiany danych pomiędzy wszystkimi<br />

urządzeniami sterującymi i kontrolnym samolotu A380.<br />

36


Podsumowanie<br />

Układy programowalne umożliwiają<br />

budowę systemów cyfrowych łatwo i tanio.<br />

Ich uniwersalność i elastyczność<br />

predestynuje je do wielu zastosowań.<br />

Sytuacja ta czyni z układów<br />

programowalnych jedną z najciekawszych<br />

dziedzin techniki, której opanowanie może<br />

być kluczem do sukcesu zawodowego<br />

wielu specjalistów inżynierii<br />

komputerowej i teleinformatyki.<br />

37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!