Digitale Systeem Engineering 2



Vergelijkbare documenten
Digitale Systeem Engineering 1

Digitale Techniek. Jesse op den Brouw. Een inleiding in het ontwerpen van digitale systemen. Deel 3

Opgaven. Jesse op den Brouw. en uitwerkingen bij het boek Digitale Techniek. Deel 3

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 1

Inleiding Digitale Techniek

Digitale Systeem Engineering 1. Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/

Project Digitale Systemen

Antwoorden zijn afgedrukt!!!!!!!

Combinatorisch tegenover sequentieel

Inleiding Digitale Techniek

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 4e college

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u

Studentnummer:... Opleiding:...

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u

Sequentiële schakelingen

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D.

Inleiding Digitale Techniek

Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/

Sequentiële Logica. Processoren 24 november 2014

Inleiding Digitale Techniek

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 8e hoorcollege

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 2

Opgaven. en uitwerkingen bij het boek Digitale Techniek. Jesse op den Brouw

Inleiding Digitale Techniek

clk_32768 mins_up secs_up countdown clear time_zero

Studiewijzer Digitale Systeemengineering 1 (E-DIGSE1-13) 3 studiepunten

Digitale Systemen (ET1 410)

Basisoefeningen en uitwerkingen Systeembord. Opgaven en antwoorden op It s learning en agtijmensen.nl

Digitale technieken Deeltoets II

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 6e hoorcollege

ES1 Project 1: Microcontrollers

Practica bij het vak. Inleiding tot de Elektrotechniek: Practicum 2 Analoge versus digitale signalen en hun overdracht

Tentamen Digitale Systemen (EE1410) 6 juli 2012, uur

Ben Bruidegom. Reconstruction: NLT-module Digitale techniek Context: Disco

Paradox van zelfreproductie. IN2505-II Berekenbaarheidstheorie. Zelfreproductie? Programma s en zelfreproductie. College 11.

Principes voor het besturen van een dubbelwerkende cilinder 19

Tutorial. Quartus II. State machine editor. State machine wizard

OPDRACHTEN PRACTICUM DIGSE1. J.E.J op den Brouw De Haagse Hogeschool Opleiding Elektrotechniek 19 maart 2016

Fig. 2. Fig ,5 4 3,5 3 2,5 2 1,5 U (V) 0, temperatuur ( C)

Handleiding PETRA Pneumatic Electronic TRaining Apparatus

EXAMENONDERDEEL ELEKTRONISCHE INSTRUMENTATIE (5GG80) gehouden op woensdag 27 juni 2007, van tot uur.

HANDLEIDING - LEVEL INDICATOR M A N U A L

Toets Digitale Systemen 01/06/2006, uur

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

REGISTERS. parallel in - parallel uit bufferregister. De klok bepaalt het moment waarop de data geladen worden. Mogelijke bijkomende ingangen:

Inleiding Digitale Techniek

Hoofdstuk 4. Digitale techniek

Opleiding: ESE, HAN Opl.variant: vt Groep/Klas: ES2 Digitaal Signaal Ontwerpen 26 januari 2012 Tijd: 13:30 15:00

Hoofdstuk 5: Signaalverwerking

Digitale technieken Combinatorische en sequentiële logica

Eindtentamen Digitale Systemen 07/07/2006, uur

Hfdst. 2: COMBINATORISCHE LOGICA

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 2e werkcollege

Ontwerpmethoden. Doelstelling

Automaten & Complexiteit (X )

CP352_1. Up/down ramper met input 10A

Combinatorische schakelingen

ELVA Security

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Verkeerslichten. De Verkeerslichten & de PLC in het TIBBLTO / VICTO lokaal. Werkplek 1. Leer & werkboek.

Beslisbare talen (1) IN2505-II Berekenbaarheidstheorie. Beslisbare talen (2) Beslisbare talen (3) De talen: College 7

Installatiehandleiding van de poortaandrijving ENL-BP2R

Tentamen Elektronische Schakelingen (ET1205-D2)

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Microcontrollers Week 5 Interrupts, Timer/Counter 0 Jesse op den Brouw INLMIC/

Tentamen Elektronische Schakelingen (ET1205-D2)

2 Elementaire bewerkingen

Les B-02 Technologie: elektronische schakelingen

Logische bit-instructies

Logo quiz Project Inleiding op de Logo!

Studiewijzer Inleiding Digitale Techniek, versie 1.6, , J.E.J. op den Brouw

Alles op de kop. Dobbelsteen D02i werkt precies andersom! Johan Smilde

VERKORTE HANDLEIDING CUSTOM COMMAND

E2H, print geschikt voor 2x 24V motoren

Provinciaal Technisch Instituut EEKLO. Automatiseringstechnieken. Pneumatische besturingen

Ontwerp van digitale systemen. in VHDL

Oefenopgaven nr. 1 Opgave 1.1

06-RIS-02: visualisatie Logo TD

TENTAMEN Versterkerschakelingen en Instrumentatie (EE1C31)

scc = b) CD AB

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek

Antwoorden Systeembord Fysische informatica voor de onderbouw havo/vwo

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Transcriptie:

Digitale Systeem Engineering 2 Week 2 Toestandsmachines (vervolg) Jesse op den Brouw DIGSE2/214-215

Herkenningsautomaat Een typische sequentiële machine is een herkenningsautomaat of patroonherkenner. Herkenningsautomaten spelen een belangrijke rol in het vakgebied berekenbaarheidstheorie (theory of computation) dat zich bezighoudt met hoe efficient problemen kunnen worden opgelost d.m.v een algoritme (en of ze eigenlijk wel oplosbaar zijn). De automaten spelen een belangrijke rol bij het opstellen en herkennen van zogenaamde talen (languages). Denk hierbij aan het parsen van computertalen of zogenaamde regular expressions. 2

Herkenningsautomaat Ontwerp een machine voor het herkennen van het patroon (of reeks) 11. De machine geeft een 1 af en stopt met herkennen. x/z RESET s / 1 s 1 / 1 s 2 / s 3 /1-1 111111111 111111111111 3

Herkenningsautomaat Ontwerp een machine voor het doorlopend herkennen van het patroon (of reeks) 11. De machine moet bij herkenning een 1 afgeven. x/z RESET 1 s / 1 s 1 / 1 s 2 / s 3 /1 1 111111111 111 4

Herkenningsautomaat Ontwerp een machine voor het bloksgewijs herkennen van het patroon (of reeks) 11. De machine begint met herkennen bij een 1 en moet bij herkenning een 1 afgeven. x/z RESET 1 niet optimaal s / 1 s 1 / 1 s 2 / s 3 /1 1 1 s 4 / - s 5 / 111111111 1 5

Herkenningsautomaat Ontwerp een machine voor het doorlopend herkennen van het patroon (of reeks) 11. Overlappingen zijn mogelijk. De machine moet bij herkenning een 1 afgeven. x/z RESET 1 s / 1 s 1 / s 2 / 1 s 3 /1 1 1111111111 111 6

Herkenningsautomaat Een herkenningsautomaat kan gemaakt worden met behulp van een schuifregister en een AND-poort. Als voorbeeld het herkennen van 11: 1 clk shift 3 in areset & bingo Wat kan er mis gaan bij het aanbieden van 11? 7

Ontdenderen drukknop Een mechanische drukknop of schakelaar heeft last van denderen. Bij overgaan stuitert de kontaktveer. Dit levert meerdere pulsen op aan een ingang. Een herkenninsautomaat biedt uitkomst. Het denderen duurt 1 ms 4 ms. Een systeemklok is erg snel, dat zou een te groot schuifregister opleveren. Een prescaler biedt uitkomst. clk/524288 Vcc clk prescaler shift 3 in 1 R (5 MHz) in out & out 8

Opgaven Ontwerp een Mealy-machine voor het het doorlopend herkennen van het patroon (of reeks) 1 met een minimaal aantal toestanden. Gegeven de eerdere machine voor het overlappend herkennen van 11. Geef de toestandsfuncties indien one-hot codering wordt gebruikt. Eerder is het ontwerp van een machine voor het bloksgewijs herkennen van het patroon (of reeks) 11 besproken. Een studente beweert dat het toestandsdiagram van deze machine compacter kan worden getekend omdat toestand s en s 5 identiek zijn en samengenomen kunnen worden. Klopt deze bewering? Motiveer het antwoord. Ontwerp een Mealy-machine voor het het bloksgewijs herkennen van het patroon (of reeks) 11 met een minimaal aantal toestanden. 1

Timingdiagram Een toestandsmachine is ook te beschrijven met behulp van een timingdiagram. clk Z 1 Z 2 cyclus cyclus Wat is het bijbehorende toestandsdiagram? 11

Timingdiagram De waarden van de uitgangen herhalen zich elke vier klokcycli. De machine is dus met vier toestanden te beschrijven. Er is geen ingang. /z 2 z 1 RESET s /1 s 1 /1 s 2 /11 s 3 / Goed beschouwd is dit een teller. 12

Timingdiagram Hieronder is weer een tijddiagram gegeven. clk 1 2 3 4 5 Z 1 Z 2 cyclus Maar nu zijn de uitgangen tijdens twee klokcycli identiek. De uitgangswaarde z 2 z 1 = 11 komt twee keer voor. Wat is het bijbehorende toestandsdiagram? 13

Timingdiagram De waarden van de uitgangen herhalen zich elke vijf klokcycli. De machine is dus met vijf toestanden te beschrijven. Er is geen ingang. /z 2 z 1 RESET s / s 1 /11 s 2 /1 s 3 /1 s 4 /11 De machine is te ontwerpen met behulp van een teller en uitgangslogica. 14

Timingdiagram Door toevoeging van één flipflop is de machine zonder uitgangslogica te ontwerpen. clk 1 2 3 4 5 Z 1 Z 2 Z 3 cyclus Bij drie van de vijf standen is de waarde van Z 3 niet belangrijk en kan als don t care opgegeven worden, de waarde wordt niet uitgevoerd. 15

Opgave In de vorige slide is een machine gespecificeerd d.m.v. een timingdiagram. Geef de functies voor de Next State Logic en de Output Logic, de toestandscodering ligt gedeeltelijk vast. Ontwerp een machine die onderstaande timingdiagram moet uitvoeren met gebruikmaking van extra flipflops en zonder uitgangslogica. clk 1 2 3 4 5 6 7 Z 1 16

Snoepautomaat In het volgende voorbeeld wordt een machine ontwikkeld die een snoepautomaat bestuurt. De snoepautomaat accepteert alleen muntstukken van 2 cent (T) en 1 cent (D). Er is 3 cent nodig om snoepgoed vrij te geven. Als er meer dan 3 cent wordt ingeworpen moet de machine geen snoepgoed vrijgeven maar aanduiden dat er teveel geld is ingeworpen. 17

Snoepautomaat De munt-inwerpeenheid geeft twee signalen af, T voor een muntstuk van 2 cent en D voor een muntstuk van 1 cent. muntinwerpeenheid T D detector S O De eenheid kan slechts één munt te gelijk accepteren. Na detectie van een muntstuk wordt het betreffende signaal één klokcyclus geactiveerd. De signalen T en D kunnen dus nooit tegelijk geactiveerd worden. Het signaal S wordt geactiveerd als 3 cent is ingeworpen. Het signaal O wordt geactiveerd als meer dan 3 cent is ingeworpen. 18

Toestandsdiagram snoepautomaat Hiernaast het toestandsdiagram van de snoep- ()/ Tussen de haakjes staat de tot dan toe ingeworpen hoeveelheid geld. automaat. T D (2)/ (1)/ T D T D (4)/O (3)/S (3)/S (2)/ T D Merk op dat toestanden met identieke waarden equivalent zijn! Deze toestanden zijn samen te nemen. (4)/O (3)/S 19

Snoepautomaat Het toestandsdiagram kan met minder toestanden getekend worden door het hanteren van de volgende regels: T + T = 4 T + D = 3 D + T = 3 D + D + T = 4 D + D + D = 3 D + D = T Combinaties die leiden tot de hoeveelheid van 3 zijn dus identiek, net als voor 4. Verder is te zien dat 1+1 = 2. Meer dan 4 komt niet voor, want dan is minstens al een hoeveelheid van 3 ingeworpen. 2

Toestandsdiagram snoepautomaat (beter) Er wordt gebruik gemaakt van het feit dat D + D = T en dat D +T = T + D ()/ D D = 1 T T = D + D = 2 D (1)/ T + D = D + T = 3 T + T = 4 (2)/ D T Het aantal toestanden is verminderd tot 5. T (4)/O (3)/S 21

Opgaven Ontwerp een toestandsdiagram voor een snoepmachine die 35 cent moet herkennen. Toegestane munten zijn 5 cent (S) en 1 cent (D). Bij dit bedrag moet snoepgoed worden geretourneerd. Bij teveel moet een signalering geactiveerd worden. Hoeveel unieke toestanden heeft bovenstaande machine? Wat is het hoogste bedrag dat in de machine kan worden ingeworpen (dat is niet het bedrag die de machine uiteindelijk moet herkennen). Als de opgaven hierboven maar nu met munten van 5 cent (S), 1 cent (D) en 2 cent (T). 22

Toestandsminimalisatie Net als bij combinatoriek is het mogelijk het aantal toestanden te minimaliseren. Het idee is te zoeken naar equivalente toestanden. Twee toestanden zijn equivalent indien voor elke mogelijke reeks ingangswaarden dezelfde reeks uitgangswaarden wordt geproduceerd. Formele procedure: Paull - Unger (1959) In de praktijk wordt dit weinig gebruikt, zeker als het aantal toestanden gering is. Een goede ontwerper zorgt meestal voor een minimale of bijna-minimale oplossing. 23

Opgave Minimaliseer het aantal toestanden van de volgende machine. 24

Tijdgedrag FSM De uitgangen van de Mealy-machine veranderen op de actieve klokflank én de ingangen. Dat houdt in dat de uitgangen twee sets vertragingen hebben. Ten opzichte van de actieve klokflank (synchroon) Ten opzichte van de ingangen (asynchroon) Moore-machines hebben dat probleem niet, de uitgangen veranderen altijd synchroon met de klokflank. Het tijdgedrag van synchrone machines kunnen d.m.v. de bekende procedures doorgerekend worden. 25

Tijdgedrag FSM Rondgekoppelde Mealy-machines kunnen last hebben van asynchrone terugkoppeling. Moore-machines hebben dat probleem niet. ingangen [NSL] [REG] [OL] uitgangen uitgangen [OL] [REG] [NSL] ingangen 26

Referenties Digitale Techniek, Deel 2 A.P. Thijssen ea 5 e druk, 2 Fundamentals of Digital Logic with VHDL Design Brown, 3 rd Ed, 28, ISBN 9787126886 Digital Design: Principles and Practices John F. Wakerly, 4 th Ed, 26, ISBN -13-173349-4 Digitale Systemen, Ontwerpen met behulp van VHDL W. Dolman, 1 e druk, 211, ISBN 978-9-484-22-9 M. C. Paull and S. H. Unger "Minimizing the number of states in incompletely specified sequential functions", IRE Trans. on Electronic Computers, vol. 8, pp.356-366 1959, DOI 1.119/TEC.1959.5222697 27

De Haagse Hogeschool, Delft +31-15-266311 J.E.J.opdenBrouw@hhs.nl www.dehaagsehogeschool.nl