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. |
01-02-2016 |
Week 2 | digse1_delta_delay - Quartus-project over delta delays met in cascade geschakelde inverters. Alleen simulatie. |
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.