Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej.

Podobne prezentacje


Prezentacja na temat: "1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej."— Zapis prezentacji:

1 1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej Bydgoszcz 8-09- 2010

2 Najnowsze struktury programowalne FPGA FPGA (Field Programmable Gate Array) Elementy logiczne 256 X 8 256 X 16 128 X 16 128 X 32 Wbudowane bloki pamięci NOWOŚĆ! Elementy logiczne nie są bramkami

3 Struktury programowalne FPGA znalazły ogromne zastosowania w układach cyfrowego przetwarzania sygnałów „FPGAs are on the verge of revolutionizing digital signal processing in the manner that programmable digital signal processors (PDSPs) did nearly two decades ago.”

4 Przełomowe znaczenie układów programowalnych wynika m.in. z faktu, że otworzyły one drogę do stosowania nowych, niezwykle skutecznych procedur syntezy logicznej

5 Przykład – prosty układ kombinacyjny.type fr.i 10.o 1.p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1.e Układ kombinacyjny x 1 x 2 x 3 x 10 UK y

6 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 "0010111010" => out <= "0"; WHEN "1010010100" => out <= "0"; WHEN "0100011110" => out <= "0"; WHEN "1011101011" => out <= "0"; WHEN "1100010011" => out <= "0"; WHEN "0100010110" => out <= "0"; WHEN "1110100110" => out <= "0"; WHEN "0100110000" => out <= "0"; WHEN "0101000010" => out <= "0"; WHEN "0111111011" => out <= "1"; WHEN "0000010100" => out <= "1"; WHEN "1101110011" => out <= "1"; WHEN "0100100000" => out <= "1"; WHEN "0100011111" => out <= "1"; WHEN "0010000110" => out <= "1"; WHEN "1111010001" => out <= "1"; WHEN "1111101001" => out <= "1"; WHEN "1111111111" => out <= "1"; WHEN "0010000000" => out <= "1"; WHEN "1101100111" => out <= "1"; WHEN "0010001111" => out <= "1"; WHEN "1111100010" => out <= "1"; WHEN "1010111101" => out <= "1"; WHEN "0110000110" => out <= "1"; WHEN "0100111000" => out <= "1"; WHEN OTHERS => out <= "0"; END CASE; END PROCESS pandor; END tl27_arch;

7 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 "0010111010" => out <= "0"; WHEN "1010010100" => out <= "0"; WHEN "0100011110" => out <= "0"; WHEN "1011101011" => out <= "0"; WHEN "1100010011" => out <= "0"; WHEN "0100010110" => out <= "0"; WHEN "1110100110" => out <= "0"; WHEN "0100110000" => out <= "0"; WHEN "0101000010" => out <= "0"; WHEN "0111111011" => out <= "1"; WHEN "0000010100" => out <= "1"; WHEN "1101110011" => out <= "1"; WHEN "0100100000" => out <= "1"; WHEN "0100011111" => out <= "1"; WHEN "0010000110" => out <= "1"; WHEN "1111010001" => out <= "1"; WHEN "1111101001" => out <= "1"; WHEN "1111111111" => out <= "1"; WHEN "0010000000" => out <= "1"; WHEN "1101100111" => out <= "1"; WHEN "0010001111" => out <= "1"; WHEN "1111100010" => out <= "1"; WHEN "1010111101" => out <= "1"; WHEN "0110000110" => out <= "1"; WHEN "0100111000" => out <= "1"; WHEN OTHERS => out <= "0"; END CASE; END PROCESS pandor; END tl27_arch;

8 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 "0010111010" => out <= "0"; WHEN "1010010100" => out <= "0"; WHEN "0100011110" => out <= "0"; WHEN "1011101011" => out <= "0"; WHEN "1100010011" => out <= "0"; WHEN "0100010110" => out <= "0"; WHEN "1110100110" => out <= "0"; WHEN "0100110000" => out <= "0"; WHEN "0101000010" => out <= "0"; WHEN "0111111011" => out <= "1"; WHEN "0000010100" => out <= "1"; WHEN "1101110011" => out <= "1"; WHEN "0100100000" => out <= "1"; WHEN "0100011111" => out <= "1"; WHEN "0010000110" => out <= "1"; WHEN "1111010001" => out <= "1"; WHEN "1111101001" => out <= "1"; WHEN "1111111111" => out <= "1"; WHEN "0010000000" => out <= "1"; WHEN "1101100111" => out <= "1"; WHEN "0010001111" => out <= "1"; WHEN "1111100010" => out <= "1"; WHEN "1010111101" => out <= "1"; WHEN "0110000110" => out <= "1"; WHEN "0100111000" => 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)

9 niedoskonałość procedur syntezy logicznej Jaka jest przyczyna tej niekorzystnej sytuacji? Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne Poziom RTL Sieć logiczna

10 10 Skuteczne rozwiązanie tego problemu… Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne Nowe procedury syntezy logicznej Tradycyjne procedury syntezy logicznej

11 Dekompozycja zrównoważona BD wykorzystuje naprzemiennie dekompozycję szeregową i dekompozycję r ó wnoległą F X Y G H X Y X1X1 X2X2 BA X Y1Y1 Y2Y2 X3X3 X4X4 Dekompozycja szeregowa Dekompozycja równoległa

12 12 13. 13.Rawski M., Jóźwiak L., Łuba T.: The Influence of the number of values in Sub- functions on the Effectiveness and efficiency of the Functional decomposition, Proc. of the 25th EUROMICRO Conference, IEEE Computer Society, pp. 86-93, 1999. 14. 14.Rawski M., Jóźwiak L., Łuba T.: Efficient input support selection for Sub-functions in Functional decomposition Based on Information relationship Measures, Proc. of the 25th EUROMICRO Conference, IEEE Computer Society, pp. 94-101, 1999. 15. 15.Nowicka M., Rawski M., Łuba T.: DEMAIN – an Interactive Tool for FPGA-Based Logic Decomposition, Proc. of the 6th International Conference Mixed Design of Integrated Ciruits and Systems, pp. 115–120, Kraków 1999. 16. 16.Nowicka M., Łuba T., Rawski M.: FPGA-Based Decomposition of Boolean Functions. Algorithms and Implementation, Proc. of the 6th International Conference on Advanced Computer Systems, pp. 502–509, Szczecin 1999. 17. 17.Rawski M., Łuba T.: FSM Implementation in Embedded Memory Blocks Using Concept of Decomposition. IFAC Workshop Programmable Devices and Systems, PDS’2001, pp. 301 – 306, Gliwice 2001. 18. 18.Rawski M., Jóźwiak L., Łuba T.: Functional decomposition with an efficient input support selection for sub-functions based on information relationship measures. Journal of Systems Architecture, 47, pp. 137 – 155, Elsevier Science B.V., 2001. 19. 19.Selvaraj H., Rawski M., Łuba T.: FSM Implementation in Embedded Memory Blocks of Programmable Logic Devices Using Functional Decomposition, Proc. International Conference on Information Technology: Coding and Computing, pp. 355-360, Las Vegas, Nevada, USA, April 8-10.2002. 20. 20.Łuba T., Rawski M., Jachna Z.: Functional Decomposition as a Universal Method of Logic Synthesis for Digital Circuits, MIXED Design of Integrated Circuits And Systems, str. 285-290, Wrocław, Poland 20-22 June 2002. 21. 21.Selvaraj H., Rawski M., Sapiecha P., Łuba T.: Functional Decomposition – The Value and Implication for Both Digital Designing and Data Analysis, Fifteenth Int. Conference on Systems Engineering, pp. 414–420, Las Vegas, 2002. 22. 22.Rawski M., Selvaraj H., Łuba T.: An Application of Functional Decomposition in ROM- Based Implementation in FPGA Devices, EUROMICRO Symposium on Digital System Design, pp. 104 – 110. Belek, Turkey 2003 23. 23.Rawski M., Tomaszewicz P., Łuba T.: Logic Synthesis Importance in FPGA-based Designing of Information and Signal Processing Systems, Proceedings of International Conference on Signals and Electronic Systems ICSES'04, pp. 425-428, 13-15 September 2004, Poznań, Poland. 24. 24.Rawski M., Selvaraj H., Morawiecki P.: Efficient Method of Input Variable Partitioning in Functional Decomposition Based on Evolutionary Algorithms, DSD 2004, Proc. Euromicro Symposium on Digital System Design, Architectures, Methods and Tools, IEEE Computer Society, Selvaraj H. (Editor), pp. 136-143, Rennes, France, August 31 - September 3, 2004. 1. 1.Łuba T.: Multi-Level Logic Synthesis Based on Decomposition, Microprocessors and Microsystems, vol. 18, No.8, pp. 429-437, 1994. 2. 2.Łuba T., Selvaraj H., Nowicka M. and Kraśniewski A.: Balanced multilevel decomposition and its applications in FPGA-based synthesis, in Saucier G., Mignotte A. (ed.), Logic and Architecture Synthesis, Chapman&Hall, 1995. 3. 3.Łuba T., Selvaraj H.: A General Approach to Boolean Function Decomposition and its Applications in FPGA-based Synthesis. VLSI Design. Special Issue on Decompositions in VLSI Design, vol. 3, Nos. 3-4, 289-300, 1995. 4. 4.Rawski M., Jóźwiak L., Łuba T.: Functional decomposition with an efficient input support selection for sub-functions based on information relationship measures. Journal of Systems Architecture, 47, pp. 137 – 155, Elsevier Science B.V., 2001. 5. 5.Łuba T., Nowicka M., and Rawski M.: Performance-oriented Synthesis for LUT-based FPGAs, Proc. Mixed Design of Integrated Circuits and Systems, pp. 96-101. Łódź 1996. 6. 6.Rawski M., Nowicka M., Tomaszewicz P. and Łuba T.: Decomposition-based logic synthesis and its application in FPGA-oriented technology mapping, Proc. International Conference on Programmable Devices and Systems, Ostrawa 1996. 7. 7.Selvaraj H., Łuba T., Bignall B., Venkatesan M.: Disjoint Serial Decomposition using Variable Rejection, Proc. IFIP Workshop on Logic and Architecture Synthesis, Grenoble, Dec. 1996. 8. 8.M. Rawski, M. Nowicka, L. Jóźwiak, and T. Łuba: Non-Disjoint Decomposition of Boolean Functions and its Applications in FPGA-oriented Technology Mapping, Proc. of the 23rd EUROMICRO 97, pp. 24 - 30, Budapest 1997. 9. 9.Nowicka M., Łuba T., and Selvaraj H., Multilevel decomposition stra-tegies in decomposition-based algorithms and tools, In Proc. IFIP Wor-kshop on Logic and Architecture Synthesis, pp. 129-136, Grenoble, 1997. 10. 10.Nowicka M., Rawski M., Łuba T.: Non-Disjoint Decomposition Strategy for FPGA-Based on Technology Mapping, Proc. International Conference on Programmable Devices and Systems, s. 159-166, Gliwice, 1998. 11. 11.Selvaraj H., Nowicka M., Łuba T.: Performance Oriented Decomposition Strategies for FPGA Based Technology Mapping, Inter-national Conference VLSI for Signal Processing, Chennai, India 1998. 12. 12.Selvaraj H., Nowicka M., Łuba T.: Non-Disjoint Decomposition Strategy in Decomposition-Based Algorithms and Tools. Proc. International Conference on Computational Intelligence and Multimedia Applications. Eds: Selvaraj H. and Verma B., World Scientific, Singapore 1998. Łuba T., Selvaraj H.: A General Approach to Boolean Function Decomposition and its Applications in FPGA-based Synthesis. VLSI Design. Special Issue on Decompositions in VLSI Design, vol. 3, Nos. 3-4, 289-300, 1995. M. Rawski, L. Jóźwiak, T. Łuba: Functional decomposition with an efficient input support selection for sub-functions based on information relationship measures. Journal of Systems Architecture, 47, pp. 137 – 155, Elsevier Science B.V., 2001 [16] Rawski M., Tomaszewicz P., Falkowski B.J., Łuba T.: Application of Advanced Logic Synthesis in FPGA-based Implementations of Digital Filters, DASIP 2007 - Design & Architectures for Signal and Image Processing, pp. 1-8, Grenoble, France, 27-20 November, 2007. Publikacje n.t. dekompozycji zrównoważonej

13 Jak nowe metody syntezy logicznej wykorzystać do projektowania układów cyfrowego przetwarzania sygnałów?

14 Filtry cyfrowe Register Data in Data out MAC unit Loop algorithm Jedną z częściej stosowanych operacji DSP jest operacja MAC Filtry falkowe Transformaty: DFT, FFT Multiply and Accumulate:

15 Wiele operacji mnożenia i dodawania Mnożenie z akumulacją ]1[]1[...]1[]1[]0[]0[][][, 1 0     NxNcxcxcnxncy N n xc … suma iloczynów: Ustalony współczynnik n-ta próbka Register Data in Data out MAC unit Loop algorithm Operacja MAC

16 X[N-1]●●●X[1]X[0] C[N-1]●●●C[1]C[0] Rejestr przesuwający  +R Układ mnożącyAkumulator Realizacja bezpośrednia …nie jest odpowiednia dla struktur FPGA wygodna dla procesorów sygnałowych Ogólnego przeznaczenia!

17 Arytmetyka rozproszona X B-1 [0]●●●X 1 [0]X 0 [0] X B-1 [1]●●●X 1 [1]X 0 [1] X B-1 [N-1]●●●X 1 [N-1]X 0 [N-1] LUT +R Rejestr przesuwający Logika DA Akumulator Układ kombinacyjny typu LUT Do syntezy DA warto stosować dekompozycję!!!

18 Wyniki eksperymentów dla układów DA filtrów cyfrowych FIR Tablica DA wejścia/wyjścia Komórki LUT DA bez dekompozycji DA z dekompozycją F47/8129 F511/114532 F611/116645 F711/124835 F815/1213664 F919/16279159 ∑586344 %10058 Ponad 40% redukcja zasobów sprzętowych

19 Implementacja DA – co dalej Jaki jest wpływ logiki DA na implementację całego filtru?

20 Implementacja całej struktury filtru FIR Struktura sumatorów Bez dekompozycjiZ dekompozycją LCsF max [MHz]LCsF max [MHz] F4 pipel.28851.2826453.76 comb.22425.2520426.60 F5 pipel.64247.6253052.36 comb.52721.0544422.03 F6 pipel.80838.6163241.49 comb.71019.2755119.61 F7 pipel.68047.6256047.85 comb.57620.6247620.96 F8 pipel.140442.7483448.31 comb.131422.7374622.73 F9 pipel262431.25167238.61 comb.253314.47156420.92 ∑ 123308477 % 10068

21 Najnowsze struktury programowalne FPGA FPGA (Field Programmable Gate Array) Elementy logiczne 256 X 8 256 X 16 128 X 16 128 X 32 Wbudowane bloki pamięci Różnorodność konfiguracji wbudo- wanych pamięci znacznie utrudnia proces syntezy

22 G H X Y X1X1 X2X2 H2H1 X Y1Y1 Y2Y2 X3X3 X4X4 Dekompozycja szeregowa Dekompozycja równoległa Interaktywny tryb pracy dekompozycji zrównoważonej Wygodny do syntezy układów cyfrowych w strukturach FPGA z wbudowanymi pamięciami

23 Filtry Daubechies 9/7 Synteza filtrów falkowych w strukturach FPGA z pamięciami Register Data in Data out MAC unit Filtry falkowe są stosowane w standardzie kompresji obrazów JPEG2000

24 (6,1) (4,2) (7,16) (7,3) (7,4) (4,3) ROM (6,8) ROM (4,2) (4,2) (6,3) (6,3) (4,2) (4,3) (4,2) (4,2) ROM (6,8) (7,4) ROM Dekompozycja układu DA filtru falkowego typu ahp(7,15) (7,8) (4,1) (3,1) (7,7) (5,2) (6,1) (4,2) (4,1) FPGA EMB EMB 2×M512, 14LC

25 Porównanie z systemem Quartus Typ filtra Rząd LCFFROMfmax ahp Quartus72041494xM512159.44 ahp dec72081533xM512160.75 alp Quartus9240182 2xM4K129.75 alp dec92601831xM4K136.20 slp Quartus72081505xM512150.72 slp dec72221512xM512160.41 shp Quartus92361817xM512, 1xM4K133.51 shp dec92461811xM4K139.66

26 FPGA EMB Porównanie całkowitej powierzchni LC ROM Powierzchnia 1 LC Brian Dipert, Counting on Gate Counts? Don't count on it, EDN Magazine, August 3, 1998 Powierzchnia 3 bitów pamięci =

27 FIR Układ DA We/Wy Logic Cells Bez dekompozycjiZ dekompozycją alp9/1689124876 ahp7/1626602160 slp7/1631841690 shp9/1683884834 ∑2314413560 %10058 42% redukcja pow. względem systemu Quartus Porównanie realizacji filtrów falkowych ze względu na powierzchnię

28 Bliżej telekomunikacji Nadajnik OFDM Standardu WiMAX Zastosowanie metod syntezy logicznej do realizacji transformat DFT, FFT Źródło: Pawłowski, M. Matusz, J. Woźniak: WiMAX – nowy standard szerokopasmowych sieci bezprzewodowych (1) i (2). PTiWT, z. 7 i 11, 2005. Ref. plenarny: K. Gierłowski, J. Woźniak, Analiza szerokopasmowych sieci bezprzewodowych…

29 Realizacja 16-punktowej transformaty DFT operującą na 12-bitowych próbkach 1. FFT_LC – algorytm FFT radix-2; realiz a cja wykorzystująca jedynie komórki logiczne 2. FFT_DSP – algorytm FFT radix-2; realizacja wykorzystująca wbudowane moduły DSP 3. DFT_DA – realizacja wykorzystując a koncepcję arytmetyki rozproszonej, dla której można zastosować zaawansowane procedury syntezy logicznej

30 + DA x7[7] x7[7] + DA x6[7] x6[7] DA x4[7] x4[7] + DA x5[7] x5[7] + DA x0[7] x0[7] + DA x1[7] x1[7] DA x3[7] x3[7] + DA x2[7] x2[7] + x[0]x[7] Transformata Fouriera realizowana w strukturze arytmetyki rozproszonej Jakość tej realizacji w ogromnej mierze zależy od jakości implementacji bloków DA

31 Wyniki eksperymentów Wykorzystanie sprzętu Zegar [Mhz] P rzepustowość [Mbit/s] [#LC][#DSP] FFT_LC4723 (14%)–43,51522,12 FFT_DSP1554 (5%)70 (100%)48,93587,16 DFT_DA7222 (22%)–74,36892,32 Uzyskanie największej przepustowości jest możliwe wyłącznie przy zastosowaniu zaawansowanych procedur syntezy logicznej

32 Podsumowanie… Realizacje różnych układów cyfrowego przetwarzania sygnałów i informacji w strukturach programowalnych (jako produkty własności intelektualnej), z zastosowaniem nowoczesnych metod syntezy logicznej, to – ze względu na dynamikę rozwoju technologii – szanse, które w sektorze telekomunikacji w Polsce nie powinny być zlekceważone


Pobierz ppt "1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej."

Podobne prezentacje


Reklamy Google