Hardware fuer Eingebettete Systeme WS 20/21

Veranstaltungsort: BBB-Raum HES WS20/21

Info zum Download des Synthesetools Quartus

Ihr Kommilitone Colin Kammer hat gerade herausgefunden, wie man die Probleme beim Download von Quartus umgehen kann - vielen Dank dafuer! Er schreibt:

Ich [...] bin auf folgenden Link gestossen:
https://community.intel.com/t5/Intel-FPGA-Software-Installation/Not-able-to-download-any-FPGA-tools-or-software/td-p/675913
Wie dort beschrieben, konnte ich die echten Downloadlinks aus Javascript extrahieren:
Linux:
https://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_tar/Quartus-lite-20.1.0.711-linux.tar
Windows:
https://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/QuartusLiteSetup-20.1.0.711-windows.exe

Motivation

Eingebette Systeme sind Rechner, die tief im Inneren von Maschinen aller Art ihren Dienst versehen, meistens ohne nach aussen als Rechner in Erscheinung zu treten. Sie ermoeglichen den so ausgestatteten Maschinen ein ausserordentlich flexibles Verhalten, sowie die Moeglichkeit, allein durch Austausch von Software das Verhalten anzupassen (u.a. auch Fehler zu berichtigen). Wegen der hohen heute moeglichen Integrationsdichte packt man haeufig einen Prozessor mitsamt der von der Maschine sonst noch benoetigten digitalen Hardware auf einen Chip und entwirft somit Hard- und Software in enger Abstimmung ("Hardware/Software-Codesign").

Literatur

1. David Money Harris, Sarah L. Harris: "Digital Design and Computer Architecture", Morgan Kaufmann 2013
2. John F. Wakerly: "Digital Design, Priciples & Practices", Pearson International Edition 2006
3. David A. Patterson, John L. Hennessy: "Computer Organization & Design, The Hardware/Software Interface", Morgan Kaufmann 2013
4. Peter J. Ashenden: "The Designer's Guide to VHDL", Morgan Kaufmann 2008
5. Donald E. Thomas, Philip R. Moorby: "The Verilog Hardware Description Language", Kluwer Academic Publishers 2008

Themen

1. Hardware-Entwurf
Kombinatorische Digitalschaltungen ("Schaltnetze")
Sequentielle Digitalschaltungen ("Schaltwerke")
Moore- und Mealy-Automaten
Speicher und programmierbare Logikbausteine

2. Rechnerarchitektur
Instruction-Set-Architecture
Arithmetik
Datenpfad und Steuerung
Pipelining
Eingabe/Ausgabe

3. Werkzeuge
Hardware-Beschreibungssprachen
Simulatoren
Synthesewerkzeuge

4. Projekt: Digitaler Tongenerator ("Synthesizer")
Eigenschaften von Toenen
Digitale Tonerzeugung
Hardware/Software-Interface
Betriebsprogramme

Manuskript zur Veranstaltung
Steilkurs Verilog

Praktikum

Organisation: Zweiergruppen (auch einzeln moeglich)
Beratungen zwischen den Gruppen werden gerne gesehen
Kopieren von Code ist aber natuerlich verboten

Aufgaben und Termine

[in eckigen Klammern: ungefaehre Bearbeitungszeit]

Einstieg: Character Display

Aufgabe 1: Drucktaste, LED, Lauflicht [1 Woche]
Aufgabe 2: VGA-Testbild-Generator [1 Woche]
Aufgabe 3: Character-Display [2 Wochen]
Aufgabe 4: Integration in ECO32 [1 Woche]

Projekt: Digitaler Synthesizer

Aufgabe 5: Grundlagen der Tonerzeugung [2 Wochen]
Aufgabe 6: Polyphonie [1 Woche]
Aufgabe 7: Klangfarben [1 Woche]
Aufgabe 8: Huellkurven [2 Wochen]
Aufgabe 9: Effekte [1 Woche]

Deadline Projektabgabe und Demonstration: 28.01.21

Leistungsnachweis und Notengebung

Der Leistungsnachweis fuer diesen Kurs wird durch einen arbeitsfaehigen Synthesizer erbracht. Dabei setzt sich die erzielte Note aus dem Umfang und der Funktionsfaehigkeit der im Verlauf des Kurses gebauten Komponenten zusammen.
VGA-Testbild-Generator: 5%
Character Display: 25%
Integration in ECO32: 10%
Tonerzeugung: 20%
Polyphonie: 10%
Klangfarben: 5%
Huellkurven: 25%
Effekte: 15%
Ja, Sie haben richtig gerechnet: man kann auch dann 100% erzielen, wenn man nicht alles perfekt hinbekommen hat... :-)