Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Relevanta dokument
Digital- och datorteknik

DIGITALA TAL OCH BOOLESK ALGEBRA

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Digital elektronik CL0090

Grundläggande Datorteknik Digital- och datorteknik

F2 Binära tal EDA070 Datorer och datoranvändning

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

F2 Datarepresentation talbaser, dataformat och teckenkodning

Tentamen i Datakunskap NT

Digitala system EDI610 Elektro- och informationsteknik

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

Mattias Wiggberg Collaboration

Det finns en hemsida. Adressen är

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digital- och datorteknik

Programmering Grundkurs (HI1900) Teoridel

Digital- och datorteknik

Styrteknik: Binära tal, talsystem och koder D3:1

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Referensguide för streckkoder

IE1205 Digital Design: F6 : Digital aritmetik 2

2-14 Binära talsystemet-fördjupning Namn:

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

Digital- och datorteknik

Översikt, kursinnehåll

Datorsystemteknik DVG A03 Föreläsning 3

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Assemblerprogrammeringsuppgifter för FLIS-processorn

Datorsystem. Övningshäfte. Senast uppdaterad: 22 oktober 2012 Version 1.0d

Digital Aritmetik Unsigned Integers Signed Integers"

Digital- och datorteknik

D0013E Introduktion till Digitalteknik

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Tenta i Digitalteknik

F5 Introduktion till digitalteknik

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Analog till Digitalomvandling

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

IE1204 Digital Design

Digital- och datorteknik

Digital- och datorteknik

Tentamen i Digital Design

Tentamen i IE1204/5 Digital Design måndagen den 15/

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

Binär addition papper och penna metod

Kapitel Beräkningar med binära, oktala, decimala och hexadecimala tal

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Tenta i Digitalteknik

Analog till Digitalomvandling

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

Tenta i Digitalteknik

Digital Design IE1204

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Maskinorienterad programmering

Tentamensskrivning 11 januari 2016

DATORTEKNIK. Laboration D280 - D285. För Basic Stamp II

DIGITALTEKNIK. Laboration D172

TENTAMEN(Nu anpassad till FLIS- processorn)

Digitalteknik. Talsystem Grindlogik Koder Booles algebra Tillämpningar Karnaughdiagram. A.Lövdahl

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digital- och datorteknik

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Digital- och datorteknik

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

Laboration i digitalteknik Introduktion till digitalteknik

Talrepresentation. Heltal, positiva heltal (eng. integers)

Tentamen i Digitalteknik TSEA22

Övningar och datorlaborationer, Datorer i system

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Elektronik. Dataomvandlare

Laboration Kombinatoriska kretsar

Elektronik Dataomvandlare

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Simulering med ModelSim En kort introduktion

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

HF0010. Introduktionskurs i datateknik 1,5 hp

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

F5 Introduktion till digitalteknik

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen. Datorteknik Y, TSEA28

Transkript:

Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform: Tentamen + laborationer Kursansvarig: Bengt Oelmann Övningsassistent: Bengt Oelmann Laborationshandledare: Bengt Oelmann Elektroteknik A 10p Mikrodatorteknik Digitalteknik 3p Digitalkretskonstruktion 7p Digital kretskonstruktion I och II med VHDL 3p Integrerad kretskonstruktion Analog elektronik 1 ( 2 0 ) 2 ( 2 0 ) Motivation och målsättning för kurserna i digital elektronik Digitalteknik, 3p - Ge grundläggande kunskaper som bas för kommande konstruktionskurser Switching algebra, formell analysteknik för digitala kretsar Procedurer för att ta fram och manipulera kombinatoriska nät Procedurer för att ta fram sekvensnät F1: Introduktion Innehåll: - Representation av data i digitala system - Grundläggande funktioner i digitala system Digitalkonstruktion I, 3p - Konstruktionskurs med moderna konstruktionsmetoder Grundläggande byggblock i digitala system Hårdvarubskrivande språk (VHDL) för simulering och syntes Digitalkonstruktion II, - Konstruktionskurs med inriktning på integrerad kretskonstruktion Implementationstekniker (full-custom, standard cell, programmerbara kretsar) analys och optimering av prestanda av IC Konstruktionsmetoder och verktyg 3 ( 2 0 ) 4 ( 2 0 )

Vad är ett digitalt system? Binära tal En binär siffra kan anta värdena 0 och 1 (en bit) insignal Kodare Digitalt system för databehandling Avkodare utsignal En binär variabel kan anta värdena 0 och 1 Exempel: definiera den binära variabeln A av en bit Följande tilldelningar är tillåtna: A = 0 och A = 1 binär representation av insignalen Ett digitalt system är ett elektroniskt nät som behandlar information genom att göra beräkningar och operationer på enbart tal - Ett digitalt system använder sig av det binära talsystemet binär representation av utsignalen - Ett digitalt system måste hantera följande: Översätta information från den "riktiga världen" till ett binärt format (kodning) Utföra beräkningar och operationer på binära tal Returnera ett svar tillbaks till den "riktiga världen" (avkodning) Ett binärt tal kan vara sammansatt av en grupp av bitar Exempel: definiera den binära variabeln B av 3 bitar B = b 2 b 1 b 0 B kan anta ett av 8 olika värden. B = 000, 001, 010, 011, 100, 101, 110, 111 en variabel av n-bitar (där n är ett heltal >0) kan anta 2 n olika värden 5 ( 2 0 ) 6 ( 2 0 ) Talsystem och digitala koder Digitala system är byggda av kretsar som endast hanterar binära siffror, 0 och 1. Verkliga problem som digital system ska hantera är sällan baserade på binära siffror. Digitalkonstruktören måste finna samband mellan binära siffror i kretsen och värden som finns i verkligheten - numeriska data (mätdata som t.ex. temperatur) - händelser (indikera att en tangent är nedtryckt) - tillstånd (telefonlinjen är upptagen) - villkor (talet a är större än talet b) Positionsbaserade talsystem 1: decimalt heltal D = 4374 = 4 10 3 + 3 10 2 +7 10 1 +4 10 0 (d 3 d 2 d 1 d 0 ) = 4374; r = 10; p = 4; n = 0 2: decimalt tal med decimalpunkt D = 0.454 = 0 10 0 + 4 10-1 +5 10-2 +4 10-3 (d 3 d 2 d 1 d 0 ) = 0454; r = 10; p = 1; n = 3 d p-1 d p-2 d 1 d 0. d -1 d -2 d -(n-1) d -n r p-1 r p-2 r 1 r 0 r -1 r -2 r -(n-1) r -n D = d i r i 7 ( 2 0 ) 8 ( 2 0 )

Representation av tal i digitala system 10101 2 = 1 16 + 0 8 + 1 4 + 0 2 + 1 1 = 21 10 00010 2 = 0 16 + 0 8 + 0 4 + 1 2 + 0 1 = 2 10 01.01 2 = 0 2 + 1 1 + 0 0.5 + 1 0.25 = 2.75 10 Ett binärt tal skrivs som: B = b p-1 b p-2 b 1 b 0. b p-1 b -2 b -(n-1) b -n 2 p-1 2 p-2 2 1 2 0 2-1 2-2 2 -(n-1) 2 -n b i 2 i siffran längst till vänster kallas för den mest signifikanta biten MSB (Most Significant bit) siffran längst till höger kallas för den minst signifikanta biten LSB (Least Significant bit) den binära motsvarigheten till decimalpunkt kallas för binary radix point Oktala och hexadecimala tal Motivation för att använda olika baser: - Basen 10: används till vardags - Basen 2: digitala system består av kretsar som bara kan hantera två värden - Basen 8,16: Ger ett kompakt skrivsätt då man arbetar med digitala system Oktala tal (basen 8) - varje position representerar ett tal mellan 0 och 7 - en sträng med tre bitar representeras med en oktal siffra (0-7) - Exempel på konvertering från binärt till oktalt: 10 111 101 010 2 = 2752 8 Hexadecimala tal (basen 16) - varje position representerar ett tal mellan 0 och 15 - en sträng med fyra bitar representeras med en hexadecimal siffra (0-9,A-F) - Exempel på konvertering från binärt till hexadecimalt: 0010 0011 1011 1111 = 23BF 16 9 ( 2 0 ) 1 0 ( 2 0 ) Konvertering av tal mellan olika baser Vid kovertering från en bas till en annan, - Låt värdet av talet (talet som vi vill omvandla från) vara D Värdet för ett tal D med basen r kan skrivas som: D = Exempel: konvertering hexadecimal till decimal en omskrivning av summan ger, då n=0: D = d 0 + d 1 r + + d p 2 r p 2 + d r A3F7 16 = ((10 16 + 3) 16 + 15) 16 + 7 = 41975 10 d i r i D = ((( d r+ d p 2 ) r + ) r+ d 1 ) r+ d 0 Konvertering från decimalt till basen r Återigen skriver vi värdet för ett tal D med basen r som: genom att utföra divisionen Q=D/r får vi: kvoten: och resten: d 0 som är den minst signifikanta siffran i basen r. Kvoten Q är på samma form som D. Genom repetition kan alla siffror tas fram. Exempel: Konvertera 6 10 till basen 2 (binärt). 6 2 kvoten = 3 och resten = 0 (LSB) 3 2 kvoten = 1 och resten = 1 1 2 kvoten = 0 och resten = 1 (MSB) D = ((( d r + d p 2 ) r + ) r+ d 1 ) r+ d 0 Q = (( d r+ d p 2 ) r + ) r+ d 1 Svar: 6 10 = 110 2 - För decimaldel får man multiplisera med basen istället. 1 1 ( 2 0 ) 1 2 ( 2 0 )

Omvandling från decimal till basen r Procedur för omvandling av bråkdel binary dec2bin(float x) { int i = -1; binary b; while(x) { x *= 2; if(x>1) x -= 1; b(i--) = x>1? 0 : 1; return b; Representation av negativa tal Teckenbit (signed-magnitude) sign-bit b 7 b 6 b 5 b 4... b 1 b 0 En extra bit (sign-bit) införs för att representera vilket tecken talet har. Positivt tal: sign-bit = 0 Negativt tal: sign-bit = 1 n-bit tal kan representera värden mellan -(2 n-1-1) och +(2 n-1-1) med två sätt att representera 0. Procedur för omvandling av heltal binary dec2bin(int x) { int i = 0; binary b; while(x) { b(i++) = x mod 2; x = x div 2; return b; 01011101 2 = 93 10 11011101 2 = -93 10 00000000 2 = +0 10 10000000 2 = -0 10 Svårt att implementera logiska kretsar som använder teckenbit. 1 3 ( 2 0 ) 1 4 ( 2 0 ) Två-komplement representation (two s-complement) BCD-koder MSB fungerar som teckenbit - talet är negativt endast om MSB=1 Till skillnad från ett tal utan tecken har MSB värdet -2 n-1 (istället för +2 n-1 ). Tal inom området -(2 n ) till +(2 n-1-1) kan representeras. Skriv talen 17345 10 på binärt format och BCD-format. 17345 10 = 100001111000001 2 Byt tecken på ett tvåkomplement tal: Utför bitvis invertering Addera 1 Exempel (8 bitars tal): 27 10 = 00011011 2 invertera 11100100-27 10 = 11100101 2-27 10 = 11100101 2 invertera 00011010 27 10 = 00011011 2 I BCD-kod för varje decimal siffra en 4-bitars strängkod. 1 7 3 4 5 0001 0111 0011 0100 0101 Observera att i binär form krävs 15 bitar medans i BCD-kod krävs 20 bitar. 0 10 = 00000000 2 invertera 11111111 0 10 = 00000000 2-128 10 = 10000000 2 01111111-128 10 = 10000000 2 1 5 ( 2 0 ) 1 6 ( 2 0 )

Tecken koder För icke-numeriska data som text krävs speciella koder Den vanligaste teckenkoden för alfanumeriska data är ASCII ( American Standard Code for Information Interchange). 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P p 1 SOH DC1! 1 A Q a q 2 STX DC2 " 2 B R b r Grundläggande funktioner Grundläggande funktioner (eller system primitiver) är sådana som används flera gånger för att skapa ett komplett system. - klocka är tidsreferensen i digitala system och används för att synkronisera operationerna i systemet 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y A LF SUB * : J Z j z B VT ESC + ; K [ k { - logiska grindar en grind utför en logisk funktion (f = f(a,b)) där f är grindens utgång och A,B är grindens ingångar C FF FS < L \ l D CR GS - = M ] m E SO RS. > N ^ n ~ F SI US /? O _ o DEL 1 7 ( 2 0 ) 1 8 ( 2 0 ) - Minnen forts. Grundläggande funktioner ett minne kan hålla ett binärt värde. Uppbyggnad av kurserna i digital elektronik Datorsystem Mikrodatorteknik Digitalkonstruktion I - Register ett register kan lagra ett binärt tal (8 bitar som exemplet nedan) A = (A 7,A 6,A 5,A 4,A 3,A 2,A 1,A 0 ) B = (B 7,B 6,B 5,B 4,B 3,B 2,B 1,B 0 ) Digitalteknik Digitalkonstruktion II 1 9 ( 2 0 ) 2 0 ( 2 0 )