Synteza logiczna w projektowaniu układów cyfrowych

Slides:



Advertisements
Podobne prezentacje
VHDL Today, Verilog HDL is an accepted IEEE standard. In 1995, the original standard IEEE was approved. IEEE is the latest Verilog.
Advertisements

REALIZACJA REGULATORA PID W UKŁADZIE FPGA
Układy kombinacyjne Technika cyfrowa.
Inżynieria Systemów Programowalnych Część I
JĘZYK VHDL Geneza: komputerowa symulacja układu cyfrowego, Departament Obrony USA opis skomplikowanego systemu w postaci schematu jest nieczytelny, szybkie.
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Architektura systemów komputerowych
UKŁADY ARYTMETYCZNE.
PROGRAMOWANIE STRUKTURALNE
Michał Łasiński Paweł Witkowski
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
1 1 Więcej Load i Store Dwie dodatkowe instrukcje komunikujące się z pamięcią lb oraz sb – operują na bajtach Taki sam format jak lw i sw –lb $s2, 3($s1)
Procesor.
Przygotował Przemysław Zieliński
Podstawowe składniki funkcjonalne procesora i ich rola.
Projektowanie cyfrowych systemów w oparciu o układy (VLSI i) PLD
Najczęściej popełniane błędy w VHDL’u
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Wstęp do FPGA Krzysztof Pisaniec
KOMPONENTY TYPU SLAVE Orkiszewski Marcin
Zapis informacji Dr Anna Kwiatkowska.
1 Projektowanie systemów komputerowych System informatyczny (SI) System oprogramowania (software) Program1 Program2 ProgramN... Platforma sprzętowa (hardware)
1 Projektowanie systemów komputerowych System informatyczny (SI) System oprogramowania (software) Program1 Program2 ProgramN... Platforma sprzętowa (hardware)
Elektronika cyfrowa i mikroprocesory
Kod Graya.
Automatyczne testowanie w układach FPGA
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Układy kombinacyjne cz.2
TECHNIKA CYFROWA Transkodery.
opracowanie: Agata Idczak
Podstawy układów logicznych
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Funkcje logiczne i ich realizacja. Algebra Boole’a
Synteza logiczna w projektowaniu układów cyfrowych
Cyfrowe układy logiczne
Sekwencyjne bloki funkcjonalne
Przykład syntezy strukturalnej
Systemy liczbowe.
Synteza logiczna w projektowaniu…
Podstawy Techniki Cyfrowej
Złożone układy kombinacyjne
KARTY DŹWIĘKOWE.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Procesor, pamięć, przerwania, WE/WY, …
OPTYMALIZACJA DZIAŁANIA PROGRAMU. 1. OPTYMALIZACJA Optymalizacja to sposób wyznaczania najlepszego rozwiązania. W programowaniu komputerowym są sposoby.
Zasady arytmetyki dwójkowej
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
Programowalne układy cyfrowe, czyli fabryka na Twoim biurku
Układy logiczne – układy cyfrowe
ZPT Evatronix Kontroler Ethernet MAC (Media Access Control) 10/100Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Sumator i półsumator.
Elementy cyfrowe i układy logiczne
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Układy logiczne – układy cyfrowe
Aktualne problemy syntezy logicznej
Tadeusz Łuba Faculty of Electronics and Information Technology
Wstęp do Informatyki - Wykład 6
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Synteza logiczna w projektowaniu układów cyfrowych (Wpływ syntezy logicznej na jakość realizacji układów cyfrowych) System cyfrowy XZ D Z UW – z bloków funkcjonalnych US UW US – automat lub układ mikroprogramowany XP ZY F

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

Celem jest pokazanie różnych metod projektowania Konwerter Bin2BCD 1 27BIN 27BCD 1 0  liczby  99 BIN/BCD Celem jest pokazanie różnych metod projektowania i wykazanie, że najlepszą realizację uzyskamy stosując zaawansowane procedury syntezy logicznej

Metoda +3 27 = 1 1 1 1 LDA LDB LB LDB  5 NIE TAK  8 LDB := LDB 27 = 1 1 1 1 LDA LDB LB LDB  5 NIE TAK  8 LDB := LDB LDB := LDB+3

LDA LDB LB LDB < 5 1 1 LDB < 5 2 1 LDB < 5 3 1 LDB < 5 4 1 LDB < 5 1 5 1 1 1 LDB < 5 1 1 6 1 1 LDB  5 1 1 1 1 7 + 1 1 1 1 LDB < 5 1 1 1 8 1 1 1 1 1 LDBCD = 1 1 1 1 = 27 2 7

Algorytm konwersji z kodu BIN na BCD START LOAD (LB) LDA := 0 LDB := 0 LK := 8 Liczba konwertowana zapisana jest w postaci binarnej LDB  5 TAK Przekształcenie polega na wykonaniu określonej liczby prostych operacji LDB := LDB + 3 NIE LDA  5 TAK Wykorzystuje proste operacje na liczbach binarnych: przesunięcie w lewo, zwiększenie o 3, porównanie ze stałą. NIE LDA := LDA + 3 LDA := SHL(LDA,LDB3) LDB := SHL(LDB,LB7) LB := SHL(LB) LK := DEC(LK) NIE LK = 0 TAK LD := LDA  LDB KONIEC

Algorytm konwersji Rejestry LB, LDA, LDB z operacjami: KONIEC LOAD (LB) LDA := 0 LDB := 0 LK := 8 LDB  5 LDB := LDB + 3 LDA := LDA + 3 LDA  5 START LDA := SHL(LDA,LDB7) LDB := SHL(LDB,LB7) LB := SHL(LB) LK := DEC(LK) LD := LDA  LDB LK = 0 NIE TAK Rejestry LB, LDA, LDB z operacjami: zeruj wpisz, przesuń. Licznik LK z operacjami: ustaw, zmniejsz o 1. Sumator Komparator

Opis strukturalny UW US LK LB MUX  K R4 R3 R2 R1 A B LB Y LK = 0 10 S 8 LK 4 „8” LOAD1 DEC LK = 0 4 LB R3 R2 R1 S3 S2 S1 A B MUX 1 UW LB Y LK = 0 10 US S K  5 „5” „3” 4  K 4 A B K  5 R4 LOAD2 8 Y = LD

Stosując rutynowe metody… uzyskaną strukturę zapisujemy w języku opisu sprzętu i kompilujemy w systemie Quartus SPECYFIKACJA FUNKCJONALNA (HDL) SYNTEZA OPIS RTL TRANSLACJE SPECYFIKACJI SIEĆ LOGICZNA OPTYMALIZACJA ODWZOROWANIE TECHNOLOGICZNE 54 LEs ─ 33 mln/sek 9

Konwerter Bin2BCD Tradycyjną metodę syntezy strukturalnej 1 Tradycyjną metodę syntezy strukturalnej skonfrontujemy z nowoczesnymi metodami syntezy logicznej 10

Konwerter Bin2BCD na poziomie logicznym Wejścia Wyjścia 0 00000000 0000 0000 1 00000001 0000 0001 2 00000010 0000 0010 3 00000011 0000 0011 4 00000100 0000 0100 5 00000101 0000 0101 6 00000110 0000 0110 7 00000111 0000 0111 8 00001000 0000 1000 * * * * 97 01100001 1001 0111 98 01100010 1001 1000 99 01100011 1001 1001 BIN/BCD 11

Komputerowe projektowanie… SPECYFIKACJA FUNKCJONALNA (HDL) SYNTEZA OPIS RTL TRANSLACJE SPECYFIKACJI SIEĆ LOGICZNA OPTYMALIZACJA ODWZOROWANIE TECHNOLOGICZNE 24 LEs ─ 313 mln/sek 12

Odwzorowanie technologiczne Specjalistyczne oprogramowanie Mając świadomość, że metody syntezy logicznej są niedoskonałe System komercyjny Specyfikacja HDL Synteza funkcjonalna Synteza logiczna Odwzorowanie technologiczne Specjalistyczne oprogramowanie akademickie nowocześnie wykształcony inżynier 13

Specjalizowana procedura dekompozycji TITLE " Decomposed project: bin2bcd "; % Translated from DEMAIN format % % Warsaw University of Technology % % Institute of Telecommunications % SUBDESIGN A ( in_1, in_2, in_3, in_4 :INPUT; in_5, in_6, in_7 :INPUT; out_1, out_2, out_3, out_4 :OUTPUT; out_5, out_6, out_7, out_8 :OUTPUT; ) VARIABLE g1_1, g1_2, g1_3, g3_1 :LCELL; g2_1, g2_2 :LCELL; BEGIN ---- Level 1 ---- TABLE (in_1, in_2, in_3, in_4) => (g1_1); B"1000" => B"0"; B"0011" => B"0"; ................. B"0001" => B"1"; B"1011" => B"1"; END TABLE; (in_6, g1_1, g2_1, g2_2) => (out_7); B"0X10" => B"0"; END; # Konwerter bin2bcd .type fr .i 7 .o 8 .p 100 0000000 00000000 0000001 00000001 0000010 00000010 0000011 00000011 0000100 00000100 0000101 00000101 . . . .......... 1011111 10010101 1100000 10010110 1100001 10010111 1100010 10011000 1100011 10011001 .e Procedura dekompozycji  13 komórek (!!!) 352 mln/sek 14

Realizacja programowa KONIEC LOAD (LB) LDA := 0 LDB := 0 LK := 8 LDB  5 LDB := LDB + 3 LDA := LDA + 3 LDA  5 START LDA := SHL(LDA,LDB3) LDB := SHL(LDB,LB7) LB := SHL(LB) LK := DEC(LK) LD := LDA  LDB NIE TAK LK = 0 Procesor AMD Athlon™ 64X2 Dual Core 4200+ 2.2 GHz – 9,17 mln/sek 15

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 – 13 LEs ─ 352 mln/sek Procesor AMD Athlon™ 64X2 Dual Core 4200+ 2.2 GHz – 9,17 mln/sek 16

Więcej na ten temat w książce: 17

zastępuje się układem kombinacyjnym lub pamięcią ROM Filtr f5 w technice DA .type fr .i 11 .o 11 .p 2048 00000000000 00000000000 00000000001 00000000011 00000000010 00000000000 00000000011 00000000011 00000000100 11111100111 00000000101 11111101010 00000000110 11111100111 00000000111 11111101010 00000001000 00000000000 00000001001 00000000011 00000001010 00000000000 00000001011 00000000011 00000001100 11111100111 00000001101 11111101010 00000001110 11111100111 00000001111 11111101010 ....................... 11111110010 01000010110 11111110011 01000011001 11111110100 00111111101 11111110101 01000000000 11111110110 00111111101 11111110111 01000000000 11111111000 01000010110 11111111001 01000011001 11111111010 01000010110 11111111011 01000011001 11111111100 00111111101 11111111101 01000000000 11111111110 00111111101 11111111111 01000000000 . .type fr .i 7 .o 11 .p 128 0000000 00000000000 0000001 00000000011 0000010 11111100111 0000011 11111101010 0000100 00010010110 0000101 00010011001 0000110 00001111101 0000111 00010000000 0001000 00100000000 0001001 00100000011 0001010 00011100111 0001011 00011101010 0001100 00110010110 0001101 00110011001 0001110 00101111101 0001111 00110000000 ................... 1110010 00001100111 1110011 00001101010 1110100 00100010110 1110101 00100011001 1110110 00011111101 1110111 00100000000 1111000 00110000000 1111001 00110000011 1111010 00101100111 1111011 00101101010 1111100 01000010110 1111101 01000011001 1111110 00111111101 1111111 01000000000 . Układ mnożenia zastępuje się układem kombinacyjnym lub pamięcią ROM R e j s t r y ROM + R .type fr .i 11 .o 11 .p 2048 .type fr .i 7 .o 11 .p 128 18

Synteza programem Vivado 2015.4.2 Dla układu Virtex-7 Bez redukcji Synteza programem Vivado 2015.4.2 Dla układu Virtex-7 19

Dla układu Virtex-7 (xc7vx330tffg1157-2) Po redukcji Synteza programem Vivado 2015.4.2 Dla układu Virtex-7 (xc7vx330tffg1157-2) 20

Realizacje układu AR filtru f5 Bez redukcji argumentów Z redukcją argumentów System and chip LE pcs Vivado 2015.4.2 Virtex-7 (xc7vx330tffg1157-2) LUT6 LUT5 LUT4 LUT3 LUT2 MUXF7 MUXF8 330 86 49 34 32 5 1 9 Altera Quartus II Stratix V (5SEE9H40I2) ALUT7 ALUT6 ALUT5 ALUT4 ALUT3 62 294 2675 1022 1677 140 160 65 61 PrecisionRTL Synthesis 2015.1.6 VIRTEX-7 (7VX330TFFG1157) LUT 1915 (total) Nie zapominajmy o syntezie logicznej w projektowaniu układów cyfrowych 21