Practicumnota s Digitale Elektronica

Maat: px
Weergave met pagina beginnen:

Download "Practicumnota s Digitale Elektronica"

Transcriptie

1 IDLab - Vakgroep Elektronica en Informatiesystemen (ELIS) Practicumnota s Digitale Elektronica prof. dr. ir. J. Dambre Academiejaar

2 Inhoudsopgave 1 Aan de slag met Vivado en Basys Doelstellingen Voorbereiding Opgave Rapportering I Een eenvoudige rekenmachine 3 2 Aansturing van de LED-cijferdisplays Doelstellingen Voorbereiding Aansturing van de Basys3 LED-displays opgave Eerste beschrijving Automatische verificatie aan de hand van een testbank Tweede beschrijving Analyse van de vertragingen Rapportering Combinatorische modules in het datapad Doelstellingen Voorbereiding Opgave Multiplexers en demultiplexers Optellen Optellen en aftrekken Omzetten van bitvectoren naar BCD-getallen Rapportering Sequentiële modules in het datapad Doelstellingen Voorbereiding Opgave De klok De display driver Registers Componenten met variabele woordbreedte: generic parameters Een synchrone BCD op- en neerteller i

3 4.3.6 De knopjes Test voor het invoeren van data Rapportering Het datapad en de controller Doelstellingen Voorbereiding Opgave Het gedrag van de rekenmachine Datapad en controller Verificatie met ROM-bestanden Testen in hardware Rapportering ii

4 Hoofdstuk 1 Aan de slag met Vivado en Basys3 1.1 Doelstellingen In dit practicum is het de bedoeling vertrouwd te worden met het Basys3 FPGA-bordje van Digilent, dat we voor de rest van de practica zullen gebruiken, met de Xilinx-Vivado software en met de stappen die moeten doorlopen worden om een ontwerp in FPGA te realiseren. 1.2 Voorbereiding Dit practicum behoeft niet meer voorbereiding dan het vooraf lezen en het meebrengen van de practicumopgave en het doornemen van het lesmateriaal over FPGAs en de inleidende slides i.v.m. VHDL. 1.3 Opgave Open de technische beschrijving van het Basys3-bordje en bekijk welke verschillende onderdelen dit bevat. Ga in het bijzonder na welke manieren er beschikbaar zijn om ingangssignalen naar de FPGA te voeren en wat je kan aansturen met de uitgangssignalen van de FPGA. Om digitale ontwerpen te maken en deze te implementeren in het Basys3 bordje zullen we de Xilinx Vivado software-omgeving gebruiken. Deze is geïnstalleerd in PCklassen A en B en op Athena (in de map academic electronics). Met de versie op Athena kan je alles doen behalve een ontwerp effectief op het bordje implementeren, dus wel VHDL code schrijven, simuleren, synthetiseren en simulaties met tijdsinformatie uitvoeren (de extractiestap uit het Gajski-diagram). Je kan ook de gratis versie van Vivado (de zogenaamde HL WebPack Edition) op je eigen computer (enkel Windows of Linux) via de link Open Xilinx Vivado en volg de instructies in de Vivado tutorial (Vivado Tutorial.pdf). Tracht zo goed mogelijk te begrijpen wat er in de verschillende stappen gebeurt. In het bijzonder moet je aan het eind van dit gedeelte weten: hoe je een nieuw project start om een ontwerp te maken dat moet worden gerealiseerd in het Basys3-FPGA bordje 1

5 welke in- en uitgangen voor de FPGA op het bordje aanwezig zijn en hoe je in- en uitgangen van je ontwerp kan verbinden met de schakelaars, drukknopjes, LEDs en cijferdisplays van het bordje hoe je nieuwe VHDL-bestanden en testbanken aan je ontwerp toevoegt hoe je je ontwerp kan simuleren met behulp van een testbank hoe je je ontwerp kan verificeren met behulp van een testbank hoe je via de golfvormen alle signalen in alle modules van je ontwerp kan bestuderen om na te gaan waardoor eventuele fouten veroorzaakt worden hoe je ervoor zorgt dat bepaalde bestanden wel of niet mee gesimuleerd worden hoe je ervoor zorgt dat bepaalde bestanden wel of niet mee gesynthetiseerd worden hoe je je ontwerp synthetiseert (logische synthese) en afbeeldt op de hardware (fysische synthese) hoe je na fysische synthese een simulatie kan doen met vertragingsinformatie (backannotation - timing simulation) met dezelfde testbank die je gebruikte om je VHDL-code te verificeren hoe je kan nagaan hoeveel plaats je ontwerp inneemt op de FPGA hoe je de programmeer-informatie voor je FPGA kan genereren en de FPGA kan programmeren om te testen of je ontwerp correct werkt 1.4 Rapportering Voor dit onderdeel is geen rapportering vereist. 2

6 Deel I Een eenvoudige rekenmachine 3

7 Hoofdstuk 2 Aansturing van de LED-cijferdisplays 2.1 Doelstellingen In dit practicum wordt aan de hand van het aansturen van de LED-cijferdisplays het beschrijven van combinatorische schakelingen in VHDL aangeleerd. Het beschreven gedrag wordt geverificeerd aan de hand van een testbank en getest op de hardware. 2.2 Voorbereiding Ter voorbereiding van dit practicum dien je de practicumopgave door te nemen en de slides i.v.m. het realiseren van combinatorisch gedrag in VHDL. Indien je de lessen hebt bijgewoond zou je vertrouwd moeten zijn met alle begrippen die in de opgave voorkomen (i.h.b. de termen waarheidstabel en Boolese vorm). Mocht dit niet het geval zijn, dan wordt je geacht het betreffende lesmateriaal door te nemen vooraleer je naar het practicum komt. 2.3 Aansturing van de Basys3 LED-displays Een BCD-getal (binary coded decimal) is een 4-bitgetal dat een decimaal cijfer (0-9) voorstelt. De codering is hierbij niet anders dan bij een gewoon 4-bitgetal, behalve dat we op voorhand afspreken dat de codes die overeenstemmen met de getallen niet gebruikt worden. In dit practicum maak je verschillende versies van een VHDL-module die een BCD-getal omzet naar de aanstuursignalen voor een LED-cijferdisplay. Figuur 2.1 toont hoe de LEDs (LED = light emitting diode) op het bordje geschakeld zijn. Om een segment aan te schakelen moet er stroom door de LED vloeien. Daarvoor moet de anode die LED dus hoog zijn en de kathode laag. Voor elk van de 4 LED-displays is er één gemeenschappelijke anode. Voor elke set van 4 overeenstemmende segmenten (bijvoorbeeld segment 0 in de rechtse afbeelding van figuur 2.1) is er één gemeenschappelijke kathode. Om dus bijvoorbeeld enkel de meest rechtse display het cijfer 1 te laten weergeven moet anode(0) hoog zijn (de andere anodes laag) en moeten kathode(1) en kathode(2) laag zijn (de andere kathodes hoog). In het configuratiebestand waarin de in- en uitgangen worden geactiveerd zijn de anodes aangeduid met de naam an en de kathodes met de naam seg. 4

8 Figuur 2.1: Aansturing van de segmenten van de LED-display. Als meerdere anodes tegelijk hoog zijn, zullen alle overeenkomstige displays hetzelfde patroon vertonen. Om de displays een verschillend patroon te laten weergeven worden ze één voor één aangestuurd met zo n hoge frequentie dat het menselijk oog geen flikkering waarneemt. 2.4 opgave Eerste beschrijving Start nu een nieuw project. Let erop dat je dit doet op een pad waarvan de naam geen spaties bevat. Gebruik dezelfde instellingen als in de vorige opgave en importeer opnieuw het Basys3 configuratiebestand Basys3 Master.xdc. Voeg de VHDL-bestanden bcdto7segment boolsevormen.vhd en single display driver.vhd toe. Het laatste bestand is het topniveau van dit project. Het stuurt de anodes zó aan dat enkel de eerste display actief is en verbindt de decoder, beschreven in het tweede bestand, tussen de meest rechtse 4 switches en de 7 kathodes. Activeer de nodige inputs en outputs in het configuratiebestand. In de architecture van de decoder wordt nu aan alle kathodes de waarde 0 toegekend (LED niet actief). Beschrijf nu in VHDL het gedrag dat het bitpatroon van de switches omzet naar het overeenkomstige patroon op een LED-display. Doe dit door voor elke kathode een boolese vergelijking neer te schrijven en deze letterlijk te vertalen naar VHDL. Daarvoor kan je and, or en not() gebruiken. Voeg het testbankbestand ingangspatronen.vhd toe aan je simulatiebestanden (add simulation inputs) en bestudeer de code ervan. Dit bestand overloopt 1 maal alle ingangspatronen. Je kan het later gebruiken als basis voor het simuleren van andere combinatorische circuits. Ga na dat het testbankbestand enkel wordt vermeld bij de simulation sources, niet bij de design sources. Simuleer de testbank en bestudeer de golfvormen. Tracht aan de hand van de golfvormen na te gaan of jullie implementatie correct is. Als je wijzigingen aan je bestanden moet aanbrengen, kan je de simulatie op twee manieren herstarten: via het commando restart (terugspoel-icoontje) of via het commando relaunch (icoontje met terugdraaiende pijl). Let op: enkel in het laatste geval worden gewijzigde VHDL-bestanden automatisch opgeslagen en opnieuw gecompileerd. Gebruik dus best altijd relaunch! Let ook op: als je nieuwe interne signalen of variabelen toevoegt in je VHDL-bestand, worden die meestal zelfs niet zichtbaar via relaunch. In dat geval moet je de simulatie sluiten en een nieuwe simulatie starten. 5

9 2.4.2 Automatische verificatie aan de hand van een testbank Maak voortaan voor elke deelmodule (entity) die je beschrijft een testbankbestand dat minstens de simulatie automatiseert en bij voorkeur ook automatisch het gedrag controleert. Het testbankbestand ingangspatronen en controle.vhd bevat zo n automatisch controleproces. Importeer het en kies de overeenkomstige entity als topniveau in de simulation settings. Simuleer de nieuwe testbank en ga na of alles correct verloopt. Breng enkele foutjes aan in je model en controleer of de testbank deze detecteert. Deze testbank overloopt enkel de geldige BCD-patronen 0000 t.e.m Pas de testbank nu aan zodat hij alle 4-bit patronen overloopt. Hiervoor moet je op twee plaatsen in de VHDL code wijzigingen aanbrengen. Vraag: Wat doet jullie ontwerp voor de bitpatronen die overeenstemmen met ingangswaarden 10-15? Komt dit overeen met je verwachtingen? Synthetiseer en implementeer het project en programmeer het Basys3 bordje en test het gedrag door de schakelaars te verzetten Tweede beschrijving Voeg nu het VHDL-bestand bcdto7segment waarheidstabel.vhd toe aan je ontwerp. Hierin wordt een tweede architecture voor de entity bcdto7segment aangemaakt. Vul het bestand aan met een architecture-beschrijving die letterlijk de waarheidstabel van de gewenste decoder implementeert. Een letterlijke vertaling van de waarheidstabel verkrijg je door gebruik te maken van een case-statement. Hou er rekening mee dat de 4-bit ingang een BCD-getal voorstelt en het gedrag van de schakeling voor ingangswaarden dus niet van belang is. Merk op dat een signaalwaarde X door Vivado behandeld wordt als een don t care uitgang. Verificeer ook jullie tweede versie aan de hand van simulatie. Pas hiervoor eerst de gebruikte architecture van de decoder aan in het bestand single display driver.vhd. Pas tenslotte je laatste ontwerp aan zodat het ingangspatroon 1111 een min-teken (enkel segment 6) realiseert en voer nog éénmaal de verificatie- en teststappen uit Analyse van de vertragingen Doe nu ook een tijdssimulatie (post-implementation en meet op de golfvormen de vertragingstijden tussen een overgang aan de ingangen en het tijdstip waarop alle displayuitgangen hun stabiele eindwaarde bereikt hebben en neem de gerapporteerde vertragingen op in je verslag. Vraag: Zijn de vertragingen voor éénzelfde uitgang steeds gelijk? Kan je dit verklaren? Vraag: Zijn de overgangen steeds monotoon? Welk fenomeen nemen we hier waar? 2.5 Rapportering De rapportering voor dit onderdeel gebeurt na het afronden van Hoofdstuk 3. Dien je VHDL-bestanden in samen met een kort verslag dat screenshots bevat van correcte simulatiegolfvormen (zonder- en met tijdsinformatie) en de antwoorden op de vragen die gesteld worden in de tekst. 6

10 Hoofdstuk 3 Combinatorische modules in het datapad 3.1 Doelstellingen In dit onderdeel implementeer je de combinatorische onderdelen van het datapad van je rekenmachine. 3.2 Voorbereiding Ter voorbereiding van dit practicum dien je de opgaven van Hoofdstukken 1 en 2 te hebben afgewerkt en de opgave van dit hoofdstuk door te nemen. Opnieuw wordt verondersteld dat je vertrouwd bent met alle begrippen die in de opgave worden gebruikt. 3.3 Opgave Maak een nieuw project voor dit practicum en importeer het blanco configuratiebestand. Activeer waar nodig voor elke deelopgave de gebruikte ingangen en uitgangen. Voeg telkens je nieuwe VHDL-bestanden toe maar zorg ervoor dat voor elke opgave enkel de voor die opgave relevante entities en/of testbanken actief staan. Let erop dat je afgewerkte bestanden niet verwijdert want je moet ze later nog hergebruiken en ook indienen (je kan ze inactief maken door de optie disable te gebruiken) Multiplexers en demultiplexers Een multiplexer wordt gebruikt om één uit meerdere ingangen (bits of bitvectoren) te selecteren en door te koppelen naar een uitgang. Voor N verschillende ingangen worden log 2 (N) selectiebits gebruikt. Een demultiplexer werkt net omgekeerd: één enkele ingang wordt doorgekoppeld naar één uit N uitgangen. Beschrijf een multiplexer die selecteert tussen 2 4-bitsignalen (een 2-naar-1 multiplexer met woordbreedte 4) en simuleer het gedrag met een eenvoudige testbank. Zorg ervoor dat de testbanksignalen zó worden aangelegd dat er steeds maar 1 ingang tegelijk verandert en controleer op de golfvormen of de uitgang ook steeds mee-verandert. Doe hetzelfde voor een 1-naar-2 demultiplexer met woordbreedte 4. 7

11 Figuur 3.1: Blokschema van een ripple-carry opteller. Figuur 3.2: Blokschema van een carry-lookahead opteller Optellen In een ripple-carry opteller worden meerdere 1-bitoptellers ( (full adders) gecombineerd tot een meerbitopteller volgens het schema van figuur 3.1. Een full-adder heeft twee op te tellen ingangsbits en een carry-ingang, een som-uitgang en een carry-uitgang. Schrijf de Boolese vormen neer voor beide uitgangen van de full-adder en schrijf een VHDL entity full adder die deze realiseert. Maak dan in een tweede entity adder4 een 4-bit opteller door 4 full-adderblokjes te combineren zoals aangegeven in het schema. Noem de architecture rca. De ingangen zijn 2 maal 4 bit voor de operandi en 1 bit voor de carry-in. De uitgangen zijn het 4-bit resultaat en de carry-out. Maak nu een top-niveau entity waarin de opteller tussen de eerste 8 schakelaars (2 4-bitgetallen) en de eerste 5 ledjes (carry-uitgang en 4-bitgetal) wordt geschakeld. Verbind de carry-ingang met de 9-de schakelaar (sw8). Verificeer je opteller aan de hand van een automatische testbank die met één enkele 9-bit teller alle mogelijke ingangspatronen overloopt. Implementeer en doe een tijdssimulatie. Vraag: Voor welke ingangstransitie(s) is de vertraging het grootst? Leg uit. Een alternatieve implementatie van een meerbitopteller is gebaseerd op het principe van carry-lookahead. In dit schema worden voor elke 1-bitoptelling twee signalen berekend: G (voor generate) en P (voor propagate). Het eerste signaal geeft aan of het carry-out signaal zowieso hoog moet zijn (onafhankelijk van carry-in) en wordt bepaald door de Boolese vorm G i = A i B i. Het tweede geeft aan of de carry-ingang gewoon moet worden doorgegeven van ingang naar uitgang: P i = A i + B i. Aangezien beide signalen 8

12 enkel afhangen van de operandi, kunnen ze voor alle ingangsbits in parallel berekend worden. De uitdrukking voor de carry-uitgangen wordt hierdoor eenvoudiger, namelijk: C i+1 = G i + P i C i. Het resulterende optellerschema wordt weergegeven in figuur 3.2). Beschrijf nu in VHDL één CLA-blok en gebruik 4 cla-blokken om een tweede architecture, genaamd cla, te maken voor de entity adder4. verificeer met dezelfde testbank, implementeer, test en rapporteer de maximale combinatorische vertraging Optellen en aftrekken We maken nu een combinatorische module die zowel de som als het verschil van twee 4-bitgetallen kan berekenen. We zullen er hierbij geen rekening mee houden dat deze getallen BCD-getallen voorstellen. De uitgangen van de module stellen de absolute waarde voor van het resultaat (5 bit) en een tekenbit. Een veel gebruikte methode om twee positieve binair gecodeerde getallen van elkaar af trekken is de complementmethode. Deze bestaat erin om het twee-complement te nemen van het af te trekken getal en dit bij het eerste getal op te tellen. Het twee-complementgetal krijgt men door alle bits te inverteren en 1 op te tellen bij het resultaat. Om geen twee optellingen te moeten uitvoeren, gebruikt men hiervoor één opteller waarvoor het tweede argument het bitgewijze complement is van het af te trekken getal en waarbij de carry-ingang van de eerste trap op 1 wordt gezet. Het resultaat staat eveneens in twee-complementnotatie. Bij het optellen stellen de carry-uitgang en de 4 som-bits samen de absolute waarden van het resultaat voor. Bij het aftrekken vergt het iets meer werk om het resultaat te interpreteren. Is de carryuitgang hoog, dan is het resultaat positief en stellen de 4 som-bits de absolute waarde van het resultaat voor. Is de carry-uitgang laag, dan is het resultaat negatief en moet men opnieuw het twee-complement nemen van de 4 som-bits om de absolute waarde van het resultaat te vinden. Aangezien dit een extra optellervertraging met zich meebrengt, is het efficienter om bij aftrekking A - B en B- A in parallel te berekenen en, afhankelijk van het resultaat, de juiste bits te selecteren om de absolute waarde van het verschil te bepalen. Bij het optellen geven beide optellerblokken natuurlijk hetzelfde resultaat. Ga zelf na wat het resultaat is als je twee identieke getallen van elkaar aftrekt. Vraag: Leg uit waarom je bij het optellen 5 bits gebruikt voor de absolute waarde en bij het aftrekken maar 4. Teken een blokschema van de architectuur die bovenstaande beschrijving realiseert. Deze heeft twee 4-bit ingangen, een opcode-ingang die laag is voor optellen en hoog voor aftrekken, één 4-bituitgang en een carry-uitgang (in totaal dus een 5-bit uitgang) en een tekenbit-uitgang. Het blokschema bevat twee optellers, verschillede multiplexers en Boolese vergelijkingen om de uitgangen en de geïnverteerde ingangen te berekenen (neem dit blokschema op in je verslag). Implementeer deze module in VHDL in een entity addsub4. Gebruik de cla architectuur van je opteller. Pas nu je topniveau aan zodat je de add-sub module kan testen. Bij een positieve uitgang worden dezelfde 5 LEDs gebruikt om de som weer te geven. Bij een negatieve uitgang wordt het twee-complement van de 4 som-bits naar de eerste 4 LEDs gebracht. De vijfde LED wordt gebruikt als tekenbit. Verificeer het gedrag aan de hand van een automatische testbank. Aangezien je al geverificeerd hebt dat de opteller correct werkt, kan je je hier beperken tot het nemen van een aantal steekproeven met 9

13 optellen (met en zonder verwachte carry bit) en aftrekken (voor een positief en een negatief resultaat). Je kan nu voor elk geval het bitpatroon aan de ingang aanleggen en het bitpatroon aan de uitgang rechtstreeks vergelijken met het verwachte bitpatroon in plaats van het te berekenen. Implementeer het ontwerp vervolgens op het bordje en test het gedrag Omzetten van bitvectoren naar BCD-getallen Willen we nu de 5-bit getallen die uit de addsub4 module komen voorstellen als decimale getallen op de cijferdisplays. Hiervoor moeten we eerst een decoder maken die patronen van 5 bit omzet naar 2 BCD-getallen. In het algemene geval kan men dit doen door het quotient en de rest bij deling door 10 (bitpatroon 1010 ) te bepalen. Een deling van twee digitale getallen kan je implementeren op een gelijkaardige manier als een klassieke staartdeling, waarbij het resultaat bij deling nu enkel de waarden 0 of 1 kan aannemen. In dit geval is de situatie gelukkig eenvoudiger dan het algemene geval, aangezien de som van twee BCD-getallen maximaal 18 kan zijn. We zullen hier dus een rechtstreekse decoder maken (5-bit binair naar 2 x 4-bit BCD) aan de hand van een waarheidstabel met 18 ingangspatronen waarvoor de uitgang bepaald is. Voor de andere ingangspatronen is de uitgang don t care. Schrijf een VHDL-module die dit gedrag implementeert en verificeer aan de hand van een automatische testbank. Aangezien het aansturen van meerdere LED-displays via een sequentieel proces verloopt, zullen we deze module testen in het volgende hoofdstuk. 3.4 Rapportering Dien je VHDL-bestanden (zowel modules als testbanken) in samen met een kort verslag dat screenshots bevat van correcte simulatiegolfvormen (zonder- en met tijdsinformatie) en de antwoorden op de vragen die gesteld worden in de opgave. 10

14 Hoofdstuk 4 Sequentiële modules in het datapad 4.1 Doelstellingen In dit onderdeel implementeer je de sequentiële onderdelen van het datapad van je rekenmachine. 4.2 Voorbereiding Ter voorbereiding van dit practicum dien je te bestuderen hoe men sequentiële componenten beschrijft in VHDL, hoe men het gedrag van automaten kan specificeren aan de hand van een toestandstransitiediagram (syllabus en lesmateriaal) en hoe men deze beschrijving vervolgens kan omzetten naar VHDL-code (slides over VHDL). Zoals steeds word je geacht vertrouwd te zijn met alle gebruikte termen en begrippen, ook indien je de lessen niet hebt bijgewoond. 4.3 Opgave De klok Vanaf nu zullen we synchrone componenten ontwerpen, waarvan één van de ingangen een kloksignaal is. Bij het verificeren van deze componenten in een testbank, zullen we hiervoor de klok gebruiken die in de testbank wordt gegenereerd. Bij de implementatie gebruiken we hiervoor de 100MHz klok die op de FPGA wordt gegenereerd. Start een nieuw project en importeer een blanco versie van het constraints-bestand (het bestand van Minerva). Activeer nu de drie lijntjes onder ##Clock signal: set property PACKAGE PIN W5 [get ports clk] set property IOSTANDARD LVCMOS33 [get ports clk] create clock -add -name sys clk pin -period waveform 0 5 [get ports clk] De eerste twee lijntjes zorgen ervoor dat op het topniveau het signaal clk wordt verbonden met de klok van de FPGA. Het derde lijntje zorgt ervoor dat de synthese- en de implementatiesoftware weten dat dit een klok is en dus zullen nagaan of aan alle voorwaarden voor correct synchroon gedrag is voldaan. 11

15 4.3.2 De display driver In een vorige opgave leerden jullie hoe je één enkel cijfer op de LED-display kan brengen. In wat volgt zullen we meerdere symbolen naast elkaar moeten kunnen weergeven. Zoals eerder aangegeven gebeurt dit door de 4 individuele displays één voor één aan te sturen. Door de erg lage bandbreedte van de LEDs (het aan- en uitschakelen gaat erg traag) moeten we dit veel trager doen dan de klokfrequentie van het systeem. In het bestand multiple display driver is dit geïmplementeerd. De entity heeft 16 ingangsbits (4 per display). Een twee-bit controlesignaal selecteert telkens de juiste 4 bits via een 4-naar- 1 multiplexer en de juiste waarde voor het anodesignaal. Om het overlopen van de 4 waarden van de twee selectie voldoende traag te laten verlopen, worden hiervoor de 2 meest significante bits van een 16-bit teller gebruikt. Bestudeer deze realisatie en tracht te begrijpen hoe ze werkt. Vraag: Hoe lang wordt elke individuele display aangestuurd bij een klokperiode van 10 ns? Registers De meest eenvoudige sequentiële datapadcomponent is een register. Net als een flipflop heeft een register een klok-ingang, data-in- en uitgangen en één of meerdere controleingangen waarop het register synchroon (enkel bij stijgende klokflanken) of asynchroon (onmiddellijk) reageert. We zullen in dit practicum registers gebruiken met een asynchrone reset ingang en met een synchrone enable ingang. Bij hoge reset moeten alle bits in het register op 0 gezet worden. enable geeft aan wanneer het register zijn ingangen moet opslaan (hoge waarde) dan wel zijn huidige toestand moet beghouden (lage waarde). Beschrijf een entity Reg4 die een 4-bit register implementeert. Controleer aan de hand van een eenvoudige testbank (enkel behavioral simulatie met golfvormen) of je register correct reageert op het klok-, reset- en enable-signaal Componenten met variabele woordbreedte: generic parameters In de veel ontwerpen heb je componenten met éénzelfde gedrag nodig maar met verschillende woordbreedte. Om niet voor elke woordbreedte een nieuwe entity te moeten schrijven, biedt VHDL ook de mogelijkheid om parameters mee te geven aan een entity met behulp van de term generic. De declaratie van een entity die de bitsgewijze EN berekent van twee vectoren zou er bijvoorbeeld als volgt kunnen uitzien: entity and operator is generic( N : integer) port( A : in std logic vector(n-1 downto 0); B : in std logic vector(n-1 downto 0); O : out std logic vector(n-1 downto 0) ); end and operator; 12

16 Deze entity gebruik je dan in een andere module door de waarde van de parameter (hier gelijk aan 10) te specificeren als volgt: mijn and: entity work.and operator(architecture name) generic map( N => 10) port map( A => local signal1, B => local signal2, O => local signal3 ); waarbij de lokale signalen natuurlijk de juiste woordbreedte moeten hebben (10 in dit geval). Pas nu je register en je multiplexer aan zodat de woordbreedte geparameteriseerd wordt. De reset van je register zal je ook moeten aanpassen (waarom?). Je kan dit bijvoorbeeld doen door een constante te declareren en deze in je register op te slaan bij reset: constant zeros: std logic vector (N-1 downto 0) := (others => 0 ); Een synchrone BCD op- en neerteller In wat volgt zullen we een module maken waarin we interactief een cijfer kunnen invoeren. De huidige invoer wordt weergegeven op de display driver. Door op het bovenste of het onderste knopje te drukken kunnen we dit cijfer telkens met één laten toenemen/afnemen (met zgn. wraparound als we bij 9, resp. 0 komen). Als we tevreden zijn met onze selectie kunnen we deze in een register opslaan door op het middelste knopje te drukken. Het overlopen van de waarden zullen we doen door een BCD-teller te maken die zowel omhoog als omlaag kan tellen. Net als het register moet deze component een asynchrone reset en een synchroon enable signaal hebben. De interpretatie is nu dat er enkel geteld wordt bij stijgende klokflank als enable hoog is. Daarnaast is er ook een ingang die aangeeft in welke richting geteld moet worden: hoog voor omhoog tellen, laag voor omlaag tellen. In principe kan je deze module beschrijven met de bouwblokken die je al gemaakt hebt, maar hier zullen we een eenvoudiger benadering volgen die in de praktijk, zeker bij FPGA s, meestal het beste resultaat geeft omdat ze de expertise die aanwezig is in de synthesetools maximaal benut. Realiseer het gedrag van de BCD-teller in een nieuwe entity. Kopieer onderstaande libraries in het entity-bestand van je BCD-teller: use ieee.std logic arith.all, ieee.std logic unsigned.all; Deze libraries leren aan de compiler hoe je kan rekenen met bitvectoren en maken deze berekeningen rechtstreeks synthetiseerbaar. Je kan nu het gewenste gedrag realiseren door te starten van onderstaand proces uit de allereerste testbank van de BCD-decoder: 13

17 process(clk,reset) begin if(reset= 1 ) then Interne teller <= "1111"; elsif rising edge(clk) then if Interne teller="1001"then Interne teller <= "0000"; else Interne teller <= Interne teller + "0001"; end if; end if; end process; Kopieer dit proces in de entity van je BCD-teller en pas het aan om het gewenste gedrag te realiseren De knopjes Het enige wat we nog moeten kunnen om de knoppen te gebruiken zoals hierboven beschreven is het loslaten van een ingedrukt knopje detecteren. Om een wijziging van een signaal te detecteren moeten we de vorige en de huidige waarde kunnen vergelijken. Hiervoor is geheugen nodig. We hebben dus een automaat nodig om het gewenste gedrag te realiseren. Deze heeft één uitgangsbit die hoog moet zijn gedurende precies één klokperiode nadat het knopje is losgelaten. Dit signaal kunnen we dan bijvoorbeeld gebruiken om de BCD-teller precies één tel omhoog of omlaag te laten tellen. Beschrijf in een nieuwe entity een synchrone automaat met asynchrone reset en één uitgangsbit. Als reset hoog is gaan we naar een wachttoestand waarin de uitgang laag is. Als reset hoog is wordt het volgend gedrag gerealiseerd: was de vorige toestand de wachttoestand, dan gaan we naar een toestand die de situatie van de knop weergeeft (ingedrukt/niet ingedrukt) en blijft de uitgang laag; was de knop niet ingedrukt en wordt hij nu wel ingedrukt dan gaan we over naar de toestand die hiermee overeenstemt en blijft de uitgang laag; was de knop ingedrukt en is dat nu niet langer het geval dan gaan we over naar een toestand waarin de uitgang hoog is - in deze toestand blijven we maar één klokcyclus en we gaan daarna over naar de toestand dieaangeeftdat de knop niet is ingedrukt. Teken het toestandstransitiediagram dat deze automaat beschrijft en neem het op in je verslag. Beschrijf deze daarna in VHDL in een entity button pressed en simuleer aan de hand van een automatische testbank. Zorg ervoor dat, bij het aanleggen van de ingang aan de automaat, het indrukken en loslaten van de klok niet samenvalt met klokflanken. Het gedrag van deze automaat is zo eenvoudig dat het niet zo veel zin heeft om een automatisch controlerende testbank te maken. Je mag het gedrag gewoon controleren op de golfvormen. 14

18 4.3.7 Test voor het invoeren van data Maak nu een topniveau VHDL bestand met als invoer de up, down en central knoppen en de klok en als uitvoer de signalen voor de LED-displays, led en an. Let erop dat de nodige lijntjes voor een topniveau-bestand actief staan zodat de in- en uitgangen effectief worden doorgekoppeld met de IO-pinnen. Gebruik de centrale knop als resetsignaal. Instantieer twee button pressed automaten met als ingangen de op- en neer-knoppen. Instantieer een BCD op-en-neerteller en combineer de signalen die uit beide knop-automaten komen om op correcte wijze de controlesignalen (enable en telrichting) van de teller aan te sturen. Instantieer de multiple-display-driver en stuur die aan met de juiste signalen zodat het te selecteren getal wordt weergegeven op een display van je keuze. Implementeer je ontwerp en test op het bordje. 4.4 Rapportering Dien je VHDL-bestanden in samen met een kort verslag dat screenshots bevat van correcte simulatiegolfvormen (zonder- en met tijdsinformatie) en de antwoorden op de vragen die gesteld worden in de tekst. 15

19 Hoofdstuk 5 Het datapad en de controller 5.1 Doelstellingen In dit onderdeel breng je alle onderdelen van het datapad samen en ontwerp je de controller voor de rekenmachine. 5.2 Voorbereiding Ter voorbereiding van dit practicum dien je de vorige opgaven te hebben afgewerkt. 5.3 Opgave Het gedrag van de rekenmachine Met de onderdelen die we gemaakt hebben zullen we nu het gedrag realiseren waarbij achtereenvolgens volgende stappen doorlopen worden: We realiseren een synchroon ontwerp en gebruiken schakelaar 0 als resetsigaal. Na reset wordt op alle 4 de displays een minteken getoond. De gebruiker start een (nieuwe) berekening door op de centrale knop te drukken. Andere acties (behalve reset) van de gebruiker hebben geen effect. De gebruiker voert een eerste cijfer door op de bovenste en onderste knoppen te drukken tot wanneer het gewenste cijfer op de meest rechtse display staat en bevestigt zijn/haar keuze door op de centrale knop te drukken. Andere acties (behalve reset) van de gebruiker hebben geen effect. De gebruiker voert een tweede cijfer door op de bovenste en onderste knoppen te drukken tot wanneer het gewenste cijfer op de meest rechtse display staat en bevestigt zijn/haar keuze door op de centrale knop te drukken. Andere acties (behalve reset) van de gebruiker hebben geen effect. De gebruiker kiest een bewerking door de rechter (optellen) of linker (aftrekken) knop in te drukken. Andere acties (behalve reset) van de gebruiker hebben geen effect. 16

20 Het resultaat van de bewerking verschijnt op de display. Is het resultaat positief en kleiner dan 10, dan verschijnt er slechts één cijfer op de meest rechtse display. Is het resultaat positief en groter dan negen, dan worden de twee meest rechtse displays gebruikt. Is het resultaat negatief, dan wordt de meest rechtse display gebruikt voor het cijfer en de tweede display van links om een minteken weer te geven. Enkel het intoetsen van de centrale knop (start een nieuwe berekening) of een reset-signaal hebben een effect Datapad en controller Het datapad van onze rekenmachine heeft de volgende ingangen: Het 4-bit BCD-getal dat uit de BCD-teller komt (invoer van operandi) De button pressed signalen voor de centrale, linker- en rechterknop (controle, add, subtract) Het signaal van de meest rechtse schakelaar (gebruikt als reset) Het kloksignaal De nodige controlesignalen De uitgangen van het datapad zijn de aanstuursignalen van de display driver (16 bit data en 4 bit mask). In het datapad worden twee 4-bit registers gebruikt om de twee operandi op te slaan. Daarnaast is er natuurlijk een opteller/aftrekker nodig en de decoder die een 5-bitgetal omzet in twee BCD-getallen, enkele processen (evt. van één lijn) die de juiste signalen combineren en de juiste maskers maken voor de LED display driver en enkele multiplexers om te kiezen tussen uitgangen die van de getalselectie komen en uitgangen die van de berekening afkomstig zijn. Er zijn enkele eenvoudige bewerkingen die je naar keuze in de controller kan implementeren of door het datapad kan laten doen. In het laatste geval kan je hierdoor het aantal in- en/of uitgangen van je controller reduceren en dus de beschijving ervan vereenvoudigen. Teken eerst een blokschema van het datapad en maak een eerste schets van het toestandstransitiediagram van de controller (enkel de toestanden en wat ze betekenen). Ga vervolgens na welke signalen uit het datapad de controller moet observeren en noteer de voorwaarden voor elke toestandsovergang. Ga tenslotte na welke componenten uit het datapad controle-ingangen nodig hebben die afhankelijk zijn van de toestand van de controller en tracht het toestandstransitiediagram te vervolledigen met de juiste uitgangswaarden. Denk telkens na of je een Moore-gedrag of een Mealy-gedrag nodig hebt. Ga ook steeds na of je al dan niet tussentoestanden moet toevoegen in je toestandstransitiediagram. Dit kan bijvoorbeeld voorkomen als je binnen een bepaalde fase van het gedrag eerst één en dan een ander uitgangspatroon moet genereren. In de meeste gevallen kan je dit, behalve door het invoeren van een tussentoestand, ook realiseren door een decompositie waarbij een tweede eenvoudig automaatje gebruikt wordt om aan te geven in welke deelfase je zit. Overleg binnen de groep en zorg dat je volledig overtuigd bent van het correcte gedrag van het geheel op basis van je schema vooraleer over te gaan tot implementatie, dit om achteraf zo weinig mogelijk tijd te moeten besteden aan debuggen. 17

21 Realiseer de controller in een afzonderlijke entity. Neem in je verslag je finale toestandstransitiediagram van de controller op (zonder vermelding van de uitgangen) en een waarheidstabel waarin de uitgangen van je controller voor elke toestand (en evt. ingang) worden vermeld. Beschrijf ook het gedrag van je controller en de uitgangen die gerealiseerd worden in je verslag Verificatie met ROM-bestanden Vaak moet je testbank een vrij groot aantal ingangspatronen aanleggen en de uitgangen op het juiste tijdstip controleren. Bij het type testbank dat we tot nu toe gebruikt hebben zou dit te omslachtig worden. We zullen hier een nieuwe vorm van testbank leren gebruiken die gebruik maakt van een apart bestand met testvectoren (aangelegde ingangspatronen en verwachte uitgangen). Elke lijn van dit bestand bevat de ingangen die in één klokcyclus worden aangelegd en de uitgangen die aan het einde van dezelfde cyclus (dus bij de volgende klokflank) verwacht worden. Merk op dat dit betekent dat een dergelijke testbank enkel synchroon test en niet nagaat hoe een systeem reageert op ingangstransities tussenklokflanken door. Een sjabloon voor een dergelijk gedrag wordt geïmplementeerd in het bestand testbank rom.vhd met bijhorend ROM-bestand input vectors.txt. Dit laatste bestand moet je toevoegen aan je project als simulation source (vervang het bestandstype van VHDL naar memory file). Deze testbank voert een paar testjes uit op de automaat button pressed. De testbank is zó geschreven dat lijntjes in het ROM-bestand die beginnen met het symbool # als commentaar beschouwd worden. Gebruik bij het testen van complexere systemen met verschillende scenario s bij voorkeur dergelijke commentaar regels om je ROM-bestand te annoteren. Momenteel geeft deze testbank echter niet veel nuttige informatie bij het optreden van een fout. De ingangspatronen zijn hier immers zo simpel dat elk patroon meerdere malen optreedt. Het zou bijvoorbeeld veel zinvoller zijn mocht ze ook aangeven op welke lijn van de ROM-tabel de fout optreedt. Tracht deze testbank uit te breiden zodat ze meer zinvolle informatie geeft. Maak nu een entity calculator waarin datapad en controller van de rekenmachine worden samengebracht (dus NIET de I/O-modules). De ingangen van deze entity zijn het resetsignaal, de klok, de uitgangen van de knopmodules, en de uitgangen van de cijfer-selectiemodule. De uitgangen ervan zijn het 16-bitsignaal en het 4-bit masker die de ingangen vormen van de display-driver. Maak vervolgens een bestand met daarin de verwachte ingangs- en uitgangspatronen voor de rekenmachine. Doorloop daarbij verschillende keren het traject van één berekening. Je kan hiervoor een 10-tal berekeningen selecteren van dezelfde types (maar met lichtjes andere waarden) als diegene die je gebruikte in de testbank van de add-sub module. Beschrijf elke nieuwe berekening in een commentaar-regel. Laat ook af en toe gebeurtenissen optreden die overeenstemmen met ongeldige acties van de gebruiker: deze mogen volgens de specificaties geen gevolg hebben. Duid ook deze testen aan via commentaar regels. Gebruik je testbank om je ontwerp automatisch te controleren. Als je testbank fouten meldt, ga dan via de golfvormen na wat er misloopt. Bestudeer hiervoor niet enkel de externe signalen maar ook de inwendige signalen in je datapad en controller. Noot: Voor meer complexe toepassingen kan je met twee bestanden werken, bijvoorbeeld om controlesignalen en data-input te splitsen. Je kan vaak een extern script al deze bestanden automatisch laten genereren. In een beeldverwerkingstoepassing kan je 18

22 bijvoorbeeld ook het gegenereerde uitgangsbeeld wegschrijven om het resultaat visueel te kunnen analyseren Testen in hardware Maak tenslotte een nieuwe topniveau-entity waarin de module uit de vorige paragraaf gecombineerd wordt met de I/O-modules (de BCD-teller, 5 knopmodules en de multipledisplay-driver) en gekoppeld worden aan de nodige ingangen en uitgangen van het bord (de clk, 1 schakelaar, 5 knoppen en de LED-displays). Implementeer je ontwerp en test op het bordje. Als je ervan overtuigd bent dat het gedrag in hardware voldoet aan het beschreven gedrag, laat je finale realisatie controleren/evalueren door de prof. of een begeleider. 5.4 Rapportering Dien je VHDL-bestanden en testbanken in samen met een kort verslag dat screenshots bevat van correcte simulatiegolfvormen, de automaatbeschrijvingen (toestandstransitiediagrammen), een structuurdiagram van je finale ontwerp en een bespreking ervan. Geef ook uitleg bij je keuzes op die plaatsen waar verschillende alternatieven mogelijk waren. 19

Practicumnota s Digitale Elektronica

Practicumnota s Digitale Elektronica IDLab - Vakgroep Elektronica en Informatiesystemen (ELIS) Practicumnota s Digitale Elektronica prof. dr. ir. J. Dambre Academiejaar 2016 2017 Inhoudsopgave 1 Aan de slag met Vivado en Basys3 1 1.1 Doelstellingen...................................

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.

Nadere informatie

Project Digitale Systemen

Project Digitale Systemen Project Digitale Systemen Case Study The Double Dabble algorithme Jesse op den Brouw PRODIG/2014-2015 Introductie Double Dabble In de digitale techniek wordt veel met decimale getallen gewerkt, simpelweg

Nadere informatie

Digitale Systemen (ET1 410)

Digitale Systemen (ET1 410) Digitale Systemen (ET1 410) Arjan van Genderen Stephan Wong Faculteit EWI Technische Universiteit Delft Cursus 2011 28-4-2011 EE1 410 (Stephan Wong) Pagina 1 Verschil simulatie en synthese Simulatie: functioneel

Nadere informatie

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

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D. Basisbegrippen Digitale Techniek (213001) 9 november 3000, 13.30 17.00 uur 8 bladzijden met 10 opgaven Aanwijzingen bij het maken van het tentamen: 1. Beantwoord de vragen uitsluitend op de aangegeven

Nadere informatie

Antwoorden zijn afgedrukt!!!!!!!

Antwoorden zijn afgedrukt!!!!!!! Computerorganisatie INF/TEL (233) februari 2, 9. 2.3 uur 8 bladzijden met 9 opgaven 3 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam, studentnummer, naam vak, vakcode,

Nadere informatie

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

Combinatorische schakelingen

Combinatorische schakelingen Practicum 1: Combinatorische schakelingen Groep A.6: Lennert Acke Pieter Schuddinck Kristof Vandoorne Steven Werbrouck Inhoudstabel 1. Doelstellingen... 2 2. Voorbereiding... 3 3. Hardware-practicum...

Nadere informatie

Studentnummer:... Opleiding:...

Studentnummer:... Opleiding:... Computerorganisatie INF/TEL (233) februari 2, 9. 2.3 uur 8 bladzijden met 9 opgaven 3 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam, studentnummer, naam vak, vakcode,

Nadere informatie

VHDL overzicht. Digitale Systemen (ET1 410) VHDL? VHDL? Sequentieel vs. Concurrent 2/15/2011

VHDL overzicht. Digitale Systemen (ET1 410) VHDL? VHDL? Sequentieel vs. Concurrent 2/15/2011 VHDL overzicht Digitale Systemen (ET1 410) Arjan van Genderen Stephan Wong Faculteit EWI Technische Universiteit Delft Cursus 2010 2011 Wat is VHDL? Waarvoor gebruiken we het? Deze college Sequentieel

Nadere informatie

Sequentiële Logica. Processoren 24 november 2014

Sequentiële Logica. Processoren 24 november 2014 Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week

Nadere informatie

2 Elementaire bewerkingen

2 Elementaire bewerkingen Hoofdstuk 2 Elementaire bewerkingen 17 2 Elementaire bewerkingen In dit hoofdstuk leer je hoe werken met binaire getallen en hexadecimale getallen omgezet wordt naar een decimaal getal en omgekeerd. Vervolgens

Nadere informatie

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

EE1410: Digitale Systemen BSc. EE, 1e jaar, 2011-2012, 2e werkcollege EE4: igitale Systemen BSc. EE, e jaar, 2-22, 2e werkcollege Arjan van Genderen, Stephan Wong, Computer Engineering 5 t/m 22-3-22 elft University of Technology Challenge the future Voor je begint. ownload

Nadere informatie

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

Practica bij het vak. Inleiding tot de Elektrotechniek: Practicum 2 Analoge versus digitale signalen en hun overdracht Elektronica en Informatiesystemen Practica bij het vak Inleiding tot de Elektrotechniek: Practicum 2 Analoge versus digitale signalen en hun overdracht door Prof. dr. ir. J. Van Campenhout ir. Sean Rul

Nadere informatie

Antwoorden vragen en opgaven Basismodule

Antwoorden vragen en opgaven Basismodule Antwoorden vragen en opgaven Basismodule Antwoorden van vragen en opgaven van hoofdstuk 1 1. Is elke combinatorische schakeling een digitale schakeling? Zo nee, waarom niet? Antwoord: Elke combinatorische

Nadere informatie

Toets Digitale Systemen 01/06/2006, 8.45 10.30 uur

Toets Digitale Systemen 01/06/2006, 8.45 10.30 uur Toets igitale Systemen 0/06/2006, 8.45 0.30 uur e toets is open boek en bestaat uit 0 multiple-choice (MC) vragen en 3 open vragen. e MC-vragen dienen beantwoord te worden op het uitgereikte MC-formulier.

Nadere informatie

Toets Digitale Systemen 31/05/2007, uur

Toets Digitale Systemen 31/05/2007, uur Toets Digitale Systemen 3/5/27, 8.3.3 uur De toets is open boek en bestaat uit multiple-choice (MC) vragen en 3 open vragen. De MC-vragen dienen beantwoord te worden op het uitgereikte MC-formulier. Enkele

Nadere informatie

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

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 2 EE4: Digitale Systemen BSc. EE, e jaar, 22-23, vragencollege 2 Arjan van Genderen, Stephan Wong, Computer Engineering 7-6-23 Delft University of Technology Challenge the future Vragencollege Tentamen dinsdag

Nadere informatie

Opdracht week 4 INLDIG 1

Opdracht week 4 INLDIG 1 Opdracht week 4 Binair-naar-BCD omzetting Inleiding In de digitale techniek worden getallen opgeslagen in het binaire talstelsel. Rekenschakelingen zijn zo eenvoudig te ontwerpen. Helaas is het aflezen

Nadere informatie

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen

Nadere informatie

vrijdag 20 januari 2006 Blad 1 tijd: uur achternaam: voorletters: identiteitsnummer: opleiding:

vrijdag 20 januari 2006 Blad 1 tijd: uur achternaam: voorletters: identiteitsnummer: opleiding: vrijdag 20 januari 2006 Blad 1 Tijdens dit tentamen is het geruik van rekenmachine of computer niet toegestaan. Vul je antwoorden in op dit formulier. Je dient dit formulier aan het einde van het tentamen

Nadere informatie

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

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen is het gebruik van rekenmachine of computer niet toegestaan. Vul je antwoorden in op dit formulier. Je dient dit formulier

Nadere informatie

Jan Genoe KHLim. Reken schakelingen. Jan Genoe KHLim

Jan Genoe KHLim. Reken schakelingen. Jan Genoe KHLim Jan Genoe KHLim Meestal aangewend in digitale computers optellers optellers-aftrekkers Vermenigvuldigers ingebed in een grotere rekeneenheid ALU (Arithmetic and logical unit) 2 Talstelsels definitie Tiendelig

Nadere informatie

2 Elementaire bewerkingen

2 Elementaire bewerkingen Hoofdstuk 2 Elementaire bewerkingen 19 2 Elementaire bewerkingen 1 BINAIRE GETALLEN In het vorige hoofdstuk heb je gezien dat rijen bits worden gebruikt om lettertekens, getallen, kleuren, geluid en video

Nadere informatie

Lab6: Implementatie video timing generator

Lab6: Implementatie video timing generator Het Micro-elektronica Trainings- Centrum Het MTC is een initiatief binnen de INVOMEC divisie. Industrialisatie & Vorming in Micro-elektronica Inleiding In de vorige modules werd een systeem opgebouwd en

Nadere informatie

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

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 8e hoorcollege EE4: Digitale Systemen BSc. EE, e jaar, 22-23, 8e hoorcollege rjan van Genderen, Stephan Wong, Computer Engineering 3-5-23 Delft University of Technology Challenge the future Hoorcollege 8 Combinatorische

Nadere informatie

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 19 januari 2004, 9:00u-12:00u

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 19 januari 2004, 9:00u-12:00u Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek Vakcodes 5A010/5A050, 19 januari 2004, 9:00u-12:00u achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen

Nadere informatie

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

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 1 EE40: Digitale Systemen BSc. EE, e jaar, 202-203, vragencollege Arjan van Genderen, Stephan Wong, Computer Engineering 28-3-203 Delft University of Technology Challenge the future Huiswerk hoorcollege

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.

Nadere informatie

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

Digitale Systeem Engineering 1. Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/2013-2014 Digitale Systeem Engineering 1 Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/2013-2014 PWM basics Het regelen van het toerental van een elektromotor kan eenvoudig worden gedaan door

Nadere informatie

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

Nadere informatie

1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6

1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6 Testprocedure Handleiding INHOUD Algemene informatie 1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6 Test- en voorbeeldsoftware 1. DE TESTPROGRAMMA'S DOWNLOADEN...

Nadere informatie

VOORBLAD SCHRIFTELIJKE TOETSEN

VOORBLAD SCHRIFTELIJKE TOETSEN VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING : ELEKTROTECHNIEK TOETSCODE : UITWERKINGEN INLDIG GROEP : EP, EQD TOETSDATUM : 3 OKTOBER 24 TIJD : 3: 4:3 AANTAL PAGINA S (incl. voorblad) : DEZE TOETS BESTAAT

Nadere informatie

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

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek Vakcode 5A050, 19 januari 2005, 14:00u-17:00u achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen is het gebruik

Nadere informatie

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

OPDRACHTEN PRACTICUM DIGSE1. J.E.J op den Brouw De Haagse Hogeschool Opleiding Elektrotechniek 19 maart 2016 J.E.J.opdenBrouw@hhs. OPDRACHTEN PRACTICUM DIGSE1 J.E.J op den Brouw De Haagse Hogeschool Opleiding Elektrotechniek 19 maart 2016 J.E.J.opdenBrouw@hhs.nl Inleiding Het practicum is zodanig van opzet en moeilijkheidsgraad dat

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere

Nadere informatie

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

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek Vakcode 5A050, 19 januari 2005, 14:00u-17:00u achternaam : voorletters : identiteitsnummer : opleiding : Tijdens dit tentamen is het gebruik

Nadere informatie

Tentamen Digitale Systemen (EE1410) 6 juli 2012, uur

Tentamen Digitale Systemen (EE1410) 6 juli 2012, uur Tentamen igitale Systemen (EE4) 6 juli 22, 9. 2. uur it tentamen is een open boek tentamen en bestaat uit 8 multiple choice (M) vragen (63%) en 5 open vragen (37%). e M-vragen dienen beantwoord te worden

Nadere informatie

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

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek Basisconcept VHDL Tweede studiejaar Wim Dolman Engineering, leerroute Elektrotechniek Faculteit Techniek 1 Deze presentatie toont de stappen voor het ontwerpen van een digitale combinatorische schakeling

Nadere informatie

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Computersysteem Een systeem dat rekenkundige operaties, data manipulaties en beslissingen kan uitvoeren, aan de hand

Nadere informatie

Digitale Systeem Engineering 1. Week 1 VHDL basics, datatypes, signal assignment Jesse op den Brouw DIGSE1/2014-2015

Digitale Systeem Engineering 1. Week 1 VHDL basics, datatypes, signal assignment Jesse op den Brouw DIGSE1/2014-2015 Digitale Systeem Engineering 1 Week 1 VHDL basics, datatypes, signal assignment Jesse op den Brouw DIGSE1/2014-2015 Wat is VHDL VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated

Nadere informatie

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

Studiewijzer Digitale Systeemengineering 1 (E-DIGSE1-13) 3 studiepunten 2018/2019 Elektrotechniek Semester 1.2 Studiewijzer Digitale Systeemengineering 1 (E-DIGSE1-13) 3 studiepunten Verantwoordelijk docent: Jesse op den Brouw J.E.J.opdenBrouw@hhs.nl Overige docent(en): Wasif

Nadere informatie

Eindtentamen Digitale Systemen (ET1405) 18 juni 2008, uur

Eindtentamen Digitale Systemen (ET1405) 18 juni 2008, uur Eindtentamen Digitale Systemen (ET405) 8 juni 2008, 9.00 2.00 uur De tentamen is open boek en bestaat uit 8 multiple choice (MC) vragen en 4 open vragen. De MC-vragen dienen beantwoord te worden op het

Nadere informatie

Hoe werkt een computer precies?

Hoe werkt een computer precies? Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer

Nadere informatie

Tentamen Elektronische Schakelingen (ET1205-D2)

Tentamen Elektronische Schakelingen (ET1205-D2) Vul op alle formulieren die je inlevert je naam en studienummer in. Tentamen Elektronische chakelingen (ET1205-2) atum: donderdag 30 augustus 2007 Tijd: 09.00 12.00 uur Naam: tudienummer: Cijfer Lees dit

Nadere informatie

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

Digitale Systeem Engineering 1

Digitale Systeem Engineering 1 Digitale Systeem Engineering 1 Week 6 metastabiliteit, synchronisatie Jesse op den Brouw DIGSE1/2016-2017 Synchronisatie Een complex digitaal systeem bestaat uit combinatorische en sequentiele logica (poorten

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 2 Binaire getallen, BCD, Gray, ASCII, 7-segment Jesse op den Brouw INLDIG/205-206 Decimaal talstelsel Ons talstelsel is een zogenaamd positioneel talstelsel. Een getal

Nadere informatie

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1 EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1 1. Doel Kennismaking met de EDK van Xilinx: - begrijpen van de ontwerpomgeving en design flow - aanmaken van een Xilinx Platform Studio project

Nadere informatie

scc = b) CD AB

scc = b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

Nadere informatie

Hoofdstuk 4. Digitale techniek

Hoofdstuk 4. Digitale techniek Hoofdstuk 4 Digitale techniek 1 A C & =1 F Figuur 4.1: Combinatorische schakeling. A C & & F A = & F C Figuur 4.2: Drie-input AND. A C _ >1 & F Figuur 4.3: Don t care voorbeeld A? F Figuur 4.4: Onbekende

Nadere informatie

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine? Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type

Nadere informatie

Informatica 2. Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen

Informatica 2. Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen Informatica 2 Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen 1 Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2014 Remie Woudt remie.woudt@gmail.com

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 5 2 s complement representatie, BCD-optellen Jesse op den Brouw INLDIG/2015-2016 Introductie negatieve getallen Tot nu toe zijn alleen positieve getallen (en nul) behandeld.

Nadere informatie

VANTEK Discovery set. N. B. De OPITEC bouwpakketten zijn gericht op het onderwijs. N991240#1

VANTEK Discovery set. N. B. De OPITEC bouwpakketten zijn gericht op het onderwijs. N991240#1 9 9 1. 2 4 0 VANTEK Discovery set N. B. De OPITEC bouwpakketten zijn gericht op het onderwijs. 1 Inhoudsopgave Binair rekenen Pulse en Countermodule blz. 3 Informatieverwerking Input en outputmodules blz.

Nadere informatie

Labo IDP. In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. XOR Q AND. Figuur 1: Een logisch circuit.

Labo IDP. In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. XOR Q AND. Figuur 1: Een logisch circuit. Labo IDP In dit labo gaan we IDP gebruiken voor het analyseren van logische circuits. K L A XOR N B XOR P M D AND Q AND C O OR E R R Tuesday 15 December 2009 Figuur 1: Een logisch circuit. Veronderstel

Nadere informatie

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

Digitale Systeem Engineering 1

Digitale Systeem Engineering 1 Digitale Systeem Engineering 1 Week 1 VHDL basics, datatypes, signal assignment Jesse op den Brouw DIGSE1/2017-2018 Wat is VHDL VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated

Nadere informatie

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

Studiewijzer Inleiding Digitale Techniek, versie 1.6, , J.E.J. op den Brouw 2018/2019 Elektrotechniek Semester 1.1 Studiewijzer Inleiding Digitale Techniek (E-INLDIG-13 ) 3 studiepunten Verantwoordelijk docent: Jesse op den Brouw J.E.J.opdenBrouw@hhs.nl Overige docent(en): Ben

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (6)

De Arduino-microcontroller in de motorvoertuigentechniek (6) De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de

Nadere informatie

Combinatorisch tegenover sequentieel

Combinatorisch tegenover sequentieel PBa ELO/ICT Combinatorisch tegenover sequentieel soorten digitale schakelingen : combinatorisch of sequentieel combinatorische schakelingen combinatie van (al dan niet verschillende) (basis)poorten toestand

Nadere informatie

Digitale Systeem Engineering 2

Digitale Systeem Engineering 2 Digitale Systeem Engineering 2 Week 2 Toestandsmachines (vervolg) Jesse op den Brouw DIGSE2/2016-2017 Herkenningsautomaat Een typische sequentiële machine is een herkenningsautomaat of patroonherkenner.

Nadere informatie

Bijlage Inlezen nieuwe tarieven per verzekeraar

Bijlage Inlezen nieuwe tarieven per verzekeraar ! Bijlage inlezen nieuwe tarieven (vanaf 3.2) Bijlage Inlezen nieuwe tarieven per verzekeraar Scipio 3.303 biedt ondersteuning om gebruikers alle tarieven van de verschillende verzekeraars in één keer

Nadere informatie

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig)

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig) Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig) In elektronische realisatie zijn 10 verschillende toestanden moeilijk

Nadere informatie

Digitale Systeem Engineering 2

Digitale Systeem Engineering 2 Digitale Systeem Engineering 2 Week 4 Datapadsystemen Jesse op den Brouw DIGSE2/2016-2017 Complexe systemen In principe kan elk sequentiëel systeem beschreven worden met een toestandsdiagram. In de praktijk

Nadere informatie

Sequentiële schakelingen

Sequentiële schakelingen Gebaseerd op geheugen elementen Worden opgedeeld in synchrone systemen» scheiding tussen wat er wordt opgeslagen (data) wanneer het wordt opgeslagen (klok) asynchrone systemen» Puls om geheugen op te zetten

Nadere informatie

Digitaal is een magisch woord

Digitaal is een magisch woord Digitaal is een magisch woord Hieronder leest u over digitale logica. De theorie en de praktijk. Dit werk moet nog uitgebreid worden met meer informatie over TTL, CMOS en varianten. Daarnaast kunnen de

Nadere informatie

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave):

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave): Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave): D is de normale data ingang C is de normale fase 1 klok I is de data ingang van het shift-regiester A is de klok

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Studiebelasting: 3 EC Semester: EP1.1, EQ1D.1 Verantwoordelijke docenten: J.E.J. op den Brouw (Brw) Opbouw module. OEdeel kwt sbu theo pract proj toetswijze bs -th1 1 50 21 Open vragen 1..10 -pr1 1 34

Nadere informatie

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC Inhoud vandaag Interrupts Algemeen ARM7 AIC Interrupts Wat is een interrupt? Een interrupt is een onderbreking van de huidige bezigheden ten gevolge van een externe gebeurtenis, zodanig dat de bezigheden

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Woensdag 22 juni 2005, 8u30 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 1 Introductie Jesse op den Brouw INLDIG/2015-2016 Even voorstellen... ing. J.E.J. (Jesse) op den Brouw Elektrotechniek Digitale Techniek Software, hardware Embedded systems

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Eindtentamen Digitale Systemen 18/06/2007, uur

Eindtentamen Digitale Systemen 18/06/2007, uur Eindtentamen Digitale Systemen 8/6/27, 9. 2. uur De tentamen is open boek en bestaat uit 8 multiple choice (MC) vragen en 2 open vragen. De MC-vragen dienen beantwoord te worden op het uitgereikte MC-formulier.

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

AN0021-NL. Een trigger- en actieregel maken. Overzicht. Een Trigger- en actieregel creëren

AN0021-NL. Een trigger- en actieregel maken. Overzicht. Een Trigger- en actieregel creëren Een trigger- en actieregel maken Overzicht Trigger en Actie regels zijn een eenvoudige manier voor het creëren van aangepaste en unieke functionaliteiten in Paxton10. Specifieke regels kunnen worden gecreëerd

Nadere informatie

Registers & Adressering. F. Rubben, ing 2008-2010

Registers & Adressering. F. Rubben, ing 2008-2010 Registers & Adressering, ing 2008-2010 Inhoud Leerstof tot nu toe Opbouw registers Benaming registers Opbouw data Verloop programma Leerstof tot nu toe: Bouw PLC Intern Extern fabrikanten Aansluiten I/O

Nadere informatie

Android apps met App Inventor 2 antwoorden

Android apps met App Inventor 2 antwoorden 2014 Android apps met App Inventor 2 antwoorden F. Vonk versie 1 11-11-2014 inhoudsopgave Mollen Meppen... - 2 - Schrandere Scholier... - 15 - Meteoor... - 21 - Dit werk is gelicenseerd onder een Creative

Nadere informatie

Deeltoets Digitale technieken

Deeltoets Digitale technieken Deeltoets Digitale technieken André Deutz 22 oktober, 2007 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

HANDLEIDING INFOGRAPHIC SOFTWARE Versie 2.3 / jan 2014

HANDLEIDING INFOGRAPHIC SOFTWARE Versie 2.3 / jan 2014 HANDLEIDING INFOGRAPHIC SOFTWARE Versie 2.3 / jan 2014 Inhoudsopgave 1. Inleiding... 3 2. Systeemvereisten... 3 3. Installeren van de software... 4 4. Programma instellingen... 5 5. Importeren van een

Nadere informatie

Personal tag. Personal tag. Drukknop of bewegingsdetector. TABEL 2 Samenvatting van de Programmeerfuncties

Personal tag. Personal tag. Drukknop of bewegingsdetector. TABEL 2 Samenvatting van de Programmeerfuncties TAG-IN-A-BAG Stand alone proximity toegangscontrolesysteem Gebruikershandleiding 1. Introductie De TIAB is ontworpen om de toegang voor onbevoegden tot beschermde gebieden te beperken. De unit maakt gebruik

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

Functioneel programmeren

Functioneel programmeren Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

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

Opleiding: ESE, HAN Opl.variant: vt Groep/Klas: ES2 Digitaal Signaal Ontwerpen 26 januari 2012 Tijd: 13:30 15:00 Tentamen Engineering 2011/2012: Opleiding: ESE, HN Opl.variant: vt Groep/Klas: ES2 Digitaal Signaal Ontwerpen 26 januari 2012 Tijd: 13:30 15:00 Vakcode: DSO deel 2 Lokaal: Docent: RZ antal tentamenbladen:

Nadere informatie

Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld

Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld Dobbelsteen 6 Tabellendemo: alle opgedane ervaringen gebundeld Johan Smilde Zo nu en dan moet je even een pas op de plaats maken: hoever zijn we inmiddels gekomen en wat hebben we ervan geleerd? Bij dit

Nadere informatie

Hoofdstuk 5: Signaalverwerking

Hoofdstuk 5: Signaalverwerking Hoofdstuk 5: Signaalverwerking Natuurkunde VWO 2011/2012 www.lyceo.nl Hoofdstuk 5: Signaalverwerking Natuurkunde 1. Mechanica 2. Golven en straling 3. Elektriciteit en magnetisme 4. Warmteleer Rechtlijnige

Nadere informatie

FiMiS User Guide for PAD Surveys

FiMiS User Guide for PAD Surveys FiMiS User Guide for PAD Surveys I. VOORAFGAANDELIJK AAN HET GEBRUIK VAN FiMiS... 2 II. EERSTE GEBRUIK VAN FiMiS... 3 1. Starten van de applicatie... 3 2. Selectie van het certificaat... 3 3. Introductiepagina

Nadere informatie

Digitale Systeem Engineering 2

Digitale Systeem Engineering 2 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.

Nadere informatie

Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden:

Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden: Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden: Na de opdracht Maak uw keuze: wordt er voor het eerst iets ingetypt door de gebruiker. De getallen die

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 2 Binaire getallen, BCD, Gray, ASCII, 7-segment Jesse op den Brouw INLDIG/205-206 Talstelsels Wij mensen zijn opgegroeid met het rekenen in het tientallig of decimaal talstelsel,

Nadere informatie

Handicom. Symbol for Windows. Image Manager. (Versie 4) Handicom, 2011, Nederland

Handicom. Symbol for Windows. Image Manager. (Versie 4) Handicom, 2011, Nederland Handicom Symbol for Windows Image Manager (Versie 4) Handicom, 2011, Nederland Inhoud Inleiding... 2 1. Image Manager hoofdscherm...3 1.1 Onderdelen van het venster...3 1.2 Het scherm veranderen...3 1.2.1

Nadere informatie

Meetopdrachten Poortschakelingen 1 met Multisim

Meetopdrachten Poortschakelingen 1 met Multisim Meetopdrachten Poortschakelingen 1 met Multisim In dit document leest u hoe u de meetopdrachten bij de les Poortschakelingen-1 (lescode 5-30.3) kunt uitvoeren met de simulatiesoftware van Multisim. Dit

Nadere informatie

Oefeningen Digitale Elektronica (I), deel 4

Oefeningen Digitale Elektronica (I), deel 4 Oefeningen Digitale Elektronica (I), deel 4 Oefeningen op min en maxtermen, decoders, demultiplexers en multiplexers (hoofdstuk 3, 3.6 3.7) Wat moet ik kunnen na deze oefeningen? Ik kan de minterm en maxtermrealisatie

Nadere informatie

Programmeer-handleiding Easyboard MB

Programmeer-handleiding Easyboard MB Programmeer-handleiding 2019 Easyboard MB Programmeer-handleiding BYOR & micro:bit Deze handleiding beschrijft hoe je een micro:bit programmeert en BYOR onderdelen laat reageren op de code die op je micro:bit

Nadere informatie

Multiplexers en demultiplexers MULTIPLEXERS

Multiplexers en demultiplexers MULTIPLEXERS Pa EO/ICT Kim - dep. IWT Multiplexers en demultiplexers MU transmissie DEMU merikaans symbool multiplexer merikaans symbool demultiplexer ingangen uitgang ingang uitgangen controle controle MU/DEMU DIGITE

Nadere informatie

Handleiding ENO digitaal bord

Handleiding ENO digitaal bord Handleiding ENO digitaal bord 1. Polyvision 2. Twee in één 3. Werking en maakproces 4. Benodigdheden De pen Usb adapter of interne bluetooth radio Het stuurprogramma Magnetische pictogramstrip Configuratie

Nadere informatie

Eindtentamen Digitale Systemen 07/07/2006, uur

Eindtentamen Digitale Systemen 07/07/2006, uur Eindtentamen Digitale Systemen 07/07/2006, 9.00 2.00 uur Het tentamen is open boek en bestaat uit 8 multiple choice (MC) vragen en 2 open vragen. De MC-vragen dienen beantwoord te worden op het uitgereikte

Nadere informatie

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische

Nadere informatie