System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Podobne dokumenty
Synteza logiczna w projektowaniu

Specyfika projektowania Mariusz Rawski

Rekonfigurowalne systemy scalone

Implementacja algorytmu DES

Projektowanie złożonych układów cyfrowych

Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Bloki funkcjonalne. stanowią wyposażenie bibliotek komputerowych systemów projektowania. Każdy układ cyfrowy składamy z bloków funkcjonalnych ZPT

Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak

Synteza strukturalna

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Synteza strukturalna wyższego poziomu

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Temat 7. Dekodery, enkodery

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Techniki multimedialne

Elektronika (konspekt)

Systemy zapisu liczb.

Arytmetyka binarna - wykład 6

Teoretyczne Podstawy Informatyki

UKŁADY MIKROPROGRAMOWALNE

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Instrukcje sekwencyjne

Kombinacyjne bloki funkcjonalne

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki

Implementacja algorytmu szyfrującego

Sposoby projektowania systemów w cyfrowych

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Układy kombinacyjne 1

KURS Hexcalcul (2) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

L6.1 Systemy liczenia stosowane w informatyce

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Kodowanie liczb całkowitych w systemach komputerowych

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

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

Systemy liczenia. 333= 3*100+3*10+3*1

Wstęp do informatyki- wykład 1

Blok funkcjonalny to specjalizowany układ cyfrowy przystosowany do wykonania jednej lub kilku okrelonych operacji przetwarzania sygnałów binarnych.

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Cyfrowy zapis informacji

1.1. Pozycyjne systemy liczbowe

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Funkcja Boolowska a kombinacyjny blok funkcjonalny

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

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Komputerowe systemy wspomagania projektowania układów cyfrowych

Komputerowe systemy wspomagania projektowania układów cyfrowych

PODSTAWY INFORMATYKI. Informatyka? - definicja

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Synteza strukturalna Mariusz Rawski

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Technologie Informacyjne

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Układy kombinacyjne. cz.2

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

PRZETWORNIKI A/C I C/A.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED

interfejs szeregowy wyświetlaczy do systemów PLC

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

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

SYSTEMY LICZBOWE 275,538 =

Opis procedur asemblera AVR

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

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

WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. Są najprostszymi układami pamięciowymi.

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Układy Cyfrowe laboratorium

Tranzystor JFET i MOSFET zas. działania

CZ1. Optymalizacja funkcji przełączających

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

Układy Logiczne i Cyfrowe

Naturalny kod binarny (NKB)

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Pracownia Komputerowa wykład V

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

(przykład uogólniony)

Układy logiczne układy cyfrowe

Cyfrowe układy scalone

Mikrokontrolery w mechatronice. Wstępne uwagi

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Informatyka kod BCD. PWSZ IT- studia niestacjonarne. Adam Kolany. Instytut Techniczny

9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym

Ćw. 1: Systemy zapisu liczb, minimalizacja funkcji logicznych, konwertery kodów, wyświetlacze.

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Układy mikroprogramowane

Elementy języka VHDL

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

A B. 12. Uprość funkcję F(abc) = (a + a'b + c + c')a

Transkrypt:

System cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z

System cyfrowy - realizacja X Z D Z US UO Z Y X F UO z bloków funkcjonalnych US automat lub (coraz rzadziej stosowany) układ mikroprogramowany Z 2

rzykład syntezy strukturalnej Konwerter kodu binarnego na kod BCD ) : 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 2 bitów (3 4 bity) 4 8 9 ) rzykład ten dokładnie omówiony jest w książce: Z 3

Konwerter Bin2BCD BN/BCD ejście yjście () BN () BCD liczby 99 Z 4

Metoda +3 27 = LDA LDB LB LDB 5 NE AK LDB := LDB LDB := LDB+3 8 Z 5

LDA LDB LB LDB < 5 LDB < 5 2 LDB < 5 3 LDB < 5 4 LDB < 5 5 LDB < 5 6 LDB 5 + 7 LDB < 5 8 LD BCD = 2 7 = 27 Z 6

Algorytm konwersji z kodu BN na BCD SAR LOAD (LB) LDA := LDB := LK := 8 LDB 5 AK NE LDB := LDB + 3 LDA 5 AK NE LDA := LDA + 3 LDA := SHL(LDA,LDB 3 ) LDB := SHL(LDB,LB 7 ) LB := SHL(LB) LK := DEC(LK) Z NE LK = AK LD := LDA LDB KONEC 7

Opis strukturalny 4 4 8 LB 8 4 R3 R2 R A S3 S2 S B LK LK = LOAD DEC MUX 3 Σ 4 K 5 MUX A B 4 4 S US LK = K 5 LB UO Y K 5 8 R4 Y = LD LOAD2 Z 8

Sieć działań z uwzględnieniem UO S A A Synteza układu sterującego! LOAD CLEAR 2,3 LOAD (LK) MUX := K > 5 A 2 A 6 A 3 LOAD 2 Numeracja stanów wewnętrznych MUX := K > 5 A 7 A 4 LOAD 3 SHL, SHL 2, SHL 3, DEC (LK) LK = A 5 LOAD 4 Z 9

S LOAD CLEAR 2,3 LOAD (LK) MUX := Zamiana SD na automat sterujący A A A 2 x 2 A /Z A /Z x 2 Nowe oznaczenia sygnałów predykatowych K > 5 A 6 A 3 MUX := LOAD 2 A 2 /Z 2 x A 6 /Z 4 K > 5 A 7 x A 4 LOAD 3 A 3 /Z 3 x A 7 /Z 5 Z SHL, SHL 2, SHL 3, DEC (LK) LK = A 5 LOAD 4 x A 4 /Z 6 x x A 5 /Z 7

ablica p-w automatu sterującego A /Z x 2 x 2 S x 2 x x Z A /Z A 2 /Z 2 A 3 /Z 3 x x x x A 6 /Z 4 A 7 /Z 5 A A A A A A A A A Z A A 2 A 2 A 2 A 2 A 2 A 2 A 2 A 2 Z A 2 A 3 A 3 A 6 A 6 A 6 A6 A 3 A 3 Z 2 A 3 A 4 A 4 A Z 4 3 A 4 A 2 A 5 A 2 Z 6 A 5 A A A Z 7 A 6 A 3 A 3 A 3 Z 4 A 7 A 4 A 4 A 7 A 5 A A 3 A 4 A 7 A 2 A A 3 A 4 A 7 A 2 A A 3 A 4 A 7 A 5 A A 3 A 4 A 4 A 5 A A 3 A 4 A 4 Z 5 x A 4 /Z 6 x A 5 /Z 7 ablica p-w wystarcza do realizacji automatu! Z

Opis strukturalny 4 4 8 LB 8 4 R3 R2 R A S3 S2 S B LK LK = LOAD DEC MUX MUX S LB 3 Σ 4 K 5 US LK = K 5 UO Y A B 4 4 K 5 Z 8 R4 Y = LD LOAD2 Zrealizowany automat jest Układem Sterującym 2

a jak jest w rzeczywistości uzyskaną strukturę zapisujemy w języku opisu sprzętu i kompilujemy LB[7..] NU r3_v r2_v r_v N OU N OU LB[7..] OU CK NU LOAD CK DA[3..] LOAD CK DB[3..] LOAD CK RB[7..] CLK SAR NU NU Us_v CLK CLOK SAR LOAD SO Lk_v CK L[3..] LOAD SO OUU OUU CLOK SO r4_v SO] CLK LD[7..] LD[7..] QDB[3..] QDA[3..] OUU Z 3

Realizacja wg języka VHDL (raport systemu MAX+LUS) ** DEVCE SUMMARY ** Chip/ nput Output Bidir Memory Memory LCs OF Device ins ins ins Bits % Utilized LCs % Utilized bin2bcd EFK2RC24-3 9 % 72 6 % User ins: 9 Z 4

Można inaczej: Bin2BCD specyfikacja behawioralna w języku AHDL Z SUBDESGN bin2bcd ( lb[7..], start, zegar ) VARABLE BEGN END; ld[7..], koniec lda[3..], ldb[3..] lb_r[7..], lk[3..] ld[7..], koniec : NU; : OUU; : DFF; : DFF; : DFF; (lda[], ldb[], lb_r[], lk[]).clk = zegar; (ld[], koniec).clk = zegar; F start HEN lb_r[] = lb[]; lk[] = 8; ELSE F lk[] > HEN F ldb[] >= 5 HEN lda[] = (lda[2..], B""); -- bit lb[3] = ldb[] = (ldb[2..] + 3, lb_r[7]); ELSE lda[] = (lda[2..], B""); -- bit lb[3] = ldb[] = (ldb[2..], lb_r[7]); END F; lb_r[] = (lb_r[6..], B""); -- przesun w lewo lk[] = lk[] - ; -- zmniejsz lk ELSE lda[] = lda[]; ldb[] = ldb[]; ld[] = (lda[], ldb[]); koniec = B""; END F; END F; 5

Opis behawioralny (raport systemu) ** DEVCE SUMMARY ** Chip/ nput Output Bidir Memory Memory LCs OF Device ins ins ins Bits % Utilized LCs % Utilized bin2bcd EFK2RC24-3 9 % 4 3 % User ins: 9 ynik otrzymujemy po 8 taktach zegara więc jedna liczba konwertowana jest w około 27 ns, czyli szybkość konwersji wynosi 7,8 mln liczb na sekundę Z 6

Opis behawioralny (symulacja) LDA LDB LB + Z 7

Opis behawioralny... Spisuje się doskonale, ale czy rzeczywiście jest to zawsze najlepsza metoda syntezy. Są podobno doskonałe procedury syntezy logicznej, np. Espresso Z 8

.type fr.i 9.o 8.p * * *.e Konwerter Bin2BCD BCD na poziomie logicznym AHDL/VHDL MAX+LUS??? komórek Z 9

ablica prawdy bin2bcd Rozwiązanie bardzo szybkie gdyby nie ta ogromna ilość zasobów potrzebnych do realizacji Chip/ nput Output Bidir Memory Memory LCs OF Device ins ins ins Bits % Utilized LCs % Utilized binbcd99 EKC- 7 8 % 3 28 % User ins: 7 8 Z 2

A jak sobie poradzą z tym konwerterem najnowsze algorytmy dekompozycji Z 2

ablica prawdy bin2bcd # Konwerter bin2bcd.type fr.i 7.o 8.p.......e Demain + ans2hdl LE " Decomposed project: bin2bcd "; % ranslated from DEMAN format % % arsaw University of echnology % % nstitute of elecommunications % SUBDESGN A ( in_, in_2, in_3, in_4 :NU; in_5, in_6, in_7 :NU; out_, out_2, out_3, out_4 :OUU; out_5, out_6, out_7, out_8 ) VARABLE g_, g_2, g_3, g3_ :OUU; :LCELL; :LCELL; g2_, g2_2 BEGN ---- Level ---- ABLE (in_, in_2, in_3, in_4) => (g_); B"" => B""; B"" => B"";... B"" => B""; B"" => B""; END ABLE; ABLE (in_6, g_, g2_, g2_2) => (out_7); B"X" => B"";... B"" => B""; END ABLE; END; Z 22

Realizacja Bin2bcd wg Demaina in_ in_2 in_3 in_4 in_ in_2 in_3 in_4 in_5 in_7 g_ g_2 g_3 in_6 g2_ g2_2 out_ out_2 out_4 out_5 out_6 out_7 out_3 out_8 Z 23

Bin2bcd wg Demaina i MAX+LUS Rozwiązanie jeszcze lepsze i mało komórek Chip/ nput Output Bidir Memory Memory LCs OF Device ins ins ins Bits % Utilized LCs % Utilized binbcd99 EKC- 7 8 % 3 2 % User ins: 7 8 Z 24

.type fr.i 9.o 8.p * * *.e Konwerter Bin2BCD BCD na poziomie logicznym AHDL/VHDL MAX+LUS 3komórek DEMAN DEMAN 3 komórek (!!!) Z 25