Beruflich Dokumente
Kultur Dokumente
) mit 𝑛 Variable
I. Boolsche Algebra Disjunktion (ODER): 𝑎+𝑏
Negation/Komplement: 𝑎 oder 𝑎¬ Minterm 𝒎𝒊: Konjunktion (VerUNDung) aller 𝑛 Variablen (Vollkonjunktion)
Maxterm 𝑴𝒊: Disjunktion (VerODERung) aller 𝑛 Variablen (Volldisjunktion)
i. Gesetze der booleschen Algebra • Nummerierung der Terme: Terme werden nach Binärzahl, die sich aus Eingangskombination ergibt, sortiert:
𝑚(, 𝑚", … , 𝑚)# 𝑀(, 𝑀", … , 𝑀)#
Komplementär 𝑎"𝑎 =0 𝑎+𝑎 =1 Disjunktive Normalform (DNF): Disjunktion von Konjunktionen (Summe von Produkttermen)
KanonischeDNF (KDNF): alle Konjunktionen sind Minterme
Dualität 0=1 1=0 • aufstellen der KDNF aus der Wahrheitstabelle: Eins-Zeilen werden betrachtet
◦ VerUNDen der Eingangskombinationen dieser Zeile (𝑎 = 1 → 𝑎 notieren; 𝑎 = 0 → 𝑎 notieren)
Äquivalenz 𝑎"𝑎 =𝑎 𝑎+𝑎 =𝑎 𝑎' = 𝑎 ◦ VerODERn der Minterme
Konstanz 𝑎"0=0 𝑎"1=𝑎 𝑎+0=𝑎 𝑎+1=1 Konjunktive Normalform (KNF): Konjunktion von Disjunktionen (Produkt von Summentermen)
KanonischeKNF (KKNF): alle Disjunktionen sind Maxterme
Kommutativ 𝑎"𝑏 =𝑏"𝑎 𝑎+𝑏 =𝑏+𝑎 • aufstellen der KKNF aus der Wahrheitstabelle: Null-Zeilen werden betrachtet
◦ VerODERn der Eingangskombinationen dieser Zeile (𝑎 = 0 → 𝑎 notieren; 𝑎 = 1 → 𝑎 notieren)
Assoziativ 𝑎" 𝑏"𝑐 = 𝑎"𝑏 "𝑐 =𝑎"𝑏"𝑐 𝑎+ 𝑏+𝑐 = 𝑎+𝑏 +𝑐 =𝑎+𝑏+𝑐 ◦ VerODERn der Maxterme
Multiplexer (MUX): wählt von den verschiedenen Dateneingängen anhand der anliegenden Signale an der i. Speicherelemente
Steuerleitung einen aus und leitet diesen an den Datenausgang weiter D-Latch/Enable Latch: Signalpegel gesteuert: übernimmt Wert an 𝐷 bei 𝑒 = 1
• jeder Eingang 𝑥' wird durch ein Bitmuster dominant Flip-Flop: Taktflanken gesteuert: übernimmt Wert an 𝐷 nur bei steigender Taktflanke
• Umsetzung als zweistufiges Schaltnetz (1. Stufe UND-Gatter, 2. Stufe ODER- Gatter) • Register: Multibit Flip-Flop
• Kosten 𝑘g für einen N-auf-1 MUX: 𝑘! = 𝑁 log ) 𝑁 + 1 + 𝑁 Setup Zeit (𝒕𝒔𝒆𝒕𝒖𝒑): Daten müssen spätestens zum Zeitpunkt 𝑡=R&1E vor der nächsten akt. Taktflanke stabil sein
MulSplexerbaum: Baum aus Mulbplexern mit jeweils 2 Eingangsbits und 1 Auswahlbit Hold Zeit (𝒕𝒉𝒐𝒍𝒅): Daten müssen mindestens für Zeit 𝑡<>2B nach der aktiven Taktflanke stabil bleiben
Flip-Flop Latenz (𝒕𝒄𝟐𝒒): Daten vom Eingang 𝐷 werden spätestens zur Zeit 𝑡D)t nach der steigenden
• Entwicklung der Mulbplexer Logikgleichung nach einer Adressvariablen:
• 𝑓(𝑥", … , 𝑥3 , 𝑎(, … , 𝑎2 )hij = 𝑎(𝑓(𝑥", … , 𝑥3 , 1, … , 𝑎2 )hij + 𝑎(𝑓(𝑥", … , 𝑥3 , 1, … , 𝑎2 )hij Taktflanke am Ausgang 𝑄 verfügbar sein
o 2-auf-1 MUX mit Kofaktoren als Eingängen ii. synchrone Schaltungen
• Kosten für einen MUX-Baum mit 𝑁 Stufen: 𝑁−1 ∗6 Zeitbedingungen für synchrone Schaltungen:
Demultiplexer (DMUX): leitet den Dateneingang anhand der anliegenden Signale an der Steuerleitung an • Setup Bedingung: 𝑡D23 ≥ 𝑡D)t + 𝑡2>P'D,#9% + 𝑡=R&1E 𝑡D)t (v. R.), 𝑡2,#9% (davor), 𝑡=R&1E (a. R.)
einen der Datenausgänge weiter • Hold Bedingung: 𝑡<>2B < 𝑡D)t + 𝑡2>P'D,#'! 𝑡D)t (v. R.), 𝑡2,#'! (davor)
• jeder Ausgang 𝑦' wird durch wird durch ein Bitmuster aktiviert, die übrigen zu Null gesetzt h>E 0'&
Kennzahlen: 𝐿𝑎𝑡𝑒𝑛𝑧 = 𝑡D23,#'! 𝐷𝑢𝑟𝑐ℎ𝑠𝑎𝑡𝑧 = 𝑓D23, bzw: #𝐴𝑢𝑠𝑔𝑎𝑛𝑔𝑠𝑏𝑖𝑡𝑠 ∗ 𝑓D23 ,
= =
• Umsetzung als einstufiges Schaltnetz (UND-Gatter)
Möglichkeiten, um Frequenz erhöhen zu können:
• benötigte Bits der Steuerleitung bei 𝑘 Dateneingängen/-ausgängen: 𝑙𝑜𝑔) 𝑘
• Vereinfachungen der Logikfunktion, Veränderung der Reihenfolge
• schnellere Logik/Register (Optimierung der Logikbibliotheken/für moderate Signallaufzeitverbesserung
machbarer Ansatz)
Volladierer (VA): addiert 2 Bits (𝐴 und 𝐵) und einen möglichen Übertrag der vorangegangenen Stelle (𝐶'! ) Pipelining: Auweilen der Logikfunkbon in mehrere Teilfunkbonen
miteinander zu einem Summenbit (𝑆) und einem Übertrag • Einbau einer Registerstufe je Teilfunkbon
• Summenbit: 𝑆 = 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! = 𝐴⨁𝐵⨁𝐶'! = 𝑃⨁𝐶'! o Funkbonsinvariante Verschiebungen von Operatoren zwischen Teilfunkbonen zur Opbmierung der
• Carry-out: 𝐶>1& = 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! + 𝐴𝐵𝐶'! = 𝐴⨁𝐵 𝐶'! + 𝐴 " 𝐵 = 𝑃 " 𝐶'! + 𝐺 Länge des Pfades möglich
o Zwischensignale: Propagate (𝑃): 𝑃 = 𝐴⨁𝐵 Generate (𝐺): 𝐺 = 𝐴 " 𝐵 o Einfügen von „Dummy-Operatoren“ zur Vermeidung von Hold-Zeit Verletzungen
o Propagate (𝑃 = 𝐴⨁𝐵): 𝑃 = 1: 𝐶'! wird zu 𝐶>1& propagiert (weitergeleitet) (Kosten Dummy-Register: Inverter: 2 Transistoren/AND: 6 Transistoren)
o Generate (𝐺 = 𝐴 " 𝐵): 𝐺 = 1: an 𝐶>1& wird 1 generiert • größtmögliche Frequenz wird durch längsten Pfad der Teilfunkbonen besbmmt
Ripple-Carry-Addierer: Generate und Propagate können bei allen VA parallel berechnet werden o gleiche Pfadlänge in den Teilfunkbonen à maximale Redukbon der Taktperiode
• alle 𝑝' stabil nach 𝑡jkl ; alle 𝑔' stabil nach 𝑡:g6 Vorteile: Steigerung des Funkbonsdurchsatzes mit idenbschen Ga[ern/Registern
• 𝑠' hängt von 𝑎' , 𝑏' und 𝑐' ab: 𝑠' = 𝑝' ⨁𝑐' (auch von vorherigen Stufen abhängig) • parallele, gleichzeibge Bearbeitung der Teilfunkbonen von unterschiedlichen Iterabonen der Gesammunkbon
• 𝑐'm" hängt nur von 𝑐' ab, wenn: 𝑝' = 𝑎' ⨁𝑏' = 1 (z.T. von vorherigen Stufen abhängig) Nachteile: Gesammunkbonslatenz bleibt gleich oder steigt an; Flächensteigerung durch zusätzliche Registerstufen
• maximale Berechnungsdauer, bis alle Bits stabil sind: #5&1XR! " h>E
Kennzahlen: 𝐿𝑎𝑡𝑒𝑛𝑧 = #𝑆𝑡𝑢𝑓𝑒𝑛 ∗ 𝑡D23,#'! = 𝐷𝑢𝑟𝑐ℎ𝑠𝑎𝑡𝑧 = = 𝑓D23 , bzw:
à maximal lange Carry-Chain (Propagate bei VAs in der Mitte); Generate in der 0-Stufe X')*,5!# &')* =
0'&
• allgemein gilt für N-Bit RCA: 𝑡2>P'D,#9% = 𝑡9AD + 𝑁 − 2 ∗ 𝑡DD + max(𝑡DD , 𝑡D=D ) #𝐴𝑢𝑠𝑔𝑎𝑛𝑔𝑠𝑏𝑖𝑡𝑠 ∗ 𝑓D23 ,
=
o Dominanz finden in der letzten Stufe: 𝑡DD > 𝑡D= à 𝑝R = 1; 𝑡DD ≤ 𝑡D= à 𝑝R =∗
Parallel Processing: Mehrfachinstanzierung der Funktion/Schaltung (identisch mit ursprünglichen Fkt.)
• Zusätzliche Logik (MUX/DMUX) zum Verteilen der Eingaben und Zusammenführen der Ergebnisse
Vorteile: Steigerung des Funktionsdurchsatzes, parallele, gleichzeitige Bearbeitung von unterschiedlichen
Iterationen; Funktionslatenz bleibt gleich
Nachteile: es werden deutlich mehr Gatter und Register benötigt
&')*,7189)
Kennzahlen: Takt der Steuerlogik: 𝑡D236 = bzw. 𝑓D236 = 𝑓D23,h>B12 ∗ #𝑀𝑜𝑑𝑢𝑙𝑒
#h>B12R
𝐷𝑢𝑟𝑐ℎ𝑠𝑎𝑡𝑧 = 𝑓D236 𝐿𝑎𝑡𝑒𝑛𝑧 = 𝑡D23,h>B12 + 𝑡D23"
Kosten: #Module ∗ Logik + Reg. uvwxa +Steuerlogik + DE MUX + Ein.−/Aus. register
Ausgang hängt nur von Zuständen ab rückgekoppelte Pfade können nicht durch eine zusätzliche Registerstufe getrennt werden
ii. FSM 𝑖3 : Eingänge 𝑜3 : Ausgänge 𝑠3 : Zustände Moore Automat
(𝑠 f = 𝑓 𝑠, 𝑖 ; 𝑜 = 𝑔(𝑠)) Eintaktung eines Registers: 𝑡D)t egal 𝑡=R&1E + 𝑡<>2B ≤ 𝑠𝑡𝑎𝑏𝑖𝑙𝑒𝑟 𝐸𝑖𝑛𝑔𝑎𝑛𝑔
𝑓 𝑠, 𝑖 : Zustandübergangsrelation
𝑔(𝑠, 𝑖): Ausgaberelation • Änderung des Eingangs wirkt sich erst im nächsten Takt am Ausgang hängt von Zuständen & Eingängen ab
Mealy Automat (𝑠 f = 𝑓 𝑠, 𝑖 ; 𝑜 = 𝑔(𝑠, 𝑖))
Zustandsüberführungstabelle: Ausgang aus
Wahrheitstabelle mit Folgezustände und Ausgänge in • Zustandsüberführungstabelle: Ausgänge in extra Tabelle gelistet • Eingang wirkt sich direkt am Ausgang aus
Abhängigkeit der Eingänge und aktuellen Zustände • Signale vor Registern: Folgezustände Vorteile: weniger Zustände à übersichtliche Beschreibung
• nächster Zustand wird erst mit nächster • Signale nach Registern: aktuelle Zustände Nachteile: lange kombinatorische Pfade bei Verkettung
steigender Takmlanke entgegengenommen Vorteile: kein kombinatorischer Pfad von Eingängen zu Ausgängen: mehrere FSMs (zu vermeiden)
Reset bei Zustandsdiagramm nicht vergessen! wichbg für Begrenzung der Logikbefe in sequenbellen Schaltwerken
Nachteil: hohe Anzahl an Zuständen
Nick Slotnarin WS1920 – alle Angaben ohne Gewähr auf Korrektheit