F5 Introduktion till digitalteknik



Relevanta dokument
F5 Introduktion till digitalteknik

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Grundläggande digitalteknik

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital- och datorteknik

LABORATIONSINSTRUKTION

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

Laboration Kombinatoriska kretsar

Tentamen i TTIT07 Diskreta Strukturer

Digital- och datorteknik

Tentamen EDAA05 Datorer i system

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

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

Digital- och datorteknik

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

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Tentamen i Digitalteknik, EITF65

Introduktion till logik

Tentamen i Digital Design

De grundläggande logiska grindarna

Laboration Sekvenskretsar

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

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Digital Design IE1204

Laboration Kombinatoriska kretsar

Styrteknik: Grundläggande logiska funktioner D2:1

Exempel på tentamensfrågor Digitalteknik

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

5:2 Digitalteknik Boolesk algebra. Inledning OCH-funktionen

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

Uppgift 12: Konstruera en elektronisk tärning. Resultatet av ett tärningskast ska visas på en 7- segmentindikator.

Tentamen i IE1204/5 Digital Design onsdagen den 5/

VHDL och laborationer i digitalteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1204/IE1205 Digital Design

Tentamen i Digitalteknik, EIT020

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

Grunderna i stegkodsprogrammering

Introduktion till digitalteknik

Digital- och datorteknik

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

Sekvensnät i VHDL del 2

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

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

Lösningsförslag till tentamen i Digitalteknik, TSEA22

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

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Programmerbar logik. Kapitel 4

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

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

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

D/A- och A/D-omvandlarmodul MOD687-31

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

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

Quine McCluskys algoritm

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Mintermer. SP-form med tre mintermer. William Sandqvist

Föreläsning 3.1: Datastrukturer, en översikt

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

Automater. Matematik för språkteknologer. Mattias Nilsson

Det finns en hemsida. Adressen är

D0013E Introduktion till Digitalteknik

Tenta i Digitalteknik

Föreläsning 4/11. Lite om logiska operationer. Hambley avsnitt 12.7, 14.1 (7.3 för den som vill läsa lite mer om grindar)

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

TENTAMENSUPPGIFTER I ELEKTROTEKNIK

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken.

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Åtkomst och användarhandledning

Processidentifiering och Polplacerad Reglering

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

Digital elektronik CL0090

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Tentamen i Digitalteknik TSEA22

Låskretsar och Vippor

Grindar och transistorer

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

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Att välja rätt strömtång (tångamperemeter) Börja med att besvara följande frågor för att få rätt strömtång (tångamperemeter) till rätt applikation.

7, Diskreta strukturer

Laboration i digitalteknik Introduktion till digitalteknik

Programmeringsteknik med C och Matlab

Sekvensnät. William Sandqvist

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)

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

Diskret matematik: Övningstentamen 4

Digital- och datorteknik

Instruktioner för dig som ska söka till Mattekollo 2016

Kortlaboration DIK. Digitalteknik, kombinatorik.

Tenta i Digitalteknik

Tentamen i Digitalteknik, TSEA22

IE1204 Digital Design

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

Så här fungerar datorer Baserad på T-J Hallbergs minimalmaskin Högskolan i Jönköping/JTH Ragnar Nohre

Digital Design IE1204

Transkript:

George Boole och paraplyet F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant p = b! (s " r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 2 Exklusiv eller XOR På övning 2 stötte ni på uttrycket x = (a! b) " ( a! b) som kan utläsas antingen a eller b, men inte både a och b. Detta uttryck är så pass vanligt att det fått ett eget namn och en eget operation, exklusiv eller XOR. Uttrycket ovan kan skrivas som x = a # b Exklusiv eller är en s.k. härledd operation egentligen onödig, men praktisk. a b x 0 0 0 0 1 1 1 0 1 1 1 0 Digitala grindar Elektroniska implementationer av de olika logiska operationerna i den Booleska algebran. Hög spänning representerar värdet 1 sant. Låg spänning representerar värdet 0 falskt. Grindar kopplas ihop i olika kombinationer för att implementera Booleska uttryck. 3 4

NOT-grinden inverterare Enkelt exempel på hur logiska grindar kan implementeras fysiskt. Kan köpas som IC-kretsar eller fungera som logiska byggblock vid design av mera komplexa IC-kretsar. Grindsymboler Namn Operation IEC-symbol Traditionell symbol NOT x AND x! y OR XOR x " y x # y Standard 7404 IC-krets. Möjlig implementation av NOT-grind. NAND (x! y) 5 6 Kombinatoriska nät Ett kombinatoriskt nät är ett system av hopkopplade logiska grindar som beräknar ett Booleskt uttryck. Kombinatoriska nät och paraplyet Konstruera ett kombinatoriskt nät som talar om huruvida jag ska ta paraply med på morgonen! r : det regnar s : väderprognosen spår regn b : jag tar bilen p : jag tar med ett paraply på morgonen Ett kombinatoriskt nät tar en eller flera insignaler som input och producerar en eller flera utsignaler vars värde baseras på insignalernas värden. p = b! (s " r) DEMO LogicSim och paraplyet 7 8

Paraplyet i LogicSim Tillståndsmaskiner För att en digital krets ska kunna reagera inte bara på hur insignalerna ser ut just nu, utan också på hur de varit tidigare, behöver den ha ett minne. Man brukar säga att kretsen har ett tillstånd. Kretsen reagerar på olika sätt på en viss indatakombination beroende på vilket tillstånd den råkar befinna sig i. En krets som fungerar enligt ovan kan beskrivas som en s.k. tillståndsmaskin. 9 10 Tillståndsdiagram En tillståndsmaskin kan beskrivas m.h.a tillståndsdiagram. Maskinen flyttar sig mellan tillstånden i maskinen beroende på hur indata ser ut ungefär som spelpjäsen på ett fiaspel. Vid varje tidsintervall (spelomgång) flyttar sig maskinen eventuellt till ett nytt tillstånd (ruta på spelplanen). Exempel: En tillståndsmaskin som producerar omväxlande 1 och 0 som utsignal så länge insignalen är 1. När insignalen är 0 fryses utsignalen. Tillståndsdiagram notation Tillstånd med namn och tillståndsnummer Tillståndsövergång Insignalvillkor för tillståndsövergång samt ny utsignal 1 / 0 11 12

D-element Vi behöver något sätt att minnas vårt tillstånd. Därför inför vi en ny speciell grindtyp: D-elementet D står för Delay line. Insignaler: D: Värdet som ska minnas. CLK ( > i figuren) : Klocksignal. När CLK går från 0 till 1 kopieras värdet på D till utgången. Utsignal: x: Värdet på D vid senaste klockpulsen. Symbol för ett D-element, eller en s.k. D-vippa. Synkrona nät och tillståndsmaskiner I ett synkront nät styr en klocksignal när tillståndsövergångar sker och nya utsignaler genereras. Vi låter det kombinatoriska nätet beräkna inte bara utsignaler, utan också vilket tillstånd maskinen ska gå till. Utsignalerna baseras dels på insignalerna och dels på maskinens gamla tillstånd. Vi kommer ihåg de gamla tillstånden m.h.a. D-element. 13 14 Från tillståndsmaskin till krets Bygg en digital krets som implementerar följande tillståndsmaskin: Vi börjar med att numrera tillstånden LOW = 0, HIGH = 1. Därefter bygger vi en sanningstabell som beskriver vad utsignal (o) och nytt tillstånd (s ) ska bli för varje kombination av insignal (i) och tillstånd (s): s i s o 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 Från tillståndsmaskin till krets II Från sanningstabellen tar vi fram Booleska uttryck för s och o: s = o = s # i s i s o 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 Nästa steg blir att realisera det kombinatoriska nätet som ska beräkna s och o: i o =1 s s 15 16

Från tillståndsmaskin till krets Slutligen fullbordar vi kretsen genom att återkoppla s till s via ett D-element samt ansluta en klockpulsgenerator: Förpackningsmaskin I en förpackningsmaskin vill vi bygga en digital krets som ger värdet 1 ut varannan gång insignalen får värdet 1. En produkt ska förpackas i två-pack så varannan gång ska en ny kartong matas fram Tillståndsmaskin: 17 18 Förpackningsmaskin II Förpackningsmaskin III Numrera tillstånden vi behöver två binära siffror: Låt s1 och s2 representera tillståndet. Sätt upp sanningstabell: s1 s2 i s1 s2 o 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 Från sanningstabell s1 s2 i s1 s2 o 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 går vi till Booleska uttryck: s1 = s1! i " i! (s1 # s2) s2 = i o = s1! i Den färdiga kretsen bygger ni ihop på laboration 2! 19 20

Reflektioner Tillståndsmaskiner är ett allmänt begrepp som inte bara förekommer i digitaltekniken ut även i många områden inom programmering, t.ex. inom kompilatorteknik (EDA180). Med hjälp av grindar konstruerar man mera avancerade moduler med ingångar och utgångar som sedan i sin tur sätts ihop till ännu komplexare system, osv. Till sist kan vi t.ex. få en komplett dator. Eftersom en dator består av ett stort antal tillståndsmaskiner förklarar det varför man pratar om en dators klockfrekvens och varför denna påverkar datorns snabbhet. 21