Steuerungstasten

nächste Folie (auch Enter oder Spacebar).
vorherige Folie
 d  schaltet das Zeichnen auf Folien ein/aus
 p  wechselt zwischen Druck- und Präsentationsansicht
CTRL  +  vergrößert die Folien
CTRL  -  verkleinert die Folien
CTRL  0  setzt die Größenänderung zurück

Das Weiterschalten der Folien kann ebenfalls durch das Klicken auf den rechten bzw. linken Folienrand erfolgen.

Notation

Typ Schriftart Beispiele
Variablen (Skalare) kursiv $a, b, x, y$
Funktionen aufrecht $\mathrm{f}, \mathrm{g}(x), \mathrm{max}(x)$
Vektoren fett, Elemente zeilenweise $\mathbf{a}, \mathbf{b}= \begin{pmatrix}x\\y\end{pmatrix} = (x, y)^\top,$ $\mathbf{B}=(x, y, z)^\top$
Matrizen Schreibmaschine $\mathtt{A}, \mathtt{B}= \begin{bmatrix}a & b\\c & d\end{bmatrix}$
Mengen kalligrafisch $\mathcal{A}, B=\{a, b\}, b \in \mathcal{B}$
Zahlenbereiche, Koordinatenräume doppelt gestrichen $\mathbb{N}, \mathbb{Z}, \mathbb{R}^2, \mathbb{R}^3$

Inhalt

  • Zeitverhalten von Schaltsystemen
  • Gatterverzögerungen
  • Ozillator-Schaltungen
  • Hazards und Glitches
  • Statische und dynamische Hazards
  • Konstruktion Hazard-freier Schaltungen

Analyse des Zeitverhaltens von Schaltnetzen

  • Das Zeitverhalten von Schaltsystemen kann durch Signalverläufe analysiert werden
    • Darstellung der Signalwerte in einer Schaltung abhängig von der Zeit
    • Notwendig, um zeitliche Kausalitäten und Folgen von Ereignissen zu erkennen
timesignal

Messen des Zeitverhaltens

  • Bei Schaltungen aus diskreten Bauelementen kann das Zeitverhalten z.B. mit einem Oszilloskop gemessen werden
  • Auf der Internetseite www.virtuelles-oszilloskop.de kann ein analoges Oszilloskop ausprobiert werden
  • Digitale Oszilloskope können analoge Signalverläufe durch einen Analog-Digital-Wandler digital aufzeichnen und erlauben damit die genaue zeitliche Analyse eines Signals
  • Bei ICs (Integrated Circuits) können normalerweise nur die Signale gemessen werden, die nach außen auf die Pins geführt werden
oscilloscope

Simulation des Zeitverhaltens

  • Ein Schaltnetz kann mit einer Simulations-Software nachgebildet werden
  • Eingabe: Schaltstruktur (d.h. die Gatter und deren Verbindungen) und Stimuli (d.h. die Eingangssignale für das Schaltnetz)
  • Ausgabe: Signalverläufe
  • Die Simulation basiert auf mathematischen Modellen der Bauteile

Gatterverzögerung

propagation_delay_time
  • Eine Änderung am Gatter-Eingang bewirkt erst nach einer gewissen Verzögerung eine Änderung am Ausgang
  • Diese Zeit wird als Gatterverzögerung (engl. propagation delay time) bezeichnet
  • Die Gatterverzögerung bei einer fallenden Flanke $t_{\mathrm{PHL}}$ kann eine andere sein als bei einer steigenden Flanke $t_{\mathrm{PLH}}$
  • Typische Gatterverzögerungen haben einen eine Größenordnung von ca. 100 Piko- bis 100 Nanosekunden (je nach Logikfamilie)

Anstiegs-, Abfallzeit, Pulsbreite

fall_rise
  • Bei Logiksignalen handelt es sich in der Praxis nicht um perfekte Rechtecksignale
  • Ein Gatter kann die Signalflanken verändern (typischerweise werden die Flanken mit jedem Gatterdurchgang "weicher")
  • Abfallzeit $t_\mathrm{F}$ (engl. fall time): Zeit, die ein Ausgang benötigt, um von HIGH nach LOW umzuschalten
  • Anstiegzeit $t_\mathrm{R}$ (engl. rise time): Zeit, die ein Ausgang benötigt, um von LOW nach HIGH umzuschalten
  • Pulsbreite $t_{\mathrm{PULS}}$ (engl. puls width): Zeit, die ein Ausgang auf LOW bzw. HIGH verbleibt

Amilosim (A Minimalistic Logic Simulator)

amilosim
Amilosim
  • Zur Simulation und Veranschaulichung des Zeitverhaltens von Logikschaltungen wird in dieser Vorlesung Amilosim verwendet
  • Amilosim ist eine Webanwendung, die von Mareike Schilling im Rahmen Ihrer Bachelorarbeit (2013) entwickelt wurde
  • Die Zeitsimulation ist einheitenlos. Jedes Gatter hat immer exakt eine Zeiteinheit Gatterverzögerung.
  • Dies ist ein sehr grobes und minimalistisches Modell der Realität, ist jedoch ausreichend, um viele Effekte abzubilden
  • Zur komfortablen Navigation in den Signalverläufen, ermittelt die Software automatisch die maximale Gesamtlaufzeit bis sich ein Signal vollständig in einem Schaltnetz (ohne Rückkopplungen) ausgebreitet hat und stellt dies als einen Simulationschritt im Zeitdiagramm dar

Kurzzeitige Änderungen am Ausgang

  • Wenn folgendes Schaltsystem betrachtet wird, müsste der Ausgang des UND-Gatters gemäß boolescher Algebra eigentlich immer Null sein, da $a \land \overline{a} = 0$
  • Durch die Laufzeitverzögerung an den Invertern entsteht jedoch ein kurzer Puls am Ausgang (Öffnen in Amilosim)
puls_gen

Oszillatoren

  • Eine Oszillatorschaltung ist eine elektronische Schaltung zur Erzeugung einer periodischen Wechselspannung (Öffnen in Amilosim)
oszillator

Hazards und Glitches

  • Laufzeitverzögerungen können zu gravierenden Problemen in Logikschaltungen führen
  • Ein Glitch ist eine nicht beabsichtigte Signaländerung am Ausgang eines Logikgatters
  • Ein Glitch kann auftreten, wenn verschiedene Pfade durch ein Schaltsystem unterschiedliche Laufzeiten haben
  • Ein Hazard ist eine Konfiguration, bei der ein Glitch auftreten kann (aber nicht muss)
  • Glitches (bzw. Hazards) sind kritisch, wenn die Störimpulse ungewollte Auswirkungen in der nachfolgenden Logik erzeugen (bzw. erzeugen können)

Klassifikation von Hazards

  • Statischer Hazard
    • Bei einem statischer Hazard kann ein Wechsel am Eingang einen einmaligen temporären Wechsel des Ausgangs zur Folge haben
  • Dynamischer Hazard
    • Bei einem dynamischen Hazard kann ein Wechsel am Eingang einen mehrfachen Wechsel des Ausgangs zur Folge haben bis sich der Ausgang stabilisiert
  • Es wird ebenfalls zwischen 0-Hazards und 1-Hazards unterschieden. Bei 0-Hazards sollte das Signal eigentlich 0 sein, bei 1-Hazards eigentlich 1.
hazards

Beispiel für einen statischen Hazard

hazards_example1
  • Laut boolescher Algebra müsste eigentlich gelten:
    $y = (a \lor b) \land (\lnot b \lor c) = a\lnot b \lor ac \lor b\lnot b \lor bc = a\lnot b \lor ac \lor bc$
    mit $a=0$ und $c=0$ folgt:
    $y = a\lnot b \lor ac \lor bc = 0$
  • Es handlet sich also um einen statischen 0-Hazard (Öffnen in Amilosim)

Beispiel für einen dynamischen Hazard

hazards_example2
  • Es handlet sich um einen dynamischen 1-Hazard (Öffnen in Amilosim)
  • Dieser entsteht hier durch einen statischen 0-Hazard der Variablen $v$

Konstruktion Hazard-freier Schaltungen

  • Synchrones Design
    • Eine Möglichkeit, die Ausbreitung von Glitches zu vermeiden, ist zu warten bis alle Signale stabil sind
    • Dies kann durch ein Clock-Signal erreicht werden, dass anzeigt, wann ein Wert übernommen werden soll
    • Dies führt zu einem synchronen Schaltungsdesign
  • Zusätzliche Gatter
    • Durch zusätzliche Gatter kann eine Hazard-freie Schaltung realisiert werden
    • Ein KV-Diagramm kann helfen, Hazards zu entdecken

Konstruktion Hazard-freier Schaltungen

hazard_free_problem
  • Beobachtung: Hazards entstehen, wenn zwei Primterm-Blöcke überlappungsfrei aneinander grenzen

Konstruktion Hazard-freier Schaltungen

  • Lösung: Mit zusätzlichen Gattern wird ein weiterer Primterm-Block erzeugt, der die Überlappung der 1-Menge garantiert
hazard_free_solution

Gibt es Fragen?

questions

Anregungen oder Verbesserungsvorschläge können auch gerne per E-mail an mich gesendet werden: Kontakt


Weitere Vorlesungsfolien