Synteza logiczna w projektowaniu& & układów cyfrowych D Z Jak zaprojektować US UO układ wykonawczy? XP F Automat lub mikroprogramowany układ sterujący 1 ZPT Synteza strukturalna& & polegająca na składaniu układu z bloków funkcjonalnych Licznik Rejestr Mux ZPT 2 Przykład syntezy strukturalnej Konwerter kodu binarnego na kod BCD: W kodzie BCD (Binary Coded Decimal) każda cyfra liczby zapisanej w kodzie dziesiętnym jest przedstawiana czterobitową liczbą binarną Np. liczba 489 zostanie zapisana jako wektor binarny z wykorzystaniem 12 bitów (3 4 bity) 4 8 9 BCD 0100 1000 1001 ZPT 3 Konwerter Bin2BCD 27BIN 27BCD 0 d" liczby d" 99 0 BIN/BCD 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 Tradycyjną metodę syntezy strukturalnej skonfrontujemy z nowoczesnymi metodami syntezy logicznej ZPT 4 Zasady konfrontacji Realizacja w strukturze FPGA (Stratix) FPGA FPGA FPGA FPGA EPF10K Jakość realizacji: a) Liczba zajętych komórek LC b) Szybkość maksymalna liczba słów przetwarzanych w ciągu 1 sek. ZPT 5 Synteza strukturalna - metoda +3 Szkic metody: 0 0 0 0 0 0 0 0 27 = 0 0 0 1 1 0 1 1 LDA LDB LB 0 0 0 0 0 0 0 0 LDB e" 5 e" e" e" NIE TAK 8
LDB := LDB LDB := LDB+3 ZPT 6 Realizacja na blokach funkcjonalnych 4 8 8 4 4 LB R3 R2 R1 LOAD1 LK DEC S3 S2 S1 LK = 0 A B 0 1 MUX MUX B A 5 4 4 3 4 US K Ł Ł Ł Ł LOAD2 R4 8 K e" 5 e" e" e" Y = LD ZPT 7 Komputerowe projektowanie& uzyskaną strukturę zapisujemy w języku opisu sprzętu i kompilujemy w systemie Quartus SPECYFIKACJA SIEĆ FUNKCJONALNA LOGICZNA (HDL) SYNTEZA OPTYMALIZACJA FUNKCJONALNA LOGICZNA ODWZOROWANIE OPIS RTL TECHNOLOGICZNE 54 LEs % 33 mln/sek TRANSLACJE FPGA FPGA FPGA FPGA SPECYFIKACJI ZPT 8 Konwerter Bin2BCD na poziomie logicznym Konwerter Bin2BCD na poziomie logicznym .type fr .i 9 .o 8 .p 100 000000000 0000 0000 000000001 0000 0001 AHDL/VHDL 000000010 0000 0010 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 000001101 0001 0011 * * * 001100001 1001 0111 001100010 1001 1000 001100011 1001 1001 .e ZPT Komputerowe projektowanie& SPECYFIKACJA SIEĆ FUNKCJONALNA LOGICZNA (HDL) SYNTEZA OPTYMALIZACJA FUNKCJONALNA LOGICZNA ODWZOROWANIE OPIS RTL TECHNOLOGICZNE 24 LEs % 313 mln/sek TRANSLACJE FPGA FPGA FPGA FPGA SPECYFIKACJI ZPT 10 Specjalizowana procedura dekompozycji TITLE " Decomposed project: bin2bcd "; % Translated from DEMAIN format % % Warsaw University of Technology % # Konwerter % Institute of Telecommunications % bin2bcd SUBDESIGN A ( .type fr in_1, in_2, in_3, in_4 :INPUT; .i 7 in_5, in_6, in_7 :INPUT; .o 8 out_1, out_2, out_3, out_4 :OUTPUT; .p 100 out_5, out_6, out_7, out_8 :OUTPUT; ) 0000000 00000000 VARIABLE g1_1, g1_2, g1_3, g3_1 :LCELL; 0000001 00000001 g2_1, g2_2 :LCELL; BEGIN 0000010 00000010 ---- Level 1 ---- 0000011 00000011 TABLE (in_1, in_2, in_3, in_4) => (g1_1); 0000100 00000100 B"1000" => B"0"; B"0011" => B"0"; 0000101 00000101 ................. B"0001" => B"1"; . . . .......... B"1011" => B"1"; 1011111 10010101 END TABLE; TABLE 1100000 10010110 (in_6, g1_1, g2_1, g2_2) => (out_7); B"0X10" => B"0"; 1100001 10010111 ................. 1100010 10011000 B"1011" => B"1"; END TABLE; 1100011 10011001 END; .e Procedura dekompozycji 13 komórek (!!!)
352 mln/sek ZPT 11 Porównanie realizacji BIN2BCD Liczba elementów logicznych % liczba słów Synteza strukturalna 54 LEs % 33 mln/sek Synteza logiczna: system komercyjny Quartus 24 LEs % 313 mln/sek system specjalizowany 13LEs % 352 mln/sek Procesor AMD Athlon"! 64X2 Dual Core 4200+ 2.2 GHz 9,17 mln/sek Nie zapominajmy o syntezie logicznej w projektowaniu układów cyfrowych ZPT