Hochschule Kempten      
Fakultät Elektrotechnik      
Digitaltechnik       Fachgebiet Elektronik, Prof. Vollrath      

Digitaltechnik

08 Minimalform

Prof. Dr.

Jörg Vollrath


07 Zeichen und Codes


Ein kurze Videozusammenfassung der Vorlesung



Länge: 9:33 min

Wiederholung und Heute


Wiederholung:


Heute:

Fehlersuche in einem Schaltungsaufbau

Häufige Fehler:
Bei einem Schaltungsaufbau wird es immer Fehler geben.
Die Fehler können durch falsche Verdrahtung des Benutzers, aber auch durch fehlerhafte Kontakte oder defekte Bauteile auftreten.
Man muss einen Fehler feststellen und dann diagnostizieren woher der Fehler kommt.
Bei der Herstellung von integrierten Schaltungen können die Testkosten genauso hoch sein, wie die Fertigungskosten.
Im Praktikum Schaltungen aufgebaut, um die Theorie zu verifizieren und Schwierigkeiten beim praktischen Aufbau aufzu zeigen.
Man gewinnt auch eine Vorstellung davon, wie viel Zeit eine bestimmte Realisierung und Messung benötigt.
Das Praktikum ist so aufgebaut, dass man, bei gründlicher Vorbereitung durch lesen der Versuchsanleitung, das Praktikum in 90 Minuten durchführen kann.
Es ist normal, dass die erste Durchführung viel mehr Zeit in Anspruch nimmt, als eine Wiederholung.
Fehlersuche kann man lernen und systematisch durchführen.
Zu jeden Fehler gehört auch eine Ursache.
Durch sorgfältiges und systemtische Arbeit können Fehler vermieden werden.
Die Automatisierung elimiert die Fehler, die durch manuelle Tätigkeiten und Variationen auftreten.
Ein Arbeiter kann müde oder wach und deshalb konzentriert oder unkonzentriert arbeiten.

Allgemeines Feedback und studentische Verantwortung

  • Eingefügte Bilder: > Alt< >Druck < aktuelles Fenster
    • Erkennbare Bilder durch kleine Fenster
  • Verzögerungszeit: Messung auch im 2ten Versuch
  • Das Praktikum ist Prüfungsrelevant und soll die Theorie vertiefen
    • Bsp.: Verzögerungszeit: Rising und falling, 50% Pegel
    • Es kann entsprechende Prüfungsfragen geben
  • Nachdenken über die Ergebnisse
  • Lernerfolg:
    • Ich habe gesehen, wie ein anderer die Schaltung gesteckt hat.
    • Ich stecke die gleiche Schaltung selbst.
    • Ich stecke eine ähnliche Schaltung selbst.
    • Ich erkenne ein fehlerhaftes Ergebnis und kann es beheben.
    • Ich kann einem Anderen erklären und dokumentieren, wie man eine Schaltung aufbaut und in Betrieb nimmt.
  • Die Betreuung, elektronische Erfassung erkennt leicht eine Kopie.
  • Individuelles Feedback am Ende des Versuchs


Versuch 3: Ansteuerung einer 7 Segment Anzeige

Im Projekt werden die Schiebeschalter SW0 bis SW3 als Dualzahl interpretiert und die entsprechende Hexadezimalzahl mit der Siebensegmentanzeige angezeigt.

1. Erstellung eines Projekts
2. Simulation der Schaltung
3. Transfer der Schaltung in das FPGA auf dem Board und Test.

Eine xdc (xilinx constraint file) Datei legt die Verbindung von physikalischem Pin am Baustein zu einem VHDL STD_LOGIC Signal fest.

# clock pin for Basys2 Board
NET "clk" LOC = "B8"; # Bank = 0, Signal name = MCLK

Syntax der xdc Datei


Kommentar: # Hash
# clock pin for Basys2 Board
NET "clk" LOC = "B8"; # Bank = 0, Signal name = MCLK

Das Signal CLK STD_LOGIC wird mit pin B8 (verbunden).

Eine xdc Datei gehört zu einer bestimmten Platine.

Versuch 3

Schaltplan der 7 Segment Anzeige

  • Pin W4, V4, U4, U2:
    • Auswahl einer Ziffer, Stelle

  • Pin W7, W6, U8, V8, U5, V5, U7, V7
    • Auswahl eines Segments
  • Verbindung der Pins zu Namen:
    • UCF (user constraints file) Datei
    • Kommentare
    • Pinname, Signalname
Um Verbindungen (Leitungen und Pins) zu sparen wird die 7 Segment Anzeige gemultiplext.
Nacheinander werden die einzelnen Stellen angezeigt. Da dies sehr schnell passiert (50 mal in der Sekunde) kann das menschliche Auge dies nicht wahrnehmen.
Wenn einer der Pins (F12, J12, M13, K14) 0 V ist verbindet ein bipolar Transistor die ausgewählte Stelle mit 3.3 V.
Alle Segmente die an der Ansteuerleitung (L14, H12, N14, N11, P12, L13, M12, N13) 0V haben leuchten.
Im Praktikum wird immer nur eine Stelle angesteuert, um die Multiplexerschaltung zu sparen.

Von einer Problemstellung zu einer logischen Schaltung

Problemstellung: Eingänge und Ausgänge
Wahrheitstabelle



Ziel:
Realisierung der logischen Funktion mit möglichst wenig logischen Verknüpfungen: Normalform, Minimierung

Logische Gleichung für eine Wahrheitstabelle

Normalform, disjunktive Normalform

Minimierung:

Karnaugh Veitch Diagramm

Eine andere Darstellung einer Wahrheitstabelle

NrX Y ZFMinterm
0 0 0 0 1 /X/Y/Z
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1 /XYZ
4 1 0 0 1 X/Y/Z
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1 XYZ
Z /Z
Y
3 7 6 2
1 5 4 0
/Y
/X X /X
Z /Z
Y
1 1 0 0
0 0 1 1
/Y
/X X /X
Minimierung:
In der linken Darstellung sind die Zeilen der Wahrheitstabelle angegeben in der man nach dem Ausgangssignal suchen muss.

Karnaugh Veitch Diagramm: 4 Eingänge

A /A
B
3 7 6 2
11 15 14 10
9 13 12 8
1 5 4 0
/D
D
/B
/D
/C C /C
NrD C B AYMinterm
0 0 0 0 0 1 /D/C/B/A
1 0 0 0 1 0
2 0 0 1 0 1 /D/CB/A
3 0 0 1 1 1 /D/CBA
4 0 1 0 0 1 /DC/B/A
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
NrD C B A YMinterm
8 1 0 0 0 0
9 1 0 0 1 1 D/C/BA
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 1 DC/BA
14 1 1 1 0 0
15 1 1 1 1 0
A /A
B
1 0 0 1
0 0 0 0
1 1 0 0
0 0 1 1
/D
D
/B
/D
/C C /C

Unvollständige Wahrheitstabelle: Don't Care

In der Realität kann es vorkommen, dass bestimmte Eingangssignalkombinationen eigentlich nicht auftreten können.

Beispiel Aufzug


Ein Aufzug hat einen Sensor O für 'oben' und einen Sensor U für 'unten' (Eingänge).
Der Aufzugsmotor M soll abgeschaltet werden '0', wenn der Aufzug die Position oben oder unten erreicht (Ausgang).
Eigentlich sollten nicht beide Sensoren aktiv '1' sein können. Deshalb wird in diese Zeile d eingetragen

Bei der Minimierung kann das d als '1' oder '0' verwendet werden.
Nach der Minimierung wird der Wert den man erwendet in die Wahrheitstabelle eingetragen und durch Test verifiziert.
NrO UMMinterm
0 0 0 1 /O/U
1 0 1 0
2 1 0 0
3 1 1 d (OU)

Informationen und Programme zur Minimierung

Algorithmus zur Minimierung:


Quine und McCluskey
Wikipedia: Quine und McCluskey

Javascript: Universität Marburg
          

Karnaugh-Veitch Map


Javascript: Karnaugh-Veitch, Universität Marburg
          

VHDL und Synthese Werkzeuge


Der Programmcode wird in eine Minimalform überführt, egal wie die tatsächliche textuelle Beschreibung (if, Case, when) ist.

Codeumsetzer: Binärcode zu Gray Code

Dezimal-
zahl
Dualzahl
D3 D2 D1 D0
Gray Code
G3 G2 G1 G0
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
Dezimal-
zahl
Dualzahl
D3 D2 D1 D0
Gray Code
G3 G2 G1 G0
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000
Bestimmen Sie für Di und Gi die Minimalformen für die Umrechnung.

Fragen und Diskussion

  • Wie kommt man von einem Schaltplan zu einem Versuchsaufbau?
  • Welche Fehlerursachen kann es in einer Schaltung geben?
  • Wie kommt man von einer Problemstellung zu einer logischen Schaltung?
  • Wie sieht ein Karnaugh Veitch Diagramm mit 2 Eingängen aus?
  • Wie kann man Felder in einem Karnaugh Veitch Diagramm zusammen fassen?
  • Ist es immer günstig nur Minterme zu betrachten?
  • Was ist ein Don't Care 'D' Eintrag?

09 Schaltwerke und Speicherglieder
Board, Test, FPGA, STD_LOGIC, UCF Datei, Pin, 7 Segment Anzeige, Schaltungsaufbau, Minterm, Karnaugh Veitch Diagramm, Synthese