16 Latches und Flipflops (Bistabile Kippstufen)



Ähnliche Dokumente
Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Grundtypen Flip-Flops

Versuch 3: Sequenzielle Logik

III. Asynchrone und synchrone Schaltwerke

Digitaltechnik II SS 2007

Grundtypen Flip-Flops

Elektrische Logigsystem mit Rückführung

Flipflops. asynchron: Q t Q t+t

Übung 1 RS-FFs mit NOR- oder NAND-Gattern

Praktikum Digitaltechnik

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

10. Elektrische Logiksysteme mit

Flip Flops allgemein - Digitale Signalspeicher

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Protokoll Flip-Flops. Protokollanten: Torsten Görig und Michael Horstmann

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

2.5.1 Das Basis-Flipflop

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Einteilung der Kippschaltungen (Schaltwerke) (=Flipflops)

Zu DT Übung 11.1 FF oben links. (Lösungsvorschlag)

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren?

Eigenschaften von Zählerschaltungen (1) 1 1. Richtung

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Schaltwerke Schaltwerk

Protokoll zu Grundelemente der Digitaltechnik

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Hardwarearchitekturen und Rechensysteme

KLAUSUR DIGITALTECHNIK SS 00

FAKULTÄT FÜR INFORMATIK

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Digital-Technik. Grundlagen und Anwendungen. Teil IV

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Technische Informatik Basispraktikum Sommersemester 2001

Praktikum Grundlagen der Elektronik

DuE-Tutorien 17 und 18

Schaltungen Jörg Roth 197

Angewandte Physik II: Elektronik

11. Flipflops NOR-Flipflop. Schaltung: zur Erinnerung: E 1 A 1 A 2 E 2. Funktionstabelle: Fall E 1 E 2 A 1 A

Speicherung digitaler Signale

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

Klausur zur Vorlesung

5. Flipflops. 5.1 Nicht-taktgesteuerte Flipflops NOR-Flipflop. Schaltung: zur Erinnerung: E 1 A 1 A 2 E 2.

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 12 AM

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

9 Multiplexer und Code-Umsetzer

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Rechnerarchitektur. Zustand Anzeige Untergeschoss U Erdgeschoss E 1. Stock 1

Local Control Network

Anleitung über den Umgang mit Schildern

1. Übung aus Digitaltechnik Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

1 Entwurf und Verhalten einfacher, synchroner Automaten

Speicherung von Signalen - Flipflops, Zähler, Schieberegister

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Johann Wolfgang Goethe-Universität

Anleitung zur Nutzung des SharePort Utility

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Labor Grundlagen der Elektrotechnik

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Einführung in. Logische Schaltungen

Technical Note Nr. 101

Getaktete Schaltungen

Übungsblatt 8 Lösungen:

Versuch Nr. 8c Digitale Elektronik I

VHDL Verhaltensmodellierung

Markus Kühne Seite Digitaltechnik

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

teamsync Kurzanleitung

Eine charakteristische Gleichung beschreibt die Arbeitsweise eines Flipflops in schaltalgebraischer Form.

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

Grundlagen der Theoretischen Informatik, SoSe 2008

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

Asynchrone Schaltungen

DeltaVision Computer Software Programmierung Internet Beratung Schulung

Simulation LIF5000. Abbildung 1

Zeichen bei Zahlen entschlüsseln

Lehrer: Einschreibemethoden

WAS finde ich WO im Beipackzettel

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

VHDL Verhaltensmodellierung

Logik mit Gedächtnis : Sequentielle Logik

Installation OMNIKEY 3121 USB

Hardwarepraktikum WS 1997/98. Versuch 4. Sequentielle Systeme I

Vorbereitung zum Versuch

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Synchronisations- Assistent

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Kommunikations-Management

Benutzerkonto unter Windows 2000

ROOT ZERTIFIKATS INSTALLATION UNTER WINDOWS 7/VISTA

Internet online Update (Internet Explorer)

Kurzanleitung für Verkäufer

Transkript:

6 Latches und Flipflops (Bistabile Kippstufen) Latches und Flipflops dienen als Speicherelemente in sequentiellen Schaltungen. Latches werden durch Pegel gesteuert (Zustandssteuerung). Bei der VHDL-Synthese treten Latches häufig unerwünscht auf VHDL-Syntheserichtlinien beachten! Flipflops sind wesentlicher Bestandteil getakteter Schaltungen wie z.b. von Zustandsautomaten und Prozessoren. Sie werden durch Flanken, also durch Pegeländerungen gesteuert. Beim Einsatz von Flipflops sind zeitliche Randbedingungen unbedingt zu beachten, um einen eindeutig definierten Ausgangszustand zu erhalten. Es werden erläutert: Basis RS-Latch Taktzustandsgesteuertes RS-Latch Data- (D-) Latch D-Flipflop JK-Flipflops haben heute nur geringe praktische Bedeutung DIGITALTECHNIK 6-

6. Basis RS-Latch Grundstruktur aller Flipflops enthält Rückkopplungen der Ausgänge zu deneingängen Strukturelle VHDL-Beschreibung durch zwei kreuzgekoppelte NOR-Gatter buffer-port Modus erforderlich: Schaltsymbol: library ieee; use ieee.std_logic_64.all; entity RSLATCH is port( R, S : in std_logic; -- Setzen/Ruecksetzen Q, NQ: buffer std_logic); -- Ausgaenge als buffer end RSLATCH; ------------------------------------- architecture STRUKTUR of RSLATCH is NQ <= S nor Q after ns; Q <= R nor NQ after ns; end STRUKTUR; DIGITALTECHNIK 6-2

Verhalten des Basis RS-Latches Zustandsfolgetabelle: S R Q Q + Q + Bedeutung Im RS-Latch existiert eine kombinatorische Schleife, d.h. der Ausgang eines kombinatorischen Ausgangs wird ohne Latch oder Flipflop auf den Eingang des Gatters geführt. Bei kombinatorischen Schleifen besteht die Gefahr des Schwingens! Arbeitstabelle: S R Q + Synthesetabelle: Q Q + S R DIGITALTECHNIK 6-3

Analyse der Zustandsübergänge im Basis RS-Latch (die Rückkopplung wird sequentiell betrachtet) NOR-Gatter: Ein beliebiger '' Eingang erzwingt eine '' am Ausgang Alle Eingänge '' bewirken eine '' am Ausgang Setzen Halten Rücksetzen Irregulär DIGITALTECHNIK 6-4

VHDL-Verhaltensbeschreibung für das Basis RS- Latch architecture VERHALTEN of RSLATCH is process(r, S) if (S='' and R='') then Q <= '' after ns; --Setzen elsif (S='' and R='') then Q <= '' after ns; --Ruecksetzen elsif (S='' and R='') then Q <= Q after ns; --Speichern else Q <= '' after ns; --Irregulaer end if; end process; NQ <= not Q after ns; end VERHALTEN; Charakteristische Gleichung des RS-Flipflops: Q + : Q Q 4 5 R 2 6 7 3 R S S S Q + =... Hinweis: RS-Basis Latches lassen sich auch aus kreuzgekoppelten NAND-Gattern aufbauen. Dann werden die Eingänge Low-Aktiv gesteuert. DIGITALTECHNIK 6-5

6. Taktzustandsgesteuertes RS-Latch (Gated RS-Latch) Das Basis RS-Latch ist für synchrone Schaltungen kein geeignetes Speicherelement da es sich nicht mit anderen Schaltungsteilen synchronisieren läßt. Es kann als asynchroner Zustandsautomat aufgefasst werden. Das taktzustandsgesteuerte RS-Latch enthält ein Takttor (Gate), welches aus zwei UND-Gattern besteht und die S- und R-Eingänge mit dem Takt synchronisiert. Durch diese Gatter aktiviert der S- bzw. R-Eingang das Latch nur, wenn gleichzeitig das Takttor geöffnet ist, d.h. das Taktsignal C='' ist. C S R SI RI Q Q + Zustand DIGITALTECHNIK 6-6

VHDL-Verhaltensmodell für das taktzustandsgesteuerte RS-Latch (mit Testbenchauszug) library ieee; use ieee.std_logic_64.all; entity RSLATCHT is --- keine port-deklarationen da Testbench end RSLATCHT; architecture VERHALTEN of RSLATCHT is signal C, R, S, Q: std_logic; --- Teststimuli -- STIM: process C <=''; R <=''; S <=''; wait for 5 ns; -- Setzen... end process STIM; RS: process(c, R, S) if C = '' then if (S='' and R='') then Q <= '' after ns; --Setzen elsif (S='' and R='') then Q <= '' after ns; --Ruecksetzen elsif (S='' and R='') then Q <= Q after ns; --Speichern else Q <= '' after ns; --Irregulaer end if; end if; end process RS; end VERHALTEN; DIGITALTECHNIK 6-7

Zeitverhalten des taktzustandsgesteuerten RS-Latches Das taktzustandsgesteuerte Latch wird als transparent bezeichnet, wenn C='' ist. D.h. jede Änderung von R und S wirkt sich sofort auf die Ausgänge aus. Während C='' behält das RS-Latch seinen Ausgangswert bei. R und S sind also Vorbereitungseingänge, deren Wirkung erst bei C='' auftritt. Bei Verwendung des taktzustandsgesteuerten RS-Latches ist weiter dafür zu sorgen, dass R und S im transparenten Zustand (C='') nicht gemeinsam aktiviert werden. D.h. es muss die Nebenbedingung C R S = '' eingehalten werden. Bei t= ist das RS-Latch solange undefiniert 'U', bis ihm durch R oder S ein Wert zugewiesen wird. DIGITALTECHNIK 6-8

Syntheseergebnis des Basis RS-Latches für ein C958 CPLD Syntheseergebnis des RS-Latches für ein C958 CPLD ; Implemented Equations. /QOUT := Vcc QOUT.CLKF = Gnd QOUT.RSTF = C * R QOUT.SETF = C */R * S QOUT.PRLD = GND DIGITALTECHNIK 6-9

6.2 D-Latch (Data-Latch) D-Latches werden dort verwendet, wo in einer Schaltung Signale eine bestimmte Zeit (die Periodendauer des Taktes C) konstant gehalten werden sollen. Ein D-Latch dient als Speicherelement nur während der Haltephase, d.h. während es nicht transparent ist C=''. Bei C='' erscheint der am D-Eingang liegende Signalwert nach kurzer Verzögerung am Latchausgang. Wenn das D-Latch als Speicher mit definierter Zykluszeit arbeiten soll, so muss der Entwickler dafür sorgen, dass während des transparenten Zustands keine Signaländerungen am D-Eingang erfolgen. Das D-Latch entsteht aus dem taktzustandsgesteuerten RS-Latch, indem durch einen Inverter zwischen den S- und R- Eingängen dafür gesorgt wird, dass der irreguläre Zustand nicht auftreten kann. Schaltsymbol: DIGITALTECHNIK 6-

D-Latch Verhalten Zustandsfolgetabelle: C D Q Q + Arbeitstabelle: C D Q + Charakteristische Gleichung des D-Latches:... Synthesetabelle (C=''): Q Q + D DIGITALTECHNIK 6-

VHDL-Modellierung von D-Latches entity DLATCH is port( C, D : in bit; Q: out bit); end DLATCH; architecture VERHALTEN of DLATCH is process(c, D) if C ='' then Q <= D after ns; --Uebernehmen -- else Q <= Q; --Speichern end if; end process; end VERHALTEN; Syntheserichtlinie für D-Latches: Ein Signal oder eine Variable wird dann zum D-Latch synthetisiert, wenn dem Signal bzw. der Variablen in einer if- oder case-anweisung nicht in allen möglichen Verzweigungen ein Wert zugewiesen wird. Um sicher zu sein, dass kein Latch verwendet werden soll, sollte dem Signal bzw. der Variablen vor der Verzweigung ein Defaultwert zugewiesen werden. DIGITALTECHNIK 6-2

6.3 D- (Daten-) Flipflop D-Latches sind als Speicherelement in Schaltwerken nicht zu empfehlen da die Transparenz der Latches zu schwerwiegenden Fehlern beim Schaltverhalten führen kann. Seit vielen Jahren werden in Schaltwerken überwiegend flankengesteuerte Speicherelemente (Flipflops) verwendet. Diese haben den Vorteil, dass das Takttor nur während eines sehr kurzen Entscheidungsintervalls nahe der aktiven Flanke geöffnet ist. Kurzzeitige Störungen des Eingangsignals erscheinen nicht am Flipflopausgang. DIGITALTECHNIK 6-3

D-Flipflop Varianten In der Praxis besitzen Flipflops weitere Eingänge: - Einen Rücksetz- (Reset-) und / oder einen Setz- (Preset-) Eingang. Damit wird der Flipflopausgang asynchron, d.h. unabhängig vom Takt, auf '' bzw. '' gebracht. - Einen Freigabe- (Enable-) Eingang. Falls dieser Eingang nicht aktiviert ist, so erfolgt während der aktiven Taktflanke keine Datenübernahme. Er dient in Schaltwerken mit mehreren Flipflops dazu, eine Bedingung zu definieren, unter der die Datenübernahme erfolgen soll. Unterschiedliche Flipflop Typen werden bei ansteigender oder bei abfallender Flanke betrieben. Beispiele für Flipflop-Schaltsymbole: Ansteigende Flanke, ENABLE und RESET Abfallende Flanke, ENABLE und PRESET DIGITALTECHNIK 6-4

VHDL-Beschreibung zweier D-Flipflops entity DFLIPFLO is port( CLK, D, RESET, PRESET, ENABLE : in bit; QR, QF: out bit); -- Zwei Flipfloptypen end DFLIPFLO; architecture VERHALTEN of DFLIPFLO is R_EDGE: process(clk, RESET) --. FF-Typ if RESET='' then QR <= '' after ns; -- asynchroner Reset auf '' elsif (CLK='' and CLK'event) then -- ansteigende Flanke if ENABLE = '' then QR <= D after ns; -- Freigabe in extra if-anweisung end if; end if; end process R_EDGE; F_EDGE: process(clk, PRESET) -- 2. FF-Typ if PRESET='' then QF <= '' after ns; -- asynchroner Preset auf '' elsif (CLK='' and CLK'event) then -- abfallende Flanke if ENABLE = '' then QF <= D after ns; -- Freigabe in extra if-anweisung end if; end if; end process F_EDGE; end VERHALTEN; DIGITALTECHNIK 6-5

Syntheserichtlinien für D-Flipflops Synthesewerkzeuge inferrieren D-Flipflops, wenn die nachfolgenden Syntheserichtlinien eingehalten werden: Durch die Klammer elsif... CLK'event... end if wird ein taktsynchroner Rahmen definiert. Die Taktflanke wird z.b. durch if CLK='' and CLK'event beschrieben. Alle Signale und Variable, denen im taktsynchronen Rahmen ein Wert zugewiesen wird, werden zu Flipflops bzw. Registern (das sind mehrere gleichartig angesteuerte Flipflops) synthetisiert. Die asynchronen Setz- und Rücksetzeingänge müssen vor der Taktflankenabfrage abgefragt werden. In der if-abfrage der Flanke darf keine weitere Bedingung, wie z.b. eine Enable-Abfrage stehen. Signalen oder Variablen, denen in einem taktsynchronen Rahmen ein Wert zugewiesen wurde, darf außerhalb dieses getakteten Rahmens kein Wert zugewiesen werden. Wenn eine Variable innerhalb eines taktsynchronen Rahmens auf allen Pfaden durch einen Prozess zuerst eine Wertzuweisung erfährt, bevor sie gelesen wird, bzw. in einer if- oder case- Abfrage verwendet wird, so wird die Variable als kombinatorische Logik synthetisiert, bzw. heraus optimiert. if-anweisungen müssen nicht alle möglichen Verzweigungen enthalten, um Latches zu vermeiden. DIGITALTECHNIK 6-6

Analyse des Zeitverhaltens: qf reagiert mit Verzögerung auf die ansteigende Flanke. qr reagiert mit Verzögerung auf die abfallende Flanke. Die RESET und PRESET Eingänge wirken asynchron. Die Datenübernahme erfolgt nur bei enable =''. DIGITALTECHNIK 6-7

Synthese eines D-Flipflops mit Freigabeeingang Falls keine Flipflops mit Freigabeeingang zur Verfügung stehen, so ist der Freigabeeingang durch einen Datenpfad zu beschreiben, der den aktuellen Zustand auf den Eingang zurück führt: D_INT = (ENABLE D) ( ENABLE QR) Gefährlich wäre es, wenn das ENABLE-Signal mit dem Taktsignal UND verknüpft werden würde. Grund: Das UND-Gatter würde eine Verzögerung bewirken. Dies ist jedoch in Schaltungen mit vielen Flipflops nicht zulässig, da alle Flipflops gemeinsam getaktet werden müssen ( Clock-Skew so gering wie möglich!). DIGITALTECHNIK 6-8

Setup- und Hold- Zeiten in D-Flipflops Um sicher zu stellen, dass der D-Eingang an den Q-Ausgang sicher übertragen wird, darf sich das Eingangssignal kurz vor und nach der aktiven Flanke (im Entscheidungsintervall) nicht ändern. Andernfalls geht das Flipflop in einen metastabilen Zustand. Das Entscheidungsintervall t E besteht aus der Setupzeit t S und der Holdzeit t H : t E = t S + t H Das Ausgangssignal erscheint um die Signalverzögerungszeit t plh verzögert. t S t H Zahlenwerte für die Advance High Density CMOS- (AHC-) Logikfamilie: t S = 5 ns t H =.5 ns t plh = t phl = 9...5 ns t plh Eine direkte Kopplung von Flipflopausgängen auf Flipflopeingänge ist in einem synchronen System nur deswegen möglich, weil t H << t p. Clock-Skew minimieren! DIGITALTECHNIK 6-9