w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra...

17
1 1 Technika cyfrowa Literatura Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów cyfrowych, WNT, Warszawa 1998. Wykład oparty jest na [1], ale w bardzo przystępnej formie moŜna znaleźć zagadnienia w [2]. 2 Technika cyfrowa Algebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne Synteza logiczna Projektowanie sekwencyjne Bramki logiczne i przerzutniki Układy pamięciowe Projektowanie poziomu przesłań rejestrowych Uogólniony automat skończony Komponenty procesorów Projektowanie uk Projektowanie ukł ad adów cyfrowych w cyfrowych Zagadnienia bieŜącego wykładu

Transcript of w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra...

Page 1: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

1

1

Technika cyfrowa

LiteraturaLiteratura

1. D. Gajski, Principles of Digital Design, Prentice-Hall, 1997

2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003

3. G. de Micheli, Synteza i optymalizacja układów cyfrowych, WNT, Warszawa 1998.

Wykład oparty jest na [1], ale w bardzo przystępnej formie moŜna znaleźć zagadnienia w [2].

2

Technika cyfrowa

AlgebraBoole’a

Automat skończony

System binarny i reprezentacja

danych

Układy kombinacyjne

Synteza logiczna

Projektowanie sekwencyjne

Bramki logiczne i

przerzutniki

Układy pamięciowe

Projektowanie poziomu przesłań

rejestrowych

Uogólniony automat skończony

Komponenty procesorów

Projektowanie ukProjektowanie ukłładadóów cyfrowychw cyfrowych

Zagadnienia bieŜącego wykładu

Page 2: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

2

3

Technika cyfrowa

ŚŚciecieŜŜka danychka danych

Wykorzystanie ścieŜki danych:• standardowe procesory• implementacje ASIC

ŚcieŜka danych słuŜy do tymczasowego przechowywania informacji w połączeniu z układami arytmetycznymi i logicznymi.

Przykład

Operacja sumowania 100 liczb: ∑=

=100

1ixi

y

suma = 0loop:

for i = 1 to 100suma = suma + xi

end loop

4

Technika cyfrowa

ŚŚciecieŜŜka danychka danych

Ciało pętli: • 32-bitowa ścieŜka danych,• akumulator,• ALU.

�Zmienna suma jest przechowywana w akumulatorze,�W kaŜdym takcie zegara nowa wartość xi jest dodawana do zmiennej suma w ALU,

�Nowa wartość suma jest ponownie przechowywana w akumulatorze

Cechy projektowania układów cyfrowych� wartości zmiennych i stałych są przechowywane w rejestrach lub pamięciach,� zmienne i stałe są pobierane z miejsc przechowywania przy narastającym

zboczu sygnału zegarowego,� w układach kombinacyjnych dokonywana jest transformacja (w czasie

pomiędzy dwoma narastającymi zboczami sygnału zegarowego),� wyniki są przechowywane w pamięciach lub rejestrach przy kolejnym zboczu

zegara

Page 3: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

3

5

Technika cyfrowa

Schemat ścieŜki danych

Słowo sterujące, określające wartościsygnałów sterujących selektora, ALU,akumulatora i bufora wyjściowego.

Słowo sterujące definiuje zachowanie ścieŜki danych w kaŜdym takcie zegara.Obliczenie sumy wymaga 102 taktów zegara:1 – zerowanie akumulatora100 – dodawanie1 – wyprowadzenie danych

6

Technika cyfrowa

Przedstawiony przykład – proste operacje arytmetyczne

Projekty złoŜone:• wiele tymczasowych zmiennych,• rozbudowana ścieŜka danych,• bloku rejestrów zamiast pojedynczego akumulatora.

Przykład

Struktura sprzętowaUkład cyfrowy zawierający ścieŜkę danych z trójportowym blokiem rejestrów (8-rejestrowy), ALU, rejestr przesuwny i sterowniki linii (driver).

ŚcieŜka danych jest sterowana 20-bitowym słowem sterującym, wyznaczającym wszystkie operandy źródłowe i przeznaczenia oraz operacje w ścieŜce danych.

Page 4: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

4

7

Technika cyfrowa

Instrukcje przesuwnikaInstrukcje ALU

Schemat ścieŜki danych

Słowo sterujące

8

Technika cyfrowa

Implementacja licznika „jedynek”Układ cyfrowy zawierający ścieŜkę danych z trójportowym blokiem rejestrów (8-rejestrowy), ALU, rejestr przesuwny i sterowniki linii (driver).

ŚcieŜka danych jest sterowana 20-bitowym słowem sterującym, wyznaczającym wszystkie operandy źródłowe i przeznaczenia oraz operacje w ramach ścieŜki danych.

RozwiązanieSłowo danych wprowadzane jest z zewnątrz na wejście ścieŜki danych.

Zmienne wykorzystane do opisu algorytmu:• Data,• Ocount,• Mask,• Temp.

Page 5: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

5

9

Technika cyfrowa

1. Data := Inport2. Ocount := 03. Mask := 1while Data : ≠ 0 repeat

4. Temp := Data AND Mask5. Ocount := Ocount + Temp6. Data := Data >> 1 –-przesuwanie

end while7. Outport := Ocount

10

Technika cyfrowa

Implementacja algorytmu:1. Przypisanie zmiennych do rejestrów2. Wyznaczenie właściwego słowa sterującego

odpowiadającego poszczególnym instrukcjom.

Sterowanie ścieŜką danych wymaga, aby licznik jedynek stanowił odrębny moduł.

Reprezentacja licznika jedynek za pomocą automatu skończenie stanowego:

• układ w stanie s0 oczekuje na sygnał Start=1• w stanie s1 ... s7 następuje wykonanie algorytmu • w stanie s7 – wyprowadzenie wyniku, ustawienie Done=1 i

powrót do stanu s0.

Implementacja ośmiu stanów wymaga trzech przerzutników typu D (Q2, Q1, Q0)

Page 6: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

6

11

Technika cyfrowa

Reprezentacja FSM licznika jedynek

Tablica przejść

12

Technika cyfrowa

Siatka Karnaugh

Page 7: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

7

13

Technika cyfrowa

Funkcje przejść

Tablica logiki wyjściowej

14

Technika cyfrowa

Funkcje wyjść

Page 8: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

8

15

Technika cyfrowa

16

Technika cyfrowa

Układ ASIC lub mikroprocesor:• co najmniej jeden układ sterujący• ścieŜka danych

Synteza RTL -> model FSMD (ang. Finite State Machine with Datapath)

Specyfikacja projektu na poziomie RTL: schematy ASM (ang. Algorithmic StateMachine)

Konwersja schematu ASM do implementacji z modułem sterującym i ścieŜkądanych

Optymalizacja implementacji ze względu na koszt i wydajność

Page 9: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

9

17

Technika cyfrowa

Schemat blokowy modelu projektu cyfrowego

18

Technika cyfrowa

Schemat blokowy na poziomie RTL

Page 10: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

10

19

Technika cyfrowa

Budowa ścieŜki danych:• Moduły przechowywania informacji (rejestry, zbiory rejestrów, pamięci),• Bloki kombinacyjne (ALU, multiplikatory, komparatory).

Funkcje ścieŜki danych:• Pobieranie argumenty z jednostki przechowującej dane i zwraca do niej

rezultaty obliczeń w czasie pojedynczego stanu (odpowiadającemu zwykle jednemu taktowi zegara),

• Wybór operandu źródłowego, operacji oraz operandu przeznaczenia realizowany jest za pomocą jednostki sterującej poprzez ustawienie odpowiednich sygnałów sterujących ścieŜki danych,

• Sygnalizacja przechowywania odpowiednich wartości bądź teŜ spełnienie określonych relacji pomiędzy wartościami.

Moduł sterujący:• sygnały wejściowe (zewnętrzne – sygnał Start i statusu – stan ścieŜki

danych, otrzymywany przez porównanie wartości wybranych zmiennych występujących w ścieŜce danych np. Data=0),

• sygnały wyjściowe (zewnętrzne i sterujące ścieŜki danych – wybór modułu).

20

Technika cyfrowa

Specyfikacja funkcjonalności projektu cyfrowego na przykładzie licznika jedynek: • automat FSM reprezentujący jednostkę sterującą oraz zbiór przypisań

zmiennych reprezentujących przejścia w ścieŜce danych.

Model FSM zawierający instrukcję przypisania w kaŜdym stanie, nazywany modelem FSM ze ścieŜką danych

(datapath) lub inaczej FSMD, słuŜy do kompletnego opisu funkcjonalnego dowolnego projektu cyfrowego.

Przypisanie zmiennych moŜe być wykorzystane do obliczenia nowej wartości zmiennej.W kaŜdym stanie i dla kaŜdego przypisania zmiennych powiązanego z tym stanem, ścieŜka danych wyznacza wartość wyraŜenia z prawej strony przypisania i przekazuje wynik w trakcie kolejnego narastającego zbocza sygnału zegarowego do rejestru, który przechowuje zmienną znajdującą się po lewej stronie przypisania.Wyznaczenie wartości zmiennej odbywa się w pojedynczym stanie, ale nowa wartość zmiennej nie moŜe zostać uŜyta wcześniej niŜ w następnym stanie.

Page 11: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

11

21

Technika cyfrowa

Reprezentacja FSMzmodyfikowanego licznika jedynek

22

Technika cyfrowa

Formalna definicja FSMD rozszerza definicję FSM przez wprowadzenie zbioru zmiennych, wejść oraz wyjść ścieŜki danych, uzupełniając tym samym zbiory stanów, wejść i wyjść FSM.

Dla FSM mamy piątkę:<S, I, O, f, h>

S – zbiór stanów,I – zbiór wejść,O – zbiór wyjść,f – funkcje definiujące stan następny (przejść),h – funkcje definiujące stan wyjść.

f: S × I→ Sh: S × I→ O

KaŜdy symbol stanu, wejścia oraz wyjścia jest zdefiniowany jako iloczyn wektorowy zmiennych boolowskich.

I = A1 × A2 × LLLL × AkS = Q1 × Q2 × LLLL × QmO = Y1 × Y2 × LLLL × Yn

gdzie Ak: 1≤i≤k, jest sygnałem wejściowym, Qm: 1≤i≤m, jest wyjściem przerzutnika, a Yn: 1≤i≤n, jest sygnałem wyjściowym.

Page 12: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

12

23

Technika cyfrowa

Rozszerzenie definicji FSM do FSMD poprzez dodanie zbioru zmiennych, wejść oraz wyjść ścieŜki danych

Zbiór zmiennych:V = V1 × V2 × LLLL × Vq ,

definiuje stan ścieŜki danych poprzez wyspecyfikowanie wartości wszystkich zmiennych w kaŜdym stanie.

Zbiór wejść FSMD moŜna podzielić na zbiór wejść FSM IC oraz zbiór wejść ścieŜki danych ID:

I = IC × IDgdzie:

ID = B1 × B2 × LLLL × Bp

Zbiór wyjść FSMD moŜna podzielić na zbiór wejść FSM OC oraz zbiór wejść ścieŜki danych OD:

O = OC × ODgdzie:

OD = Z1 × Z2 × LLLL × Zr

24

Technika cyfrowa

A, Q, Y oznaczają zmienne boolowskieB, V, Z oznaczają wektory boolowskie reprezentujące w konsekwencji wartości całkowite, zmiennoprzecinkowe oraz znakowe.

Tablica stanów i wyjść FSMD dla licznika jedynek

Page 13: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

13

25

Technika cyfrowa

Tablica stanów, wyjść i przypisań zmiennych

26

Technika cyfrowa

Tablica „State-Action”

Page 14: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

14

27

Technika cyfrowa

Wykresy ASM

blok stanu

blok decyzyjny

blok warunkowy

Nazwa Definicja Przykład

28

Technika cyfrowa

Zasady specyfikacji FSMD za pomocą ASM1. Dla kaŜdego stanu i zestawu warunków stan następny musi być

unikalny.2. KaŜda ścieŜka zdefiniowana przez sieć bloków warunkowych musi

prowadzić do innego stanu.

Page 15: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

15

29

Technika cyfrowa

Wykres ASM licznika jedynek

30

Technika cyfrowa

Synteza układu z wykresu ASM – zmodyfikowany licznik jedynek

Model Moore’a

Model Mealy’ego

Page 16: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

16

31

Technika cyfrowa

Synteza układu z wykresu ASM – zmodyfikowany licznik jedynek

32

Technika cyfrowa

Synteza układu z wykresu ASM – zmodyfikowany licznik jedynek

Page 17: w 06 rtl1 - gdr.geekhood.netgdr.geekhood.net/gdrwpl/heavy/studia/tc_w06_sciezka_danych.pdfAlgebra Boole’a Automat skończony System binarny i reprezentacja danych Układy kombinacyjne

17

33

Technika cyfrowa

Synteza układu z wykresu ASM – zmodyfikowany licznik jedynek

34

Technika cyfrowa

Wybrane techniki optymalizacji ścieŜki danych:

• współdzielenie rejestrów/pamięci (łączenie lub grupowanie

zmiennych),

• współdzielenie modułów funkcjonalnych (łączenie

operatorów),

• współdzielenie magistral (łączenie połączeń).