Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vertiefungsstoff zum Thema: Schaltwerke Funktionale Beschreibung von Schaltwerken weitere Flipflop Typen Modellierungsaufgabe: Entwurf eines Muster-Erkenners.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vertiefungsstoff zum Thema: Schaltwerke Funktionale Beschreibung von Schaltwerken weitere Flipflop Typen Modellierungsaufgabe: Entwurf eines Muster-Erkenners."—  Präsentation transkript:

1 1 Vertiefungsstoff zum Thema: Schaltwerke Funktionale Beschreibung von Schaltwerken weitere Flipflop Typen Modellierungsaufgabe: Entwurf eines Muster-Erkenners Technische Realisierung von Speicherbausteinen

2 2 Schematischer Aufbau eines Schaltwerks z Schaltwerk W e 1... e n z1zrz1zr g 1 (e, z) g r (e, z) e f 1 (e, z) f m (e, z) Schaltnetz F.... Verzögerungs- glieder    Anmerkung: Nur die Eingänge e 1... e n sowie die Ausgänge a 1... a m sind von außen zugreifbar. Die Rückführung der Zustände z 1... z r geschieht intern.

3 3 Formale Beschreibung eines Schaltwerks Definition: Ein Schaltwerk W ist die technische Realisierung der beiden Abbildungen f und g mit: f : {0,1} n x {0,1} r -> {0,1} m mit: f((e e n ), (z 1,.., z r )) = f(e, z) = (f 1 (e, z), f 2 (e, z),..., f m (e, z)) g : {0,1} n x {0,1} r -> {0,1} r mit: g(e, z) = (g 1 (e, z), g 2 (e, z),..., g r (e, z)) Dabei bedeutet: e := (e 1... e n ) Eingabe für W (d.h. Schaltzustände an n Eingängen) z := (z 1,.., z r ) innere Zustände (insgesamt r Zustände) f k : insgesamt m Schaltfunktionen, die Ausgabe von W bestimmen. g j : insgesamt r Schaltfunktionen, die die Zustandsübergänge von W bestimmen. a k := f k (e, z) : Ausgabe am Ausgang a k von W z j := g j (e, z) : neuer (rückzuführender) innerer Zustand z j Definition: Ein Schaltwerk W ist die technische Realisierung der beiden Abbildungen f und g mit: f : {0,1} n x {0,1} r -> {0,1} m mit: f((e e n ), (z 1,.., z r )) = f(e, z) = (f 1 (e, z), f 2 (e, z),..., f m (e, z)) g : {0,1} n x {0,1} r -> {0,1} r mit: g(e, z) = (g 1 (e, z), g 2 (e, z),..., g r (e, z)) Dabei bedeutet: e := (e 1... e n ) Eingabe für W (d.h. Schaltzustände an n Eingängen) z := (z 1,.., z r ) innere Zustände (insgesamt r Zustände) f k : insgesamt m Schaltfunktionen, die Ausgabe von W bestimmen. g j : insgesamt r Schaltfunktionen, die die Zustandsübergänge von W bestimmen. a k := f k (e, z) : Ausgabe am Ausgang a k von W z j := g j (e, z) : neuer (rückzuführender) innerer Zustand z j

4 4 Übersicht: Flipflop-Typen J Q K ¬Q D Q ¬Q d q ¬q¬q q j k JK-Flipflop D-Flipflop S Q R ¬Q ¬q¬q q s r asyn. RS-Flipflop S Q T R ¬Q ¬q¬q q s r syn. RS-Flipflop D Q ¬Q ¬q¬q q MS-Flipflop d ungetaktet getaktet (Taktleitungen werden zuweilen weggelassen) t

5 5 Synchrones RS-Flipflop Realisierung der Synchronisation mit AND-Gattern Werte-Tabelle TS RQ t Q t+1 0 xxqkeine Änderung: Q t+1 = q = Q t 1 00qkeine Änderung: Q t+1 = q = Q t 101qQ t+1 = 0Reset-Status 1 10qQ t+1 = 1Set-Status 1 11q nicht erlaubt ! Schaltfunktion sync. RS-FF: S + R'Q t Q t+1 = für T=1 Q t für T=0 & & 11 11 T Q ¬Q¬Q R S Synchronisation RS-FF

6 6 Synchrones RS-Flipflop Alternative Realisierung mit 4 NAND-Gatter Werte-Tabelle TS RQ t Q t+1 0 xxq Q t+1 = q = Q t 1 00q Q t+1 = q = Q t 101q Q t+1 = q Q t+1 = q nicht erlaubt ! & & T Q ¬Q¬Q R S & &

7 7 D-Flipflop Motivation: Verzögerungselemente, die einen Eingabewert um genau einen Takt verzögert ausgeben, lassen sich sehr einfach mit einem synchronen RS-Flipflop aufbauen. Ein D-Flipflop reicht zu jedem Taktzeitpunkt den Eingabewert d unverändert an den Ausgang Q weiter. Blockschaltbild: D-Flipflop: Realisierung mit RS-Flipflop: Werte-Tabelle D-Flipflop Td Q t Q t+1 = d t+1 0 xqQ t+1 = q = Q t 1 00Q t+1 = S = 0 101Q t+1 = S = Q t+1 = S = Q t+1 = S = 0 D-FF d d T S Q T R ¬Q d d T

8 8 JK-Flipflop Motivation: Umgehung der S=1 und R=1 Problematik beim RS-Flipflop: Es soll nur möglich sein: - Q zu setzen, falls ¬Q = 1 und - Q zu löschen, falls Q = 1 Blockschaltbild: JK-Flipflop: Realisierung mit RS-Flipflop: Werte-Tabelle JK-Flipflop S Q T R ¬Q Q J T JK Q t Q t Wechsel pro Takt ¬Q¬Q & & J Q T K ¬Q K JK

9 9 Master-Slave Flipflop Zusammenschaltung von 2 synchronen RS-Flipflops (bzw. JK-Flipflops) mit demselben Takt t. Wirkungsweise ähnlich wie beim D-Flipflop. VF: Vorspeicher-Flipflop ("Master") HF: Hauptspeicher-Flipflop ("Slave") Funktionsweise: t = 1 : Eingänge von HF gesperrt Übernahme von d in VF (solange wie t = 1) t = 0 : Eingänge von VF gesperrt HF übernimmt Schaltzustand von VF => Einschreiben in den Speicher nur möglich, wenn t = 1; => Speicher erst auslesbar, wenn anschließend t = 0 Q ¬Q¬Q T D Realisierung Master-Slave-Flipflop:

10 10 Muster-Erkenner Aufgabe: (Teilfolgen-Suche) Entwickle ein Schaltwerk W, das als Eingabe eine (beliebig lange) Bit-Folge a 1, a 2,..., a i,..., erhält und feststellen kann, ob ein vorgegebnes Bitmuster b 1, b 2,..., b m darin vorkommt und dies durch eine 1 als Ausgabewert anzeigt. Ansatz 1: paralleler Mustervergleich Mit jedem 2 i -ten (d.h. geraden) Takt wird neues Element a i der Eingabefolge in m-stelliges, paralleles Schieberegister A geschoben und dann im (2 i + 1) -ten Takt mit dem im Register B abgelegten Muster b 1 b 2 b 3 b 4 parallel verglichen. Beispiel: m=4; verwende 4-Bit-Komparator. Gesuchtes Muster: b 1 b 2 b 3 b 4 a 3 a 4 a 5 a 6..., a i, Ausgabe 1, falls alle a i = b i 4Bit-Komparator Strom von Eingabedaten a i Schiebe-Register A Register B

11 11 Muster-Erkenner Ansatz 2: Serieller Muster-Erkenner Vereinfachung: Muster: b 1 b 2 b 3 b 4 fest vorgegeben, hier Prinzip: 1.mit jedem Takt gelangt neues Element a i in den seriellen Erkenner. serieller „1011“-Erkenner a 3 a 4 a 5 a 6..., a i, Ausgabe 1, falls Muster erkannt Strom von Eingabedaten a i 2.der Erkenner kann sich merken, wie viele Übereinstimmung mit dem Muster 1011 bisher bereits erkannt wurden. Folgende Fälle sind zu unterscheiden: -bisher 0 Übereinstimmungen gefunden=: Zustand z 0 -Teilmuster 1 bereits erkannt=: Zustand z 1 -Teilmuster 10 bereits erkannt=: Zustand z 2 -Teilmuster 101 bereits erkannt=: Zustand z 3

12 12 Serieller Muster-Erkenner serieller „1011“-Erkenner a 3 a 4 a 5 a 6..., a i, Ausgabe 1, falls Muster erkannt Strom von Eingabedaten a i 3.anhand seines aktuellen Zustands (also entweder z 0, z 1, z 2, und z 3 ) UND der neuen Eingabe a i kann erkannt werden, welcher der folgenden Fälle vorliegt: Fall1:a i passt zum bereits erkannten Teilmuster, d.h., jetzt ist ein längeres Teilmuster gefunden. Folgende Möglichkeiten: ZustandTeilmustera i Übergang in Nachfolgezustand z 0 - 1z 1 z 1 10z 2 z 2 101z 3 Fall2:a i = 1 und Erkenner ist im Zustand z 3 Somit ist Muster 1011 vollständig erkannt. Fertig oder neue Suche. z z 4 (z / 1 z 0 / z 1 ;; erneute Suche)

13 13 Serieller Muster-Erkenner Fall3:a i passt nicht mit bereits erkanntem Teilmuster zusammen. D.h., bereits erkanntes Teilmuster wird durch a i nicht länger. Im Gegenteil, es kann notwendig werden, das bisher bekannte Teilmuster zu verwerfen und mit einem kürzeren (wenn nicht sogar leeren) Teilmusterweiter zu arbeiten. Folgende Möglichkeiten: ZustandTeilmustera i Übergang in Nachfolgezustand z 0 - 0z 0 ;; immer noch nichts erkannt z 1 11z 1 ;; 1 ignorieren z 2 100z 0 ;; Teilmuster verwerfen z z 2 ;; Teilmuster Rücksetzen auf 10 Zur übersichtlichen Darstellung des Sachverhalts verwendet man eine Tabelle oder ein sog. Zustandsübergangs-Diagramm: zizi z i+1 aiai z4z4 z0z0 z2z2 1 z3z3 z1z

14 14 Serieller Muster-Erkenner Nächster Schritt: Entwurf eines Schaltwerks, das das im Zustandsübergans- Diagramm festgelegte Verhalten realisiert. Dazu: 1. Codierung der Zustände z 0 bis z 4 in Form speicherbarer Binärworte. Möglichkeit: -Stelle Zustände z i durch eine 3-stellige Binärzahl d= D 2 D 1 D 0 dar mit (d) dual = (i) dezimal -lege d in 3-Bit Register ab. D 2 D 1 D 0 Zustand 0 00 z z z z z X (don‘t care) 1 10 X (don‘t care) 1 11 X (don‘t care) z4z4 z0z0 z2z2 1 z3z3 z1z

15 15 Abbildung der Zustandsübergänge auf die Schaltfunktionen f : ( (D 2, D 1, D 0 ), a i ) = y und g : ( (D 2, D 1, D 0 ), a i ) = (*D 2, *D 1, *D 0 )) ZD 2 D 1 D 0 a i z z z z z z z z z z Y *D 2 *D 1 *D 0 Z* 00 00z z z z z z z z z z 1 X X XX z4z4 z0z0 z2z2 1 z3z3 z1z

16 16 Bestimmung der DNFs für f und g = (g 2, g 1, g 0 )) DNFs: f ((D 2, D 1, D 0 ), a i )= a i D‘ 2 D 1 D 0 + X = y (X ist frei wählbar!) g 2 ((D 2, D 1, D 0 ), a i ) = a i D‘ 2 D 1 D 0 + X = *D 2 g 1 ((D 2, D 1, D 0 ), a i ) = a‘ i D‘ 2 D‘ 1 D 0 +a i D‘ 2 D 1 D‘ 0 +a‘ i D‘ 2 D 1 D 0 + X = *D 1 g 0 ((D 2, D 1, D 0 ), a i ) = a i D‘ 2 D‘ 1 D‘ 0 +a i D‘ 2 D‘ 1 D 0 + a i D‘ 2 D 1 D‘ 0 +a i D 2 D‘ 1 D‘ 0 + X = *D 0 Werte- Tabelle f g 0 g 1 g 2 ZD 2 D 1 D 0 a i z z z z z z z z z z Y *D 2 *D 1 *D 0 Z* 00 00z z z z z z z z z z 1 x 1010 X XX x 1011 X XX x 1100 X XX x 1101 X XX x 1110 X XX x 1111 X XX

17 17 Minimierung der DNFs für f und g = (g 2, g 1, g 0 )) 1.Minimiere DNF von f((D 2, D 1, D 0 ), a i ) = a i D‘ 2 D 1 D 0 + X f ist 4-stellig => verwende 4x4 Karnaugh-Diagramm mit folgender Zuordnung von Schaltvariablen zu Tabellenbereichen: D2D2 D1D1 aiai D0D0 1 X 1010 D2D2 D1D1 aiai D0D0 X 1011 X 1111 X 1100  größte zusammenfassbare Schleife ergibt sich durch Wahl von: X 1111 = 1 und X 1010 = X 1011 = X 1100 = X 1100 = 0 => DMF f : y = a i D 1 D D2D2 D1D1 aiai D0D

18 18 Minimierung der DNFs für f und g = (g 2, g 1, g 0 )) 2. Minimiere DNF von g 2 g 2 ((D 2, D 1, D 0 ), a i ) = a i D‘ 2 D 1 D 0 + X = *D 2 verwende 4x4 Karnaugh-Diagramm wie bei Minimierung von f =>DMFg 2 : *D 2 = a i D 1 D 0 (zufällig identisch zur DMF f ) 3. Minimiere DNF von g 1 g 1 ((D 2, D 1, D 0 ), a i ) = a‘ i D‘ 2 D‘ 1 D 0 +a i D‘ 2 D 1 D‘ 0 +a‘ i D‘ 2 D 1 D 0 + X = *D 1 verwende 4x4 Karnaugh-Diagramm wie bei Minimierung von f  DMFg 1 : *D 1 = a‘ i D 0 + a i D 1 D‘ 0 4. Minimiere DNF von g 0 g 0 ((D 2, D 1, D 0 ), a i ) = a i D‘ 2 D‘ 1 D‘ 0 +a i D‘ 2 D‘ 1 D 0 + a i D‘ 2 D 1 D‘ 0 +a i D 2 D‘ 1 D‘ 0 + X = *D 0 verwende 4x4 Karnaugh-Diagramm wie bei Minimierung von f  DMFg 0 : *D 0 = a i D‘ 0 + a i D‘ 1

19 19 Entwurf einer Schaltwerk-Realisierung auf der Grundlage der DMFs Gegeben: DMF f : y= a i D 1 D 0 DMFg 2 : *D 2 = a i D 1 D 0 (hier zufällig identisch zur DMF f ) DMFg 1 : *D 1 = a‘ i D 0 + a i D 1 D‘ 0 DMFg 0 : *D 0 = a i D‘ 0 + a i D‘ 1 Schaltungsentwurf Schritt 1: zeichne Ein- und Ausgabeleitungen und Flipflops für D 2 D 1 D 0 Ausgänge der Flipflops werden zum „Eingabebus“ zurückgeführt D 1 -FF D2D1D0D2D1D0 D 0 -FF D 2 -FF aiai D2D2 D1D1 D0D0 y

20 20 Entwurf einer Schaltwerk-Realisierung auf der Grundlage der DMFs Gegeben: DMF f : y= a i D 1 D 0 DMFg 2 : *D 2 = a i D 1 D 0 (zufällig identisch zur DMF f ) DMFg 1 : *D 1 = a‘ i D 0 + a i D 1 D‘ 0 DMFg 0 : *D 0 = a i D‘ 0 + a i D‘ 1 Realisierung der DMFs (gemäß zweistufigem Entwurfsansatz) Stufe 1: Trage UND-Gatter ein (ggf. mit Invertoren) gemäß der DMFs D2D1D0D2D1D0 aiai D2D2 D1D1 D0D0 y D 1 -FF & & & & & & D 0 -FF D 2 -FF

21 21 Entwurf einer Schaltwerk-Realisierung auf der Grundlage der DMFs Gegeben: DMF f : y= a i D 1 D 0 DMFg 2 : *D 2 = a i D 1 D 0 (zufällig identisch zur DMF f ) DMFg 1 : *D 1 = a‘ i D 0 + a i D 1 D‘ 0 DMFg 0 : *D 0 = a i D‘ 0 + a i D‘ 1 Realisierung der DMFs (gemäß zweistufigem Entwurfsansatz) Stufe 2: Ergänzen der ODER-Gatter gemäß der DMFs => fertig ! D2D1D0D2D1D0 aiai D2D2 D1D1 D0D0 y D 1 -FF 11 11 & & & & & & D 0 -FF D 2 -FF

22 22 Technische Realisierung von RAM-Bausteinen Realisierung von Bit- bzw. Wort-organisierten RAM-Bausteinen erfolgt in hoch integrierter Halbleitertechnologie. Man spricht von sog. Halbleiter-Schreib-Lese-Speichern. Unterscheidung zwischen: - Lese-Schreib-Speicher (Read-Write) -Festwert-Speicher (Read-Only) Bei Lese-Schreib-Speicher weitere Unterscheidung nach der Art des Speicherverfahrens zwischen: - statischen RAM: SRAM -dynamischen RAM: DRAM Statische Halbleiterspeicher (SRAM) Speicherelement ist ein Flip-Flop. Solange die Energieversorgung anliegt, bleibt die gespeicherte Info erhalten (daher statisch).

23 23 Aufbau eines SRAM-Bausteins Realisierung Speicher-FF besteht aus 2 CMOS-Invertern. => extrem geringe Rest-Verlustleistung. Ruhezustand (Zelle nicht angewählt): Wortleitung auf 0-Potential; T1 & T6 sperren. Datenleitungen sind abgekoppelt. Lesen: Wortleitung auf 1-Potential => T1 & T6 leitend. Die beiden Datenleitungen der gewählten Speicherzelle werden auf einen Differenzverstärker geschaltet. Alle anderen Datenleitungen sind inaktiv (Spaltenwahl). Potentialdifferenz wird ausgewertet. Schreiben: Wortleitung auf 1-Potential. Setzen des FF durch eine Datenleitung auf "0" und andere Datenleitung auf "1" (bei CMOS abgeschaltet). "0": D = 0 -> T3, T4 leitend, T2, T5 gesperrt "1": D = 1 -> T2, T5 leitend, T3, T4 gesperrt Daten- ausgang Dateneingang

24 24 Aufbau eines DRAM-Bausteins Realisierung des Speicherelements durch elektrischen Kondensator (C), d.h., Information wird als Ladung gespeichert. => Wegen der unvermeidlichen Leckströme gibt es ständige Ladungsverluste => erfordert periodisches Auffrischen (Refresh) der Ladung, z.B. nach jeweils 2ms. Die Steuerlogik bewirkt, dass ein Auffrischzyklus nicht während eines normalen Speicherzugriffs anläuft und der Speicherbaustein während eines Auffrischzyklus für Schreiben und Lesen gesperrt ist.

25 25 Aufbau eines DRAM-Bausteins Schreiben: Schreibauswahlleitung liegt auf 1-Potential, T3 leitet und C lädt sich auf das Potential der Datenleitung (0 oder 1) auf. Lesen: Datenleitung liegt auf 1-Potential, wodurch die Leitungskapazität Cl auf 1- Potential geladen wird ("Precharge"). Leseauswahlleitung liegt ebenfalls auf 1- Potential, T2 leitet und es erfolgt ein Ladungsaustausch zwischen C und Cl. War C auf 0-Potential, wird Cl teilweise entladen und es erfolgt eine Potentialänderung auf der Datenleitung. War C auf 1-Potential, wird Cl nicht entladen und es gibt keine Potentialänderung auf der Datenleitung. Die Ladung in C wird durch das Lesen zerstört. => nach jedem Lesezugriff ist ein erneutes Einschreiben der Information notwendig.

26 26 SRAM vs. DRAM und Varianten SRAM: -schnelle Schaltzeiten, ca. 8 bis 16 mal schneller als DRAM da kein Refresh notwendig ist. -teurer als DRAM (pro Bit sind 4-6 Transistoren erforderlich, vgl. Folie 8) -höherer Stromverbrauch -Realisierung sowohl in bipolarer Technologie (TTL, ECL) als auch in MOS-(FET-) Technologie. DRAM: -hohe Integrationsdichte durch einfachen Aufbau der Speicherzelle. (2004: 553 Millionen Transistoren pro Chip. Schätzung für 2007 ca. 1100, weitere Verdoppelung alle 3 Jahre) -billiger als statisches RAM gleicher Kapazität (pro Bit 1-3 Transistoren erforderlich) -geringere Leistungsaufnahme -komplizierter in der Anwendung (wegen Refresh) -Realisierung nur in MOS-Technologie. -verschiedene DRAM Varianten

27 27 DRAM Varianten EDO-RAM (Extended Data Out), -Adressierte Daten stehen länger am Datenbus zur Verfügung (d.h., über den Zeitpunkt der Adressierung des nächsten Datenzugriffs hinaus). -Zugriffszeiten bei etwa 25 nsec. (1 Nanosekunde = 1/ Sek). SDRAM (synchrones DRAM), -Typischerweise in 4 parallele „Bänke“ unterteilt. -Erlauben sog. Burst-Zugriffe (d.h., Zugriff auf mehrere Bits gleichzeitig) innerhalb sequenzieller Datenbereiche. =>Während auf eine Bank zugegriffen wird, kann eine andere auf den Zugriff vorbereitet werden. Zugriffszeiten etwa 8 bis 10 nsec. DDRAM (Double Data Random Access Memory), -Lesen und Schreiben sowohl bei auf- und absteigender Flanke des Takts VRAM (Video Random-Access Memory), -Für Graphikkarten optimiertes RAM. -Zwei Anschlüsse: Über einen wird permanent ausgelesen, um den Bildschirm zu aktualisieren bzw, „aufzufrischen“. Über den anderen können (quasi parallel zum Auslesen) neue Daten eingeschrieben werden. Single Sided (SS)/Double Sided (DS). -Klassifikation von RAM-Bausteinen. Ein SS-Modul arbeitet mit zwei RAS- Signalen (Row Address Strobe), ein DS-Modul mit 2*2 Signalen.

28 28 Halbleiter-Festwertspeicher Festwertspeicher (ROM, Read Only Memory, Nur-Lese-Speicher) -ebenfalls wahlfreier Zugriff -im normalen Betrieb können sie nur gelesen werden -die gespeicherte Info ist nicht flüchtig – geht also beim Abschalten der Versorgungsspannung nicht verloren -einfacherer Aufbau als Schreib-Lese-Speicher, daher hohe Integrationsdichte. -meist wortorganisiert (8-Bit-Wort = Byte) Unterscheidung zwischen: ROM: Informationen werden beim Herstellungsprozess eingegeben maskenprogrammiertes ROM. (ROM = Read Only Memory) PROM: Einmal programmierbares ROM. Die Information kann vom Anwender mittels eines Programmiergeräts eingeschrieben werden. (PROM = Programmable ROM) EPROM: Vom Anwender programmierbares PROM, dessen Inhalt auch wieder gelöscht werden kann (mit Ultraviolett-Licht außerhalb des DVS). (EPROM = Erasable PROM) EEPROM: Vom Anwender programmierbares PROM, dessen Inhalt elektrisch wieder gelöscht werden kann. (innerhalb des DVS). (EEPROM = Electrically Erasable PROM)


Herunterladen ppt "1 Vertiefungsstoff zum Thema: Schaltwerke Funktionale Beschreibung von Schaltwerken weitere Flipflop Typen Modellierungsaufgabe: Entwurf eines Muster-Erkenners."

Ähnliche Präsentationen


Google-Anzeigen