Digitale Systemen

Vakken
CPROUC
DIGTEC

Oude vakken
INLMIC
MICPRG
PLCTEC
INLDIG
DIGSE1
DIGSE2

Projecten
Quartus
Old School
LaTeX

Links
Websites
Boeken

Informatie
Contact
De opleiding

Digitale Systeem Engineering 1

Digitale Systeemengineering 1 (DIGSE1) borduurt verder op de inleiding in de digitale techniek. De taal VHDL wordt geintroduceerd waarmee grote, complexe digitale systemen kunnen worden beschreven. Deze systemen kunnen getest worden door onder andere simulatie. Er wordt een begin gemaakt met het ontwerpen van tellers in VHDL, enkele voorbeelden worden nader toegelicht. Daarnaast wordt een begin gemaakt met het onderwerp timing, het gedrag in tijd van digitale systemen. De theorie wordt in de praktijk gestaafd met een aantal opdrachten. Hiervoor wordt de Quartus II-omgeving van Altera gebruikt, in combinatie met het DE0-bord van Terasic. Voor simulatie wordt ModelSim gebruikt.

 

Boek
De volgende boeken worden gebruikt:

Digitale Techniek, 1e druk, Jesse op den Brouw, Delft Academic Press, ISBN: 97890-6562-4468.

The Student's Guide to VHDL, 2nd Edition, Peter J. Ashenden, ISBN: 978-1-55860-865-8.

Deze boeken worden ook bij het vak DIGSE2 gebruikt.

Alternatief: dictaat.

 

Slides
Tijdens de colleges wordt gebruik gemaakt van een aantal PowerPoint-presentaties.

Introductie Studiewijzer Introductie van het vak, inhoud en studiebelastingsuren.
03-02-2019
07-02-2020
Week 1 VHDL Part I: introductie, entity, architecture, concurrent VHDL.
03-02-2019
Week 2 VHDL part deux: VHDL delay, sequential VHDL, process.
03-02-2019
Week 3 VHDL deel 3: Synthese. Introductie VHDL testbenches.
03-02-2019
Week 4a
Week 4b
Schuifregisters en tellers. Voorbeeld van gebruik teller bij het genereren van een sinusvormig signaal. Case studie: puls-breedte modulatie (PWM).
03-02-2019
03-02-2019
Week 5 Timing bij dataoverdracht. Maximale frequentie, setup en hold slack.
03-02-2019
Week 6 Synchronisatie en metastabiliteit, reset-synchronisatie
03-02-2019
Week 7 Bespreken proeftoets.
03-02-2019

Uitwerkingen opgaven boek
In het boek staan opgaven. De uitwerkingen kunnen hier gevonden worden. Laatste update 24-10-2020.

 

Practicum
Tijdens het practicum wordt een aantal opdrachten uitgewerkt. De tutorial is geschreven voor Quartus II v11 maar werkt ook prima met v12/13. Er is een installatiehandleiding voor Windows en Linux, helaas draait Quartus niet op OS-X. Let op: het gebruikte DE0-bordje wordt vanaf versie 14 NIET meer ondersteund, gebruik bij voorkeur versie 13.0sp1.

week 1 opdracht
tutorial
Tutorial Quartus 11.1 en ModelSim 10.0 over het invoeren, synthetiseren, simuleren en programmeren van digitale systemen met behulp van VHDL.
17-02-2019
05-02-2018
week 2
opdracht Eenvoudige opdracht waarbij een 7-segment-decoder moet worden ontworpen.
1-02-2019
week 3 opdracht Het beschrijven van een 6-bits schuifregister. Kenmerkend is het gebruik van vectors.
17-02-2019
week 4 opdracht
knight_rider (zip)
Knight Rider: de lampen van Kitt aan de voorkant van de TransAm van Michael Knight
17-02-2019
week 5 opdracht
prescaler (zip)
teller (zip)
In deze opdracht moet een vier-cijfer-teller worden gemaakt die zowel in BCD als in hexadecimaal moet kunnen tellen. Er wordt gebruik gemaakt van de eerder ontworpen 7-segment-decoder. De nadruk ligt op structural VHDL.
17-02-2019
week 6   Geen opdracht
-
week 7 - Geen opdracht, uitloopweek
-

 

Quartus projecten en voorbeelden
Hieronder staan voorbeelden van VHDL-beschrijvingen. Het kant-en-klare Quartus-projecten. De projecten zijn te gebruiken met Quartus v11.0 - v13.1. Pak het zip-bestand uit in een map en dubbelklik op het .qpf-bestand. Quartus zal dan automatisch starten.

Week 1

digse1_half_adder - Een half adder met exor- en and-poort.
digse1_nand2 - Een nand-poort beschreven met std_ulogic.
digse1_nor3 - Een 3-input nor-poort beschreven met std_logic.
digse1_prior - Een voorbeeld van een CSA, levert prioriteiten op.
digse1_agtb - Een voorbeeld van een "groter-dan"-schakeling (unsigned).
digse1_mux4 - Een voorbeeld van een SSA - levert een 4-input multiplexer.
digse1_full_adder_ssa - Een full adder via een SSA/waarheidstabel.
digse1_vhdl_tristate_example - Quartus-project dat het verschil laat zien tussen std_ulogic en std_logic. Simulatie en synthese mogelijk.

01-02-2016
Week 2

digse1_delta_delay - Quartus-project over delta delays met in cascade geschakelde inverters. Alleen simulatie.
digse1_exor_sim - Quartus-project over hoe de simulator omgaat met en zonder vertraging ('after' en delta delays). Alleen simulatie.
digse1_seq_statements - Quartus-project over diverse sequential statements.

15-03-2016
Week 3 digse1_big_multinor - dit Quartus-project laat zien hoe generic constants kunnen worden gebruikt bij het gebruik van componenten uit een lagere hierarchie.
digse1_big_multinor_alt - als boven, maar nu met alternatieve beschrijvingen van de NOR-poort.
digse1_struct_xor4nands - Quartus-project dat laat zien hoe je identieke 2-input NANDs kan gebruiken om een EXOR te maken door middel van hierarchie.
digse1_tflipflop- beschrijving van een T-flipflop, het accent ligt hier meer op simulatie.
01-03-2014
Week 4 digse1_counter_4bit - 4-bit up counter met testbench.
digse1_counter_bcd - BCD decade up counter met testbench.
digse1_fa_4bit - 4-bit full adder met '+' en testbench.
digse1_sin_gen - een digitale sinus-generator met testbench.
digse1_counter_integer - een teller met behulp van integers.
digse1_pwm_8bit - 8 bit digital PWM system.
digse1_johnson_counter - generieke beschrijving Johnson counter.
09-03-2014
Week 5  
Week 6 digse1_reset_synchronizer - een reset synchronisatiebeschrijving
05-02-2017
Week 7  

 

Proeftoets
Om de stof te oefenen is hier de proeftoets. De antwoorden kunnen worden opgevraagd via de contactpagina.

 

Digitale Systemen