Pobierz prezentację
OpublikowałFrydryk Śmigiel Został zmieniony 10 lat temu
1
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
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) BCD
3
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ą zaawansowane procedury syntezy logicznej
4
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
5
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
6
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
7
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
8
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
9
Sieć działań z uwzględnieniem UW
LK = 0 SHL 1, SHL 2, SHL 3, DEC (LK) MUX := 0 MUX := 1 LOAD 4 LOAD 2 LOAD 3 S 1 LOAD 1 CLEAR 2,3 LOAD (LK) K > 5 A0 A1 Synteza układu sterującego! A2 A6 A3 Numeracja stanów wewnętrznych A7 A4 A5
10
Zamiana SD na automat sterujący
Nowe oznaczenia sygnałów predykatowych LK = 0 SHL 1, SHL 2, SHL 3, DEC (LK) MUX := 0 MUX := 1 LOAD 4 LOAD 2 LOAD 3 S 1 LOAD 1 CLEAR 2,3 LOAD (LK) K > 5 A0 A1 A2 A3 A4 A5 A6 A7 A0/Z0 x2 A1/Z1 x1 A2/Z2 A6/Z4 A3/Z3 x1 A7/Z5 A4/Z6 A5/Z7 x0
11
Tablica p-w automatu sterującego
A0/Z0 A1/Z1 A2/Z2 A3/Z3 A4/Z6 A6/Z4 A7/Z5 A5/Z7 x1 x0 x2 x2x1x0 S 000 001 011 010 110 111 101 100 Z A0 Z0 A1 Z1 A2 Z2 A3 Z3 A4 Z6 A5 Z7 A6 Z4 A7 Z5 A0 A1 A2 A2 A3 A6 A3 A4 A7 A2 A5 A0 A3 Tablica p-w wystarcza do realizacji automatu!
12
Opis strukturalny UO US LK LB MUX K
4 8 LK 4 „8” LOAD1 DEC LK = 0 4 LB R3 R2 R1 S3 S2 S1 A B UO LB Y LK = 0 10 US S K 5 MUX 1 „5” „3” 4 K Zrealizowany automat jest Układem Sterującym 4 A B K 5 R4 LOAD2 8 Y = LD
13
Konwerter Bin2BCD Tradycyjną metodę syntezy strukturalnej
1 Tradycyjną metodę syntezy strukturalnej skonfrontujemy z nowoczesnymi metodami syntezy logicznej 13
14
Zasady konfrontacji Realizacja – w strukturze FPGA (Stratix)
EPF10K Jakość realizacji: a) Liczba zajętych komórek LC b) Szybkość – maksymalna liczba słów przetwarzanych w ciągu 1 sek. 14
15
Stosując rutynowe metody…
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 SPECYFIKACJI 15
16
Konwerter Bin2BCD na poziomie logicznym
Wejścia Wyjścia * * * * BIN/BCD 16
17
Komputerowe projektowanie…
SPECYFIKACJA SIEĆ FUNKCJONALNA LOGICZNA (HDL) SYNTEZA OPTYMALIZACJA FUNKCJONALNA LOGICZNA ODWZOROWANIE OPIS RTL TECHNOLOGICZNE 24 LEs ─ 313 mln/sek TRANSLACJE SPECYFIKACJI 17
18
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 18
19
…ale czy warto do tych obliczeń stosować system komercyjny
Konwerter Bin2BCD na poziomie logicznym Wejścia Wyjścia BIN/BCD * * * * …ale czy warto do tych obliczeń stosować system komercyjny ..nie, bo systemy komercyjne nie mają wbudowanych procedur dekompozycji 19
20
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_ :LCELL; BEGIN ---- Level 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 .e Procedura dekompozycji 13 komórek (!!!) 352 mln/sek 20
21
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 GHz – 9,17 mln/sek 21
22
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 GHz – 9,17 mln/sek Nie zapominajmy o syntezie logicznej w projektowaniu układów cyfrowych 22
23
Więcej na ten temat w książce:
23
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.