EDS - SS20

(C. Giesemann)

Die Vorlesung führt in den rechnergestützten Entwurf digitaler Schaltungen ein. Behandelt werden das logische und das Zeitverhalten, Automaten und andere Verhaltensmodelle für sequentielle Schaltungen, Rechenwerke, Simulation, Synthese und Logikoptimierung. Im begleitenden Praktikum digitaler Schaltungsentwurf I werden digitale Schaltungen entworfen, simuliert, in programmierbare Logikschaltkreise programmiert und ausprobiert.

Besonderheiten 2020

Wegen der durch die Coronavirus-Pandemie nicht möglichen Präsenzlehre wird die Lehrveranstaltung online zur Verfügung gestellt. Zu jedem Abschnitt in den Foliensätzen wird eine Videoaufzeichnung zur Verfügung gestellt. Dozent ist Dr. Carsten Giesemann. Es wird jede Woche eine Fragestunde über das Online-Tool BigBlueButton angeboten. Es ist unten ersichtlich, wie man die Inhalte auf die Wochen der Vorlesungszeit aufteilen sollte. Insbesodere die Hausübungen sind zu den genannten Terminen abzugeben. Das ist dieses Semester ausschließlich in elektronischer Form per E-Mail an ha-eds(at)in.tu-clausthal.de möglich. Bitte sehen Sie sich die Abschnitte und die Hausübungen jeweils vor der Fragestunde an, damit Fragen geklärt werden können.

Überblick

Inhalt der Lehrveranstaltung

  1. Zwei einführende Beispiele: einen Entwurf mit Standardschaltkreisen und einen VHDL-Entwurf für FPGAs.
  2. Simulation: VHDL, ereignisgesteuerte Simulation, Laufzeittoleranz, ...
  3. Synthese und Schaltungsoptimierung: synthesegerechte Beschreibung, asynchrone Eingabe, KV-Diagramm, ROBDD.
  4. Rechenwerke und Operationsabläufe: Addierer, ..., Automaten, serielle Schnittstelle, ...
  5. Vom Transistor zur Schaltung: MOS-Transistoren, Gatter, Layout, Verzögerung, ...
  6. Rechner: CORDIC, Minimalprozessor, Pipeline.

Zielgruppe: Bachelor Informatik und weitere
Credits: (ECTS): 6

Hinweise zur Online-Version

  • Die folgende Wochenstruktur gibt Ihnen einen sinnvollen Ablauf für das Selbststudium vor.
  • Feste Termine sind die Abgabetermine der Hausaufgaben, per E-Mail an ha-eds(at)in.tu-clausthal.de.
  • Je Kapitel gibt es nur eine Videoaufzeichnung, aber das bedeutet nicht, dass diese jeweils an einem Stück betrachtet werden soll.
  • Nutzen Sie die Möglichkeiten der Videos!
    • Legen Sie selbstständig immer dann eine Pause ein, wenn Ihre Aufmerksamkeit nachlässt.
    • Sehen Sie sich Abschnitte, die Sie nicht gleich verstehen auch mehrfach an.
    • Notieren Sie sich Fragen für die Fragestunden.
  • Machen Sie sich z.B. in den Handouts Notizen, eigene Ausarbeitungen sind zur Klausur zugelassen.
  • Zur Selbstkontrolle gibt es in den Videos:
    • Vor jedem Kapitel einige Fragen vorab (unter [Z] auch als PDF), deren Lösungen im Video zu finden sind.
    • Nach jedem Kapitel einige Quizfragen mit mehreren (richtigen) Antwortmöglichkeiten. Die Auflösung erfolgt jeweils nach einigen Sekunden, drücken Sie Pause für mehr Bedenkzeit.

Wochenstruktur

Foliensätze [F], Handouts für den Ausdruck [H], Zusatzseiten für den Ausdruck [Z], Beispielprogramme [P], Hausaufgaben [HA], Große Übungen [G], Videoaufzeichnungen Vorlesungen [V], Videoaufzeichnungen Große Übungen [VG]
  1. Woche ab 20.04.2020
    • [F1] [H1] [Z1] Einführung
      • Einleitung: Vorstellung, Aufbau, Überblick [V1-0]
      • Standardschaltkreise: Entwurf eines Zählers, Test der Zählfunktion, Zustandsregister, Leiterplattenentwurf. [V1-1]
      • Große Übung 1: Logik und Signalverläufe [G1] [VG1]
  2. Woche ab 27.04.2020
      • Hausaufgabe 1 [HA1] - Abgabe 30.04.2020
      • VHDL + FPGA: Einfache Gatterschaltung, Zähler und Ampelsteuerung, Simulation. [V1-2]
      • Große Übung: Installation von ghdl und gtkwave - Downloadlinks: [ghdl], [GTKWave]. [VG]
    • [F2] [H2] [Z2] [P2] Simulation
      • Einführung in VHDL: Hallo Welt, Signale, Datentypen, imperative Modelle, ereignisgesteuerte Simulation. [V2-1]
      • Strukturbeschreibung: Schnittstellen, Instanziierung und Verbinden von Teilschaltungen, Testrahmen. [V2-2]
  3. Woche ab 04.05.2020
      • Laufzeittoleranz: Glitches, Simulation von Zeittoleranzen, Laufzeitanalyse. [V2-3]
      • Speicher: Latches, Register, Verarbeitung + Abtastung, Register-Transfer-Funktionen, adressierbare Speicher. [V2-4]
      • Große Übung 2: Rechnerübung mit dem Simulator ghdl [G2] [PG2][VG2]
  4. Woche ab 11.05.2020
      • Hausaufgabe 2 [HA2] - Abgabe 15.05.2020 Programmdateien: [PHA2], Downloadlinks: [ghdl], [GTKWave].
    • [F3] [H3] [Z3] Synthese und Schaltungsoptimierung
      • Synthese: Verarbeitungsfunktionen, Register-Transfer-Funktionen, typische Beschreibungsfehler, Constraints. [V3-1]
      • Große Übung: Signaldarstellung, Signalverläufe, Strukturbeschreibung [G3] [VG3]
  5. Woche ab 18.05.2020
      • Hausaufgabe 3 [HA3] - Abgabe 22.05.2020 Programmdateien: [PHA3]
      • Asynchrone Eingabe: Abtastung, Initialisierung, Entprellen, asynchrone Schnittstellen mit und ohne Übertragung des Sendertaktes. [V3-2]
      • Schaltungsoptimierung: Energieverbrauch, Schaltungsumformung, KV-Diagramm, Verfahren von Quine und McCluskey, reduziertes geordnetes binäres Entscheidungsdiagramm (ROBDD). [V3-3]
  6. Woche ab 25.05.2020
      • Hausaufgabe 4 [HA4] - Abgabe 29.05.2020 Programmdateien: [PHA4]
    • [F4] [H4] [Z4] [P4] Rechenwerke und Operationsabläufe
      • Rechenwerke: Addierer, Subtrahierer, Zähler etc. Multiplizierer, Komparatoren, Block-Shifter. [V4-1]
      • Große Übung: Zeittoleranzen, Abtastprozess, Register-Transfer-Funktion, Synthese [G4] [VG4]
  7. Woche ab 01.06.2020 - Woche nach Pfingsten - Pause der Veranstaltung
    • Woche ab 08.06.2020
        • Hausaufgabe 5 [HA5] - Abgabe 12.06.2020*
        • Automaten: Entwurf mit KV-Diagrammen, Beschreibung in VHDL, Redundante Zustände, Spezifikation und Entwurf. [V4-2]
        • Große Übung: Signalflussplan, Zwischenabtastung, Asynchrone Übertragung [G5] [VG5]
    • Woche ab 15.06.2020
        • Hausaufgabe 6 [HA6] - Abgabe 19.06.2020*
        • Operationsabläufe: Serielle Schnittstelle, Serieller Addierer, Dividierer. [V4-3]
        • Große Übung: Register, Sythesefähige Prozesse [G6] [VG6]
    • Woche ab 22.06.2020
        • Hausaufgabe 7 [HA7] - Abgabe 26.06.2020*
      • [F5] [H5] [Z5] Vom Transistor zur Logikschaltung
        • Gatterentwurf: MOS-Transistoren als Schalter, FCMOS-Gatter, Deaktivierbare Treiber, Transfergatter und Multiplexer, Geometrischer Entwurf. [V5-1]
        • Signalverzögerung: Inverter, Logikgatter, Puffer. [V5-2]
        • Große Übung: Schaltungsumformung, KV, Quine/McCluskey, OBDD [G7] [VG7]
    • Woche ab 29.06.2020
        • Hausaufgabe 8 [HA8] - Abgabe 03.07.2020 Programmdateien: [PHA8]
        • Latches und Register: Speicherzellen, Latches, Register, Taktversorgung.[V5-3]
        • Blockspeicher: SRAM, Mehrport- und Assoziativspeicher, DRAM, Festwertspeicher.[V5-4]
        • Große Übung: Automaten [G8] [VG8]
    • Woche ab 06.07.2020
        • Hausaufgabe 9 [HA9] - Abgabe 10.07.2020
        • Programmierbare Logikschaltkreise. [V5-5]
        • Schaltungsentwurf mit FPGAs. [V5-6]
      • [F6] [H6] [Z6] [P6] Rechnerstrukturen
        • CORDIC: Algorithmus, Simulation des Algorithmus, Umstellung auf Festkommazahlen, Entwurf als Rechenwerk, Testrahmen. [V6-1]
        • Große Übung: FCMOS [G9] [VG9]
    • Woche ab 13.07.2020
        • MiPro (Minimalprozessor): Funktion und Befehlssatz, Assembler und Disassembler, Prozessorzustand, Simulationsmodell, Testrahmen, Testbeispiele. [V6-2]
        • Große Übung: CMOS, Transfergatter, Register [G10] [VG10]
    • Woche ab 20.07.2020
        • RISC-Prozessor: Pipeline-Verarbeitung, Pipeline-Auslastung, Simulationsmodell, Testbeispiele.[V6-3]
        • Große Übung: Rechnen der Klausur vom Vorjahr. [VGK]

    * Abgabe auch verspätet bis zum 28.06.2020 möglich

    Hausaufgaben

    1. [HA1] , Abgabe 30.04.2020
    2. [HA2] , Abgabe 15.05.2020 (Bearbeitungszeit 2 Wochen), Programmdateien: [PHA2], Links zum Download des Simulators und des Wave-Viewers: [ghdl] [GTKWave].
    3. [HA3] , Abgabe 22.05.2020, Programmdateien: [PHA3]
    4. [HA4] , Abgabe 29.05.2020, Programmdateien: [PHA4]
    5. [HA5] , Abgabe 12.06.2020*
    6. [HA6] , Abgabe 19.06.2020*
    7. [HA7] , Abgabe 26.06.2020*
    8. [HA8] , Abgabe 03.07.2020, Programmdateien: [PHA8]
    9. [HA9] , Abgabe 10.07.2020

    * Abgabe auch verspätet bis zum 28.06.2020 möglich

    ghdl unter Debian 9.8 und unter Ubuntu 18.04.2

    Man kann ghdl aus den debian repos gcc-6-base in der version 6.3.0 herunterladen und installieren. Quellen:

    Zur Vermeidung von Konflikten durch das gcc-Downgrade von Version 6.5 auf Version 6.3 empfiehlt sich die Installation in einer virtuellen Maschine.

    Ergebnisse:

    Den Leistungsnachweis für die Hausübungen gibt es ab insgesamt 50 Übungspunkte. Ab 100 HP (Hausübungspunkten) gibt es 2 BP (Bonuspunkte), sonst ab 88 HP gibt es 1.5 BP, sonst ab 76 HP gibt es 1 BP und sonst ab 64 HP gibt es 0.5 BP für die Prüfungsklausur.

    MatrnÜ1Ü2Ü3Ü4Ü5Ü6Ü7Ü8Ü9SumLNEBP
    5198127.51714131212101112108.5ja2
    5071059.51814111511.5103- -92ja1.5
    5185439.51814111511.5103- -92ja1.5
    5175739.51814111511.56.5611102.5ja2
    5208891018141315710811.5106.5ja2
    2850769.517.514111511.510129107.5ja2
    5003359.5181473.5922- -65ja0.5
    5160847- -- -1315- -- -- -- -35nein- -
    5183929.51714131111.58911104ja2
    5098088.518145.51586.577.590ja1.5
    4992556.511.51491589.5121297.5ja1.5
    51210710181412.51510101212113.5ja2
    4959389.518- -- -- -- -- -- -- -27.5nein- -
    5185988.5- -- -- -- -- -- -- -- -8.5nein- -
    46520510181412.5151081212111.5ja2
    5130369.5181412.515118.5812108.5ja2
    5160609.517.5- -1115111012995ja1,5
    46445510171412.51511101212113.5ja2
    5109479.517.514912.51076994.5ja1,5
    4804315.51214- -8115- -- -55.5ja0
    5052379.51814111510101210109.5ja2
    5146977.5- -1410911.56.511.5676ja1
    4299648.51814131412101212113.5ja2
    5139409.51814815117.51210105ja2
    4999946.511147- -- -- -- -- -38.5nein- -
    4997509.5- -- -- -- -- -- -- -- -9.5nein- -
    5076551017.51411- -- -- -- -- -52.5ja0
    51078971097.594.54.52356.5ja0
    4029182- - - -- -- -- -- -- -2nein- -
    513469013.5978.5888- -62ja0
    5101746.512- -- -- -- -- -- -- -18.5nein- -
    5085399.5- -- -- -- -- -- -- -- -9.5nein- -
    50930310181311151071212108ja2
    51372007.5- -- -- -- -- -- -- -7.5nein- -
    5172507- -- -- -- -- -- -- -- -7nein- -
    488549515- -- -- -- -- -- -- -20nein- -
    51460461014111599.512- -86.5ja1
    5099701017.51411- -- -- -- -- -52.5ja0
    5134079.51814811127.51210102ja2
    5225139.5- -- -- -- -- -- -- -- -9.5nein- -
    509073311.5- -4.51386.5126.565ja0,5
    5096192.5- -- -- -- -- -- -- -- -2.5nein- -

    Literatur

    1. G. Kemnitz: Technische Informatik Band 2: Entwurf digitaler Schaltungen. Springer. 2011.
    2. P. J. Ashenden: Designer's Guide to VHDL. Morgan Kaufmann Publishers. 2008.
    3. J. Reichert, B. Schwarz: VHDL-Synthese: Entwurf digitaler Schaltungen und Systeme. Oldenbourg. 2009
    4. VHDL-Books Nur im Uni-Netz verfügbar, extern ist [VPN] nötig.

    Aktuelles

    Die Prüfungsklausur zum Entwurf digitaler Schaltungen findet am 28.09.2020 um 9:00 im Hörsaal A, Institut für Mathematik (Gebäude B7, Erzstraße 1) statt, Dauer 90 Minuten. Erlaubte Hilfsmittel für die Prüfung sind eigene Ausarbeitungen und Taschenrechner. Zu den eigenen Ausarbeitungen zählen Mitschriften, die Foliensätze bzw. Handouts mit eigenen Kommentaren, die zurückgegebenen korrigierten Hausübungen, selbst angefertigte schriftliche Prüfungsvorbereitungen und Bücher mit Lesezeichen und Notizzetteln. Handys sind während der Prüfung auszuschalten. Laptops und andere elektronische Hilfsmittel sind nicht zugelassen.

    Vergangene Semester

    EDS - SS19

    SS 2019

    EDS - SS18

    SS 2018

    EDS - SS17

    SS 2017

    EDS - SS16

    SS 2016

    EDS - SS15

    SS 2015

    EDS - SS14

    SS 2014

    EDS - SS13

    SS 2013