TSEA22 Digitalteknik 2019!

Relevanta dokument
Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

TSEA22 Digitalteknik 2019!

Laboration i digitalteknik Introduktion till digitalteknik

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Digital elektronik CL0090

TSEA22 Digitalteknik 2019!

Det finns en hemsida. Adressen är

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

Digital elektronik CL0090

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Laboration Kombinatoriska kretsar

Digital- och datorteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

F5 Introduktion till digitalteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1204 Digital Design

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Tenta i Digitalteknik

Grundläggande Datorteknik Digital- och datorteknik

Tenta i Digitalteknik

Tenta i Digitalteknik

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Försättsblad till skriftlig tentamen vid Linköpings universitet

Laboration Kombinatoriska kretsar

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

Mintermer. SP-form med tre mintermer. William Sandqvist

Laboration i digitalteknik Datablad

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Digitalteknik TSIU05 Laborationer

Tentamen i Digital Design

Styrteknik: Grundläggande logiska funktioner D2:1

F5 Introduktion till digitalteknik

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Laboration i digitalteknik Allmänna anvisningar

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital- och datorteknik

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- och datorteknik

Quine McCluskys algoritm

Experiment med schmittrigger

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Tenta i Digitalteknik

Laboration i digitalteknik Datablad

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

Tentamen i IE1204/5 Digital Design Torsdag 29/

Digital- och datorteknik

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Lösningsförslag till tentamen i Digitalteknik, TSEA22

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Digitalteknik syntes Arne Linde 2012

Digital Design IE1204

Introduktion till syntesverktyget Altera Max+PlusII

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

VHDL 1. Programmerbara kretsar

Omtentamen IE Digital Design Måndag 14/

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

Digital- och datorteknik

Mattias Wiggberg Collaboration

Digital- och datorteknik

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Digital Design IE1204

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Tenta i Digitalteknik

L15 Introduktion modern digital design

Digitala system EDI610 Elektro- och informationsteknik

Tenta i Digitalteknik

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

INNEHÅLL. Inledning...1. Talsystem...2. Logiska funktioner Logiska kretsar i praktiken Elektrostatisk urladdning (ESD)...

Digital Aritmetik Unsigned Integers Signed Integers"

LABORATIONER I DIGITALTEKNIK. för kurserna. TSEA22, lab 1-4 TSEA51, lab 1-3 TDDC75, lab 1,2

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

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

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

- Digitala ingångar och framförallt utgångar o elektrisk modell

Digital Design IE1204

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

Talrepresentation. Heltal, positiva heltal (eng. integers)

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

DIGITALTEKNIK. Laboration D172

Laboration 6. A/D- och D/A-omvandling. Lunds universitet / Fakultet / Institution / Enhet / Dokument / Datum

IE1204/IE1205 Digital Design

Tentamen IE Digital Design Fredag 15/

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

Digital- och datorteknik

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Exempel på tentamensfrågor Digitalteknik

Tentamen IE1204 Digital Design Måndag 15/

Transkript:

1(45) 2019 Mattias Krysander Ingemar Ragnemalm D D 1(45)

Föreläsning 4. Komb2. Denna föreläsning: Labb 1 Adderare Lite mer om kombinationskretsar 2(45)2(45)

Förra föreläsningen: Några kombinationskretsar. Karnaughdiagram. "Don't care" 3(45)3(45)

Förra föreläsningen: Karnaughdiagram konsten att ringa 4(45)4(45)

Sanningstabell till Karnaughdiagram a 0 bc 00 01 11 10 0 1 3 2 i a b c f 1 4 5 7 6 0 0 0 0 1 1 2 0 0 0 1 1 1 0 0 3 4 0 1 1 0 1 1 0 0 1 1 1 0 5 6 7 1 1 1 0 1 1 1 1 0 0 1 1 0 1 1 0 5(45)5(45)

5 variabler de a = 0 00 01 11 10 a = 1 de 00 01 11 10 00 0 1 3 2 00 16 17 19 18 bc 01 11 4 5 7 6 12 13 15 14 bc 01 11 20 21 23 22 28 29 31 30 10 8 9 11 10 10 24 25 27 26 6(45)6(45)

ab 00 01 11 cd 00 01 11 10 0 0 0 1 0 1 1 0 1 1 1 1 Stora ringar Få ringar Börja med uppenbart nödvändiga små, t.ex. ettor med många 0- grannar Överlapp är inget fel om det ger en större ring ab + c'd'a + bd + a'b'cd' 10 1 0 0 0 7(45)7(45)

Stora ringar Stor ring = färre beroenden = mindre grind Få ringar Varje ring ger en grind till Ringen definierar de variabler som inte varierar inom ringen 8(45)8(45)

Wrap-around Du får alltid ringa runt kanten cd cd 00 01 11 10 00 01 11 10 00 0 0 0 0 00 1 0 0 1 ab 01 11 1 0 0 1 1 0 0 1 ab 01 11 0 0 0 0 0 0 0 0 10 0 0 0 0 10 1 0 0 1 bd' b'd' 9(45)9(45)

Don't care SP-normalform: f(a,b,c) = (3,4,6,12,14,15) + d(2,7,8,10,11,13) PS-normalform: f(a,b,c) = (0,1,5,9) + d(2,7,8,10,11,13) 00 01 11 10 00 01 11 10 0 0 1-1 0-1 1-1 1-0 - - 10(45)10(45

Labb 1a Att göra: Förbered minst uppgift 1-4 Tag med numrerade kopplingsscheman till laborationen Få godkänt på 1a 11(45)11(45

"Öppet labb" Labbet "Ginden" tillgängligt när ej schemalagt, men enbart kursregistrerade access fr 1:a februari bygg inte labben i förväg på denna tid, lös labben på labbtid 12(45)12(45

"Drop-in" Obokad? Missade deadline? På väntelista? Drop-in på labben i mån av plats. Fria platser släpps 10 minuter efter start Väntelista? Nästa måndag vet vi hur full kursen är 13(45)13(45

+5 0 +5 0 7-segment 7-segment Skjutomkopplare Skjutomkopplare 74LS00 74LS00 74LS04 74LS10 74LS153 74LS157 +5 0 7-segment Klockpulsgenerator 74LS00 74LS10 74LS160 +5 0 7-segment Minne 74LS00 74LS109 74LS160 +5 0 Lysdioder Minne 74LS02 74LS109 74LS160 +5 0 Tryckomkopplare Förgrening 74LS04 74LS109 74LS669 Labbutrustningen 14(45)14(45

Genomförande Förberedelse 15(45)15(45

Exempel: OR med NAND och inverterare Sanningstabell Karnaughdiagram Boolesk funktion Kretsschema Sanningstabell a b y 0 0 0 Karnaugh b 0 1 Boolesk funktion: y = a + b = (a + b)'' = (a'b')' Kretsschema: 0 1 1 1 0 1 1 1 1 a 0 1 0 1 1 1 y 16(45)16(45

Var kopplar vi in det? Styr insignaler, läs av utsignaler Insignaler: Skjutomkopplare Utsignaler: Visa med lysdioder Matningsskenan +5V = 1 GND = 0 Skjutomkopplare y +5V = 1 = Vcc = Matningsspänning GND = 0 = jord Lysdioder 17(45)17(45

1 Numrering Var är grindarna anslutna i kapslarna? 2 1 2 2 Matningsspänning på ben 14 och jord på ben 7 på båda 18(45)18(45

Fysisk uppkoppling och färgkonventioner Uppkoppling av OR-funktionen. I bilden: Insignal 11 ger utsignal 1. I ringen: Logikprob för felsökning. Färgkonvention för sladdar: Röd: Fast 1:a (kopplad till Vcc) Svart: Fas 0:a (kopplad till GND) Övriga: gul/blå/vit Placera komponenter som skall kopplas ihop nära varandra. Börja med Vcc och GND radvis. Rörigt? Det blir lätt stökigt när man "labbkopplar". 19(45)19(45

Exempel på vanliga fel Nätaggregatet är påslaget men inget lyser. - Har du kortslutning mellan Vcc och GND? Utsignalen lyser alltid. - Har du glömt att jorda NAND-grinden? Utsignalen lyser svagt 1 0 odef Tyder på odefinierad spänningnivå. - Har du kopplat lysdioden till en oanvänd 0 NAND-grind? 0 Utsignalen lyser inte när ab = 10 - Glapp i den rödmarkerade sladden? 20(45)20(45

Vidare på "Komb2" Adderare Tag två signaler (xn xn-1... x2, x1, x0), (yn yn-1... y2, y1, y0) som representerar binära tal. Bilda summan av dem. 21(45)21(45

xn xn-1... x2, x1, x0 yn yn-1... y2, y1, y0 ADD sn sn-1... s2, s1, s0 22(45)22(45

Adderare med flera bitar Addera 2-bitarstal In: x1, x0, y1, y0 Ut: u2, u1, u0 Fullt lösbart med tre Karnaughdiagram Tre bitar? Fyra 6-variabels Karnaughdiagram Fyra bitar? Fem 8-variabels Karnaughdiagram Men jag vill ju addera 32 bitar... 23(45)23(45

Men, problemet har en iterativ struktur Addera en siffra i taget, samma sak i varje steg I basen 10: Si = (Xi + Yi + minnessiffra Ci) mod 10 Ci+1 = (Xi + Yi + minnessiffra Ci) div10 Lösning: Bryt ner problemet i delsteg Sekvens av 1-bits-adderare "Halvadderare": Adderar två enbitarstal. Ger två bitar ut. "Heladderare": Adderar tre enbitarstal Ger två bitar ut. 24(45)24(45

xi yi =1 Heladderaren ci =1 si xi yi yi xi 1 ci+1 ci+1 FA ci xi ci si yi ci 25(45)25(45

Så nu kan jag addera godtyckligt stora tal y5 x5 y4 x4 y3 x3 y2 x2 y1 x1 y0 x0 c6 FA c5 FA c4 FA c3 FA c2 FA c1 FA c0 s5 s4 s3 s2 s1 s0 Trodde jag... 26(45)26(45

Problem: Tidsfördröjning Det tar en viss liten tid att ställa om en grind. Med 2-3 grindar djup: Inget problem. Men med en 64-bitarsadderare...? 27(45)27(45

Grinddjup för adderare: 2 för carry (2 steg AND) 3 för summa (2 steg XOR kräver extra inverterare) Ger 2(n-1) + 3 = 2n+1 grindars djup för n bitar. 28(45)28(45

Lösning: Carryaccelerator: Gör ett grindnät som beräknar enbart carry för ett antal bitar. 29(45)29(45

Carryacceleratorn är ett vanligt grindnät, 2 nivåer plus inverterare. Carryaccelerator y4 x4 y3 x3 y2 x2 y1 x1 y0 x0 c5 FA c4 FA c3 FA c2 FA c1 FA c0 s4 s3 s2 s1 s0 30(45)30(45

Aritmetisk logisk enhet (ALU) Större krets som kan utföra flera olika aritmetiska och logiska operationer på flerbitarstal. Ingår i alla CPUer. Enkel CPU: Mikrokod (programkod) anger register som in- och utsignaler till en ALU. Dessutom flyttningar av data till och från minne. 31(45)31(45

74181 ALU i en TTL-kapsel Kan en massa logiska och aritmetiska operationer i 4-bitarsgrupper: Addition, subtraktion, inkrement, dekrement, AND, OR, NOT... och detta är en liten krets idag. SN54/74LS181 MODE SELECT INPUTS S3 S2 S1 S0 LOGIC (M = H) FUNCTION TABLE ACTIVE LOW INPUTS OUTPUTS ARITHMETIC** (M = L) (Cn = L) LOGIC (M = H) ACTIVE HIGH INPUTS OUTPUTS ARITHMETIC** (M = L) (Cn = H) L L L L A A minus 1 A A L L L H AB AB minus 1 A + B A + B L L H L A + B AB minus 1 AB A + B L L H H Logical 1 minus 1 Logical 0 minus 1 L H L L A + B A plus (A + B) AB A plus AB L H L H B AB plus (A + B) B (A + B) plus AB L H H L A B A minus B minus 1 A B A minus B minus 1 L H H H A + B A + B AB AB minus 1 H L L L AB A plus (A + B) A + B A plus AB H L L H A B A plus B A B A plus B H L H L B AB plus (A + B) B (A + B) plus AB H L H H A + B A + B AB AB minus 1 H H L L Logical 0 A plus A* Logical 1 A plus A* H H L H AB AB plus A A + B (A + B) plus A H H H L AB AB plus A A + B (A + B) Plus A H H H H A A A A minus 1 L = LOW Voltage Level H = HIGH Voltage Level* *Each bit is shifted to the next more significant position 24 1 VCC A1 B1 A2 B2 A3 B3 G Cn+4 A=BP F3 24 23 22 21 20 19 18 17 16 15 14 13 1 2 3 4 5 6 7 8 B0 A0 S3 S2 S1 S0 Cn M 9 10 11 12 F0 F1 F2 GND **Arithmetic operations expressed in 2s complement notation 32(45)32(45

Datorsystem CPU Centralenhet Minne(RAM) Program och data In/Utenheter CPU x ALU y Intern buss Instruktionsregister Instruktions- avkodare Register A B C D Instruktioner: Läses från RAM Ladda register från RAM Skriv register till RAM Lägg A+B i C Hoppa till adressen X Instruktionsräknare Till huvudbussen u 33(45)33(45

Grinddelning Två delnät i samma konstruktion kan ibland innehålla samma grindar y1 cd 00 01 11 10 y2 cd 00 01 11 10 00 0 0 0 1 00 0 1 0 1 ab 01 0 0 1 0 ab 01 0 1 1 0 11 0 0 1 1 11 0 0 1 1 10 1 1 0 0 10 0 0 0 0 34(45)34(45

1 y1 a c b a c b b d c a c b d 1 y2 a d c a c b b d c a c b d De två funktionerna kan nu realiseras med tre grindar färre 35(45)35(45

Nyttan av optimeringarna Diskreta grindar: Färre komponenter. Programmerbar logik: Lättare att få plats i kretsen ASIC: Lättare att få plats på chipytan, lägre effekt. 36(45)36(45

Hasard, kapplöpning Tidsförskjutningar kan ge egendomliga effekter a c z1 1 y b 1 z2 a b c z1 z2 z1 och z2 momentant 0 y "Glitch" i utsignal 37(45)37(45

Typer av hasard "Statisk 1-hasard" "Statisk 0-hasard" Felaktigt värde när signalen inte skall ändras. "Dynamisk hasard" "Fladder" vid övergång mellan 1 och 0 38(45)38(45

Åtgärd av hasard "Onödiga" grindar för att "lappa hålet" Följande löser problemet förut: bc a c z1 a 0 0 0 1 0 1 1 1 b 1 z2 1 y Jo, det finns faktiskt fall då det kan vara värt att ha extra grindar 39(45)39(45

I 2 I 1 I 0 Programmerbar logik: PROM, PLD, FPGA... Ersätter oftast diskreta grindar. Optimera för att utnyttja den så väl som möjligt. O O O 3 2 1 O 0 Källa: http://www.eng.ucy.ac.cy/theocharides/courses/ece210/plds.pdf 40(45)40(45

PROM Lagrar ett ord per kombination av insignaler. Kan ses som en lagring av data. Kan också ses som en krets där vi programmerar in sanningstabellen direkt i kretsen. Ett alternativ som ofta bör övervägas. Exempel: Heladderare x y c 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 c+ s 41(45)41(45

Paritetkrets Felupptäckande och felrättande kod Felupptäckande av enkelfel (en bit) enkelt Bättre koder kan rätta fel av en storlek och upptäcka fel av en annan. Mycket stor sak i osäkra lagringsmedia eller osäker dataöverföring d0 =1 d1 d2 =1 d3 =1 d4 =1 d5 En serie av XOR räknar udda/jämnt Ger paritetsbit. Testa med denna efter transmission/läsning. =1 y 42(45)42(45

Ett par ord om elektroniken: Varför måste jag koppla in Vcc och GND hela tiden? Vad blir utspänningen om Vcc och GND inte är anslutna? Svar: Det beror på kretsen - som vi oftast inte har så mycket insikt i 43(45)43(45

Pull-up-motstånd Vanligt trick i digitalteknik Ett motstånd drar svagt åt noll eller ett. Vcc Kondensator på reset Vissa kretsar har en nollställningsport, som bör aktiveras vid uppstart. En kondensator kan ge en kort puls. Vcc u u 44(45)44(45

NÄSTA FÖRELÄSNING Vippor Sekvenskretsar 45(45)45(45