Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.



Podobne dokumenty
Projektowanie. Projektowanie mikroprocesorów

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Automat skończony FSM Finite State Machine

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Laboratorium przedmiotu Technika Cyfrowa

UKŁADY MIKROPROGRAMOWALNE

Architektura komputerów Wykład 2

Sławomir Kulesza. Projektowanie automatów synchronicznych

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Asynchroniczne statyczne układy sekwencyjne

Technika cyfrowa Synteza układów kombinacyjnych (I)

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Technika cyfrowa Synteza układów kombinacyjnych

Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Tranzystor JFET i MOSFET zas. działania

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Cyfrowe układy scalone c.d. funkcje

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

Kurs Zaawansowany S7. Spis treści. Dzień 1

Układy logiczne układy cyfrowe

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Podstawy Informatyki Elementarne podzespoły komputera

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Przykładowe pytania DSP 1

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

LEKCJA TEMAT: Współczesne procesory.

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Technika Cyfrowa 1 wykład 1: kody. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Układy sekwencyjne przerzutniki 2/18. Przerzutnikiem nazywamy elementarny układ sekwencyjny, wyposaŝony w n wejść informacyjnych (x 1.

Układy logiczne układy cyfrowe

Krótkie przypomnienie

Sterowniki Programowalne (SP)

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Rok akademicki: 2030/2031 Kod: EEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy układów mikroelektronicznych

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Metody optymalizacji soft-procesorów NIOS

Programowalne układy logiczne

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawy Programowania

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Układy kombinacyjne. cz.2

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Automatyzacja i robotyzacja procesów produkcyjnych

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Architektura komputerów

Struktura i działanie jednostki centralnej

Układy sekwencyjne. 1. Czas trwania: 6h

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Magistrala systemowa (System Bus)

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów. Grupa ćwiczeniowa: Poniedziałek 8.

Język FBD w systemie Concept

Elektronika i techniki mikroprocesorowe

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

KARTA PRZEDMIOTU. Podstawy elektroniki cyfrowej B6. Fundamentals of digital electronic

Transkrypt:

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]. 1 Projektowanie układ adów w cyfrowych Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna Układy kombinacyjne Projektowanie sekwencyjne Układy pamięciowe Zagadnienia bieŝącego wykładu Uogólniony automat skończony Projektowanie poziomu przesłań rejestrowych Komponenty procesorów 2 1

ŚcieŜka 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: y = 100 i= 1 x i suma = 0 loop: for i = 1 to 100 suma = suma + x i end loop 3 ŚcieŜka 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śćx i 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 4 2

Słowo sterujące, określające wartości sygnałó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 akumulatora 100 dodawanie 1 wyprowadzenie danych Schemat ścieŝki danych 5 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ętowa 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 ścieŝce danych. 6 3

Instrukcje ALU Instrukcje przesuwnika Słowo sterujące Schemat ścieŝki danych 7 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ązanie Słowo danych wprowadzane jest z zewnątrz na wejście ścieŝki danych. Zmienne wykorzystane do opisu algorytmu: Data, Ocount, Mask, Temp. 8 4

1. Data := Inport 2. Ocount := 0 3. Mask := 1 while Data : 0 repeat 4. Temp := Data AND Mask 5. Ocount := Ocount + Temp 6. Data := Data >> 1 -przesuwanie end while 7. Outport := Ocount 9 Implementacja algorytmu: 1. Przypisanie zmiennych do rejestrów 2. 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 s 0 oczekuje na sygnałstart=1 w stanie s 1... s 7 następuje wykonanie algorytmu w stanie s 7 wyprowadzenie wyniku, ustawienie Done=1 i powrót do stanu s 0. Implementacja ośmiu stanów wymaga trzech przerzutników typu D (Q 2, Q 1, Q 0 ) 10 5

Tablica przejść Reprezentacja FSM licznika jedynek 11 Siatka Karnaugh 12 6

Funkcje przejść Tablica logiki wyjściowej 13 Funkcje wyjść 14 7

15 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 State Machine) Konwersja schematu ASM do implementacji z modułem sterującym i ścieŝką danych Optymalizacja implementacji ze względu na koszt i wydajność 16 8

Schemat blokowy modelu projektu cyfrowego 17 Schemat blokowy na poziomie RTL 18 9

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). 19 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. 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. 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. 20 10

Reprezentacja FSM zmodyfikowanego licznika jedynek 21 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 S h: S I O KaŜdy symbol stanu, wejścia oraz wyjścia jest zdefiniowany jako iloczyn wektorowy zmiennych boolowskich. I = A 1 A 2 L A k S = Q 1 Q 2 L Q m O = Y 1 Y 2 L Y n gdzie A k : 1 i k, jest sygnałem wejściowym, Q m : 1 i m, jest wyjściem przerzutnika, a Y n : 1 i n, jest sygnałem wyjściowym. 22 11

Rozszerzenie definicji FSM do FSMD poprzez dodanie zbioru zmiennych, wejść oraz wyjść ścieŝki danych Zbiór zmiennych: V = V 1 V 2 L V q, 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 I C oraz zbiór wejść ścieŝki danych I D : I = I C I D gdzie: I D = B 1 B 2 L B p Zbiór wyjść FSMD moŝna podzielić na zbiór wejść FSM O C oraz zbiór wejść ścieŝki danych O D : O = O C O D gdzie: O D = Z 1 Z 2 L Z r 23 A, Q, Y oznaczają zmienne boolowskie B, 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 24 12

Tablica stanów, wyjść i przypisań zmiennych 25 Tablica State-Action 26 13

Wykresy ASM Nazwa Definicja Przykład blok stanu blok decyzyjny blok warunkowy 27 Zasady specyfikacji FSMD za pomocą ASM 1. 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. 28 14

Wykres ASM licznika jedynek 29 Synteza układu z wykresu ASM zmodyfikowany licznik jedynek Model Moore a Model Mealy ego 30 15

Synteza układu z wykresu ASM zmodyfikowany licznik jedynek 31 Synteza układu z wykresu ASM zmodyfikowany licznik jedynek 32 16

Synteza układu z wykresu ASM zmodyfikowany licznik jedynek 33 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ń). 34 17