PDF-Datei
Transcrição
PDF-Datei
Digitaltechnik Teil 2 -1- Prof . Komar Digitaltechnik Teil 2: Schaltwerke – asynchrone und synchrone Inhaltsverzeichnis Schaltwerke Schaltwerksarten (asynchron, synchron) Schaltwerk als Automat Entwurf von Schaltwerken Zustandsgraph und Zustandsfolgetabelle Vorgehensweise beim Entwurf Zustandsminimierung mit Schaltwerktabelle Zustandscodierung .................. .................. .................. ................. ................. .................. ................... ................. 2 3 4 6 7 9 9 11 Flipflop (Binärspeicher) Bistabile Kippstufen Basis -Flipflops Flipflops mit Taktsteuerung Taktzustandgesteuerte Zweispeicher-FF Taktflankengesteuerte FF (dynamische) Zusammenfassung der Flipfloptypen .................. 13 .................. 14 .................. 16 .................. 18 .................. 20 .................. 21 Ki ppschaltungen Schmitt-Trigger Monostabile Kippstufen ( Monoflop ) Astabile Kippstufen ( Multivibrator ) .................. 22 ................. 23 ................. 24 Zählschaltungen Asynchrone Zähler Synchrone Zähler .................. 25 .................. 26 .................. 27 Register und Schieberegister Auffangregister Schieberegister Schaltwerkentwurf mit Schieberegistern ...................31 ................. 31 ..................32 ..................34 Realisierungsmöglichkeiten von Schaltwerken Mikroprogrammsteuerwerk Komplexe Schaltwerke Mikroprozessor .................. 36 .................. 37 ...................39 ...................40 Digitaltechnik Teil 2 Schaltwerke -2- Prof . Komar ( endlicher Automat, Zustandsmaschine, Finite State Machine, sequentielle Logik ) Bei Schaltnetzen ( kombinatorische Logik ) sind die Ausgangssignale stets nur eine Funktion der augenblicklichen Eingangssignale. Die Vorgeschichte der Eingangssignale ist ohne Bedeutung. Für jeden Eingangszustand gibt es daher genau einen Ausgangszustand. Die Laufzeitverzögerung realer Logikgatter muß bei Schaltnetzen nur zur Vermeidung von Fehlfunktionen ( Hazard ) und wegen der Arbeitsgeschwindigkeit beachtet werden. Bei Schaltwerken ( sequentielle Logik ) hängt im allgemeinsten Fall der Ausgangszustand von allen bisherigen Eingangszuständen ab. Die Vorgeschichte ist damit von Bedeutung und das Schaltwerk benötigt ein 'Gedächtnis', technisch ausgedrückt einen Speicher. Bei einem Schaltwerk ist daher für jeden Eingangszustand mehr als ein Ausgangszustand möglich, denn die Ausgangsvariablen sind zusätzlich noch von den inneren Zustandsvariablen ( gespeicherte Information = Gedächtnis ) abhängig. Definition: Schaltwerke ( sequential circuit ) sind eine Funktionseinheit zum Verarbeiten von Schaltvariablen, bei der die Werte aller Schaltvariablen am Ausgang ( Ausgangsvariablen ) zu einem bestimmten Zeitpunkt t 0 nach Verstreichen der Lauf- und Verzögerungszeit t d nur abhängen von den Werten aller Schaltvariablen am Eingang ( Eingangsvariablen ) zum Zeitpunkt t 0 – td und zu endlich vielen vorangegangenen Zeitpunkten sowie gegebenenfalls vom Anfangszustand. Ein Schaltwerk hat eine endliche Anzahl von inneren Zuständen und ist, abstrakt gesehen, ein endlicher Automat. Schaltwerke bestehen in der einfachsten Form aus Schaltnetzen, bei denen Ausgangsgrößen auf die Eingänge rückgekoppelt sind. Hierbei wird die interne Speicherfunktion durch die realen Gatterverzögerungen erzielt, die man sich in den Rückkopplungszweigen zusammengefaßt denken kann ( sozusagen eine rückgekoppelte Verzögerungseinheit ). Diese Lokalisierung der Verzögerung ist eine starke Abstraktion, denn die realen Verzögerungen sind über den gesamten Signalpfad der durchlaufenden Gatter verteilt. Impulsdiagramm Rückgekoppeltes NOR-Schaltnetz -> 2 Eingängen S und R, 1 Zustandsvariable Q und 1Ausgang = Q Zustandsdiagramm ( Moore – Typ ) Digitaltechnik Teil 2 -3- Prof . Komar Einfachstes mögliches Schaltwerk - Impulsdetektor Eine Logikschaltung soll an ihrem Ausgang Y durch Y = 1 anzeigen, wenn in der Vergangenheit am Eingang X ein positiver Impuls X=1 angelegen hat. ( Hinweis: Ein funktioneller Impulsdetektor würde natürlich noch einen Eingang zum Rücksetzen benötigen ) Impulsdiagramm: X Y Zustandsgraph: Zustandsfolgetabelle: Schaltung: X Y Ungetaktete Schaltwerke, bei denen die rückgekoppelte Verzögerung ohne synchronisierenden Takt und Speicher (Flipflops) realisiert wird, werden als asynchrone Schaltwerke bezeichnet. Wichtigste Vertreter dieser Kategorie von Digitalschaltungen sind die sogn. Kippschaltungen ( Kippstufen ), unterteilt in: - Bistabile Kippst. ( Flipflop ) 1 Bit Speicher - Monostabile Kippst. ( Monoflop ) variable Impulsdauer - Astabile Kippst. ( Multivibrator ) periodische Rechteckschwing. - Schmitt-Trigger Schwellwert -Diskriminator Asynchrone Schaltwerke werden in der Praxis nur in sehr einfacher Form realisiert, weil bei ihnen durch unterschiedliche Laufzeiten in den einzelnen Rückkopplungszweigen Race-Probleme auftreten können, die sie unsicher machen. Vorteile der asynchronen Schaltwerke sind die hohe Arbeitsgeschwindigkeit und der geringere Energieverbrauch. Da komplexere Schaltungen ( Mikroprozessoren usw.) in asynchroner Realisierung aber aufgrund der Laufzeitproblematik sehr aufwendig zu entwerfen sind und einen höheren Schaltungsaufwand erfordern, werden diese üblicherweise als synchrone Schaltwerke entworfen. Synchrone Schaltwerke sind getaktete Schaltwerke, bei denen Änderungen der internen Zustandsvariablen nur zu ganz bestimmten, vom Takt abhängigen Zeitpunkten zugelassen werden. Um die Verzögerung durch den Takt C extern zu steuern, verwendet man spezielle getaktete Module, sogn. Flipflops FFs, die selbst aber intern asynchron arbeiten ( FFs sind ganz einfache asynchrone Schaltwerke). Es wird somit die Verzögerungseinheit aus triggerbaren Speicherelementen ( getaktete Flipflops ) aufgebaut, die nur bei einem gemeinsamen Taktsignal ( Clock ) die anliegende Information übernehmen ( Zeit wird mit Clock diskretisiert ). Die Verzögerung ( Taktperiode ) ist somit für alle Rückkopplungszweige gleich und Race-Probleme (Einschwingvorgänge) können nicht mehr auftreten. Dadurch sind synchrone Schaltwerke einfacher zu entwerfen und werden generell für komplexere Funktionen bevorzugt. Durch die Taktung ist allerdings ihr Energieverbrauch gegenüber einem asynchronem Entwurf deutlich erhöht. Da in der synchronen Schaltungstechnik Zustandsänderungen nur im Taktperiodenabstand möglich sind, reicht es hier aus, nur diskrete Zeitwerte zu betrachten. Damit hat man in synchronen digitalen Schaltungen neben dem Wertebereich auch den Zeitbereich diskretisiert. Digitaltechnik Teil 2 -4- Prof . Komar Aufbau und Arten von Schaltwerken Jedes Schaltwerk läßt sich, unabhängig von einer asynchronen oder synchronen Realisierung, prinzipiell aufteilen in einen ausschließlich verknüpfenden Teil ( kombinatorisches Schaltnetz ) und einem ausschließlich speichernden ( verzögernden ) Teil. Schaltwerk Eingänge Ausgänge Schaltnetz Zustände Verzögerung Speicher Automat Eine weitere Unterteilung des Schaltnetzes in Übergangs-( oder Erregungs-) und Ausgangsschaltnetz führt auf die Unterscheidung von Mealy- und Moore-Automat, die aber letztlich in ihrem Logikverhalten äquivalent sind, sich also gegenseitig ineinander umformen lassen ( im zeitlichen Verhalten bleiben „geringe“ Unterschiede = der Mealy-Automat reagiert auf Eingangssignale schneller ) E/A Z Mealy - Automat Der Mealy-Automat wird als übergangsorientiert bezeichnet, weil seine Ausgänge unmittelbar auf Eingangsänderungen reagieren können ( Ausgangsänderung asynchron gegenüber evtl. Takt ). E Z A Moore- Automat Der Moore-Automat wird als zustandsorientiert bezeichnet, weil seine Eingänge nicht unmittelbar auf den Ausgang wirken , sondern die Ausgänge immer aus dem Zustandsvektor hergeleitet werden ( Ausgangsänderung nur synchron mit evtl. Takt ). Digitaltechnik Teil 2 -5- Prof . Komar Mealy-Automat als synchrones ( getaktetes ) Schaltwerk mit synchronisierten Eingangssignalen Bei ganz einfachen Schaltwerken, kann auch der innere Zustand ( Ausgang des Speichers ) zugleich die Ausgangsgröße des Schaltwerks sein ( Medwedjew-Automat ) Blockstrukturen verschiedener Automaten Bei Schaltwerken müssen im Gegensatz zu Schaltnetzen die Variablen auch in den unterschiedlichen Zeitpunkten ( Folgewert durch + ) gekennzeichnet werden. Bezüglich des funktionellen Aufbaus von Schaltwerken wird unterschieden: - festverdrahtete Schaltwerke ( Gatterbausteine, Flipflops usw. ) - Realisierung mit PLD-Bausteinen ( programmierbare Logikbausteine, ermöglichen ganze Schaltwerke auf einem Chip bzw. als Komponente eines ganzen Systems auf einem Chip ( SoC-> System on a Chip ) - mikroprogrammierte Schaltwerke ( Steuerwerk ) mittels Halbleiterspeicher, interner Aufbau der klassischen CISC-Mikroprozessoren - Schaltwerkfunktionen durch Mikroprozessoren ( Software ) Ein Schaltwerk ist eine schaltungstechnische Einheit zum Verarbeiten von Schaltvariablen, deren Wert an den Ausgängen zu einem Zeitpunkt nur von den Werten an den Eingängen zum gleichen Zeitpunkt und zu endlich vielen früheren Zeitpunkten abhängt Schaltwerke sind äquivalent zu den deterministischen endlichen Automaten der Informatik ( endliche Zustandsautomaten ) Unter einem asynchronem Schaltwerk versteht man eine sequentielle Schaltung, die ohne ein übergreifendes Taktsignal betrieben wird. Digitaltechnik Teil 2 -6- Prof . Komar Allgemeines zum Entwurf von Schaltwerken Verbale Aufgabenstellung Verdeutlichung der Aufgabenstellung durch Impuls-Zeit-Diagramm Mit Zustandsgraph Entwurf einer Lösung entweder als Mealy- oder Moore-Automat ( Mealy -> allgemeiner ,schneller und evtl. geringerer Schaltnetzaufwand – schwieriger verstehbar ) wichtigster, schwierigster aber auch kreativster Entwicklungsschritt Synchroner Entwurf Asynchroner Entwurf Zustandscodierung im Prinzip beliebig Einschrittige Codierung kann zu geringerem Schaltnetzaufwand führen Zustandscodi erung muß !!! aufgrund ungleicher Laufzeiten in den Rückkopplungszweigen einschrittig erfolgen. Falls dies nicht möglich ist, müssen sogn. dynamische Zwischenzustände eingeführt werden, was meist eine Vergrößerung des Aufwandes bedeutet. Deswegen is t der asynchrone Entwurf auf kleine Schaltwerksfunktionen begrenzt. Im allgemeinen Fall werden Takt + FFs (getaktete Flipflops) nur für die Synchronisation in den Rückkopplungszweigen verwendet. (d.h. Erzwingung gleicher Laufzeiten in den Rückkopplungszweigen ) Sonderfall: Zähler/ Frequenzteiler bei denen der Takt auch zugleich logisches Eingangssignal ist. ( Taktflanken sind zu zählen ) Zustandsminimierung mit Hilfe der Schaltwerktabelle – eine Verminderung der Anzahl der Zustände auf das unbedingt notwendige führt zu verringertem Realisierungsaufwand Aus Zustandsgraph die Zustandsfolgetabelle entwickeln. Sie wird für die Schaltnetzrealisierung in diskreter Logik oder als Festwertspeicher –Schaltnetz benötigt. Unbedingt vor Realisierung des Entwurfes die Fehlerzustände betrachten und überprüfen und eventuell durch gezielte Festlegung von Folgezuständen korrigierend eingreifen. Digitaltechnik Teil 2 -7- Prof . Komar Entwurf von Schaltwerken Schaltwerke lassen sich mit den vom Schaltnetzentwurf bekannten Wahrheits- oder Funktionstabellen nicht beschreiben, da für Schaltwerke neben den Ein- und Ausgangssignalen auch die inneren Zustände in zeitlicher Abfolge betrachtet werden müssen. Für die Analyse und Synthese von Schaltwerken verwendet man in der Entwurfsabfolge folgende Hilfsmittel: das Impulsdiagramm zur Veranschaulichung einer verbalen Aufgabenbeschreibung den Zustandsgraph /-diagramm zur formalen Beschreibung des zu lösenden Problems (Synthesekern) die Schaltwerkstabelle zur Zustandsminimierung und damit Vereinfachung des Zustandsdiagramms die Zustandsfolgetabelle zur Realisierung der Schaltnetze eines Schaltwerkes mit minimalen Aufwand (entspricht Wahrheitstabelle) Impulsdiagramme dienen zur Veranschaulichung der zeitlichen Abläufe der Ein- und Ausgangsgrößen eines Schaltwerkes. Impulsschaltung und Impulsdiagramm Zustandsdiagramm (Zustandsgraph) Ausgehend von einer Funktionsbeschreibung erfolgt als erster Entwurfschritt meist das Erstellen eines Zustandsdiagramms ( Zustandsgraph ). Diese formale Beschreibung des zu lösenden Problems ist der eigentliche, den Ingenieur erfordernden Kern des Entwurfes. Ein Zustandsdiagramm oder -graph dient zur grafischen Darstellung der einzelnen Zustände und Übergänge eines Schaltwerkes und beschreibt das Verhalten des Schaltwerkes vollständig und anschaulich. In einem Zustandsdiagramm werden die internen Zustände durch Knoten ( Kreise ) dargestellt. Ein Knoten ( Zustand ) ist in der Regel Ausgangspunkt für einen oder mehrere Kanten (gerichtete Linien), die dann in jeweils einem Zielknoten ( Folgezustand ) enden. Jede Kante stellt somit einen möglichen Übergang ( Zustandswechsel ) dar, wobei die Pfeilrichtung angibt, in welchen Zustand übergegangen wird. In die Knoten trägt man die Zustände ( Zustandsvektor ) entweder symbolisch oder aber bereits in der Zustandscodierung ein. An die Kanten werden die den Übergang bewirkenden Eingangssignale und durch Schrägstrich getrennt, die dabei entstehenden Ausgangsgrößen angetragen ( Mealy-Automat ). Bei einem Moore-Schaltwerk können die Ausgangssignale auch unter einem Querstrich in die Kreise (Knoten) eingetragen werden, denn bei diesem Schaltwerkstyp sind die Ausgangssignale nur von den Zustandsvariablen abhängig. An die Kanten brauchen dann nur noch die Eingangsgrößen angetragen werden, die den Zustandsübergang bewirken. Zustandsdiagramm (Mealy ) Digitaltechnik Teil 2 -8- Prof . Komar Schaltwerktabelle Für die weiteren Entwurfsschritte wird aus dem Zustandsdiagramm die Schaltwerktabelle und/oder die Zustandsfolgetabelle abgeleitet. Zustandsdiagramm, Schaltwerk- und Zustandsfolgetabelle enthalten die gleiche Information und können ohne zusätzliche Angaben ineinander überführt werden. Die Schaltwerktabelle ist die kompaktere und übersichtlichere Darstellung und ist für eine Zustandsminimierung unerläßlich. In dieser zweidimensionalen Anordnung ( Matrix ) sind den internen Zuständen Zeilen und den Eingangskombinationen die Spalten zugeordnet. Als Matrixelemente werden die aus Zuständen und Eingängen sich ergebenden Folgezustände/Ausgänge Z /A eingetragen. Bei einem Moore-Automaten sind in der Schaltwerkstabelle alle Ausgänge einer Zeile gleich und können auch für jede Zeile zusammengefaßt dargestellt werden. Moore-Zustandsgraph mit Schaltwerktabelle Zustandsfolgetabelle (Zustandstabelle) Die Zustandsfolgetabelle ist im Grunde eine, für die Schaltwerksbeschreibung erweiterte Wahrheitstabelle und kann direkt aus dem Zustandsgraphen abgeleitet werden. In der Zustandsfolgetabelle werden die möglichen Kombinationen von Eingangsgrößen und Zustandsvariablen auf der Eingangsseite ( linker Tabellenteil ) und die Folgezustände ( Zustandsvariablen nach Takt oder Verzögerung ) sowie die Ausgangsgrößen auf der Ausgangsseite ( rechter Tabellenteil ) aufgetragen. Das bedeutet, daß bei m Eingangsvariablen und p Zustandsvariablen eine Tabelle mit 2**( m+p ) Zeilen entsteht. Ein Schaltwerk ist vollständig bestimmt, wenn Folgezustand und Ausgang für jeden internen Zustand bei jeder möglichen Eingabe festliegen. Die Zustandsfolgetabelle für die Beschreibung des Übergangsverhalten ist wenig anschaulich und nur bei einfachen Aufgabenstellungen direkt aus der verbalen Funktionsbeschreibung zu erstellen. Sie ist aber meist als Entwurfshilfe für die Realis ierung eines Schaltwerkes unerläßlich. Zustandsgraph, Zustandsfolgetabelle und Schaltwerktabelle für ein Mealy-Schaltwerk E = Eingänge, A = Ausgänge, Q = Zustände S,R = FF – Vorbereitungseingänge bei synchroner Realisierung mit einem RS-FF Digitaltechnik Teil 2 -9- Prof . Komar Vorgehensweise beim Entwurf von Schaltwerken 1. Aufgabenbeschreibung und Impulsdiagramm Eine verbal vorgegebene Schaltwerksbeschreibung muß die Gesamtfunktion definieren und insbesondere die Ein - und Ausgangsgrößen hinsichtlich ihres geforderten Zeitverhaltens erfassen. Häufig legen aber weder die verbale Beschreibung noch das Impulsdiagramm die Schaltwerksfunktion bis in die letzten Einzelheiten fest. 2. Zustandsdiagramm / Zustandsgraph Eine vollständige Beschreibung stellt erst das Zustandsdiagramm / Zustandsgraph dar. Ausgehend von der verbalen Beschreibung sind unterscheidbare Zustände festzulegen, die das Schaltwerk für die vorgesehene Arbeitsweise durchlaufen muß und es sind die zugehörigen Ausgangsvektoren festzulegen. Damit kann das Zustandsdiagramm (-graph) entwickelt werden, in dem für jeden der internen Zustände beschrieben wird, wie die Schaltung auf jeden möglichen Eingangszustand reagiert. Dieser Schritt, also die Herleitung der vollständigen, formalen Beschreibung aus der Aufgabenstellung ist der schwierigste Teil des Schaltwerkentwurfes und er ist nicht formalisierbar (eigentlicher Kern der Synthese ). Ursprüngliches Zustandsdiagramm und nach Ausgangsgruppen geordnete Schaltwerktabelle 3. Zustandsminimierung und Schaltwerktabelle Für die Realisierung der vorgegebenen Schaltwerksfunktion müssen die im 2.Schritt vorgesehenen Zustände nicht unbedingt alle erforderlich sein. Zur Minimierung der Zustände wird das Zustandsdiagramm daraufhin untersucht, ob nicht einige Zustände redundant und damit überflüssig sind. Wichtigste Minimierungsregel: Wenn zwei Zustände bei identischen Eingangsgrößen dieselben Folgezustände bei identischen Ausgangsgrößen haben, dann kann im Zustandsdiagramm auf einen der beiden Zustände verzichtet werden. Die Verminderung der Zustandszahl wird im allgemeinen auch zu einem verringerten Realisierungsaufwand führen. Mit Hilfe der Schaltwerktabelle läßt sich nun die Anzahl der Zustände am einfachsten minimieren. Bei der Zustandsminimierung wird versucht, die Zeilenzahl der zugehörigen Schaltwerktabelle zu verringern, ohne das Ein-/Ausgangsverhalten zu verändern. Im ersten Minimierungsschritt ist die Tabelle nach Ausgangsgruppen zu ordnen. Regel: Man benötigt mindestens soviele Zustände wie es unterschiedliche Ausgangsgruppen gibt. Fehlerhafter Versuch, die Zustände zu verschmelzen Digitaltechnik Teil 2 - 10 - Prof . Komar Im zweiten Minimierungsschritt ist für jede Ausgangsgruppe zu untersuchen, ob man die zu ihr gehörenden Zustände zusammenfassen darf. Dazu beginnt man mit der Bildung von Folgezustandsgruppen und es wird für jede Folgezustandsgruppe geprüft, ob jeweils alle Folgezustände Z als Zustände Z zu ein und derselben Ausgangsgruppe gehören. Wenn ja, können die entsprechenden Zustände verschmolzen werden. Die Ausgangsgruppe ( 1 0 ) ist aufgespalten worden Der dritte und alle weiteren Minimierungsschritte entsprechen sinngemäß völlig dem zweiten Schritt und werden dann nötig, wenn sich nicht alle Zustände einer Ausgangsgruppe verschmelzen lassen. Dann müssen diese Ausgangsgruppen aufgespaltet werden und die Untergruppen sind auf Zusammenfassbarkeit ihrer Zustände zu untersuchen. Dieses Aufspalten muß solange wiederholt werden, wie zu einer Ausgangsgruppe ( Untergruppe ) mehr als ein Zustand gehört. Minimiertes Zustandsdiagramm und minimiertes Schaltwerktabelle Struktogramm zur Vorgehensweise bei der Zustandsminimierung Digitaltechnik Teil 2 - 11 - Prof . Komar 4. Zustandscodierung Zur binären Verschlüsselung ( Codierung ) der nötigen Zustände werden Zustandsvariable deklariert und jedem Zustand eine der möglichen Binärkombinationen eindeutig zugeordnet. Bei synchronen Schaltwerken kann man die Zustände grundsätzlich beliebig codieren. Beim Moore-Automaten codiert man häufig so, daß die Zustandssignale unmittelbar als Ausgangssignale verwendet werden können ( spart bzw. reduziert Ausgangsschaltnetz ). Faustregel: Minimalster Aufwand für das Schaltnetz kann sich ergeben , wenn sich bei den Übergängen bzw. Zustandswechseln möglichst wenig Bit im Code ändern (ideal sind einschrittige Codes wie z.B. Gray-Code). Die beiden folgenden Regeln führen oftmals zur Einsparung von Bauteilen im Übergangsschaltnetz. Im Konfliktfall hat Regel 1 Vorrang. Regel 1: Zustände, die bei identischen Eingangszuständen denselben Folgezustand aufweisen, sind einschrittig zu codieren. Regel 2 : Zustände, die bei benachbarten Eingangszuständen Folgezustände ein und desselben vorausgehenden Zustands darstellen, sind einschrittig zu codieren. Beim Moore-Automat werden die Zustände häufig so codiert, dass man Zustandssignale unmittelbar als Ausgangssignale verwenden kann. Das Ausgangsschaltnetz lässt sich auf diese Weise vereinfachen oder sogar ganz einsparen. Bei einem asynchronen Schaltwerk ( ungetaktet ) müssen !!! die Zustände einschrittig codiert werden, um kritische Wettrennen ( races ) und damit eventuell fehlerhafte Folgezustände zu verhindern. Wenn sich ein Zustandsdiagramm nicht einschrittig codieren läßt, müssen sogn. zusätzliche dynamische Zwischenzustände e ingeführt werden, was zusätzliche Zustandsvariablen zur Folge haben kann. Zustandsdiagramm in einschrittiger Codierung Zustandsdiagramm Zustandsdiagramm in einschrittiger Codierung mit dynamischen Zwischenzuständen Digitaltechnik Teil 2 - 12 - Prof . Komar 5. Wahl der Flipflop-Typen Nur bei synchronen Schaltwerken. Es ist festzulegen, mit welchen Flipflop-Typen die einzelnen Zustandsvariablen realisiert werden. Da von der Zustandscodierung und der Flipflop-Wahl der Aufwand für das Schaltnetz abhängt, wird für das Erzielen des minimalen Bauelemente -Aufwandes das Durchprobieren verschiedener AlternativKombinationen nötig sein. ( Schritte 4. 5. 6. 7. iterativ) 6. Zustandsfolgetabelle Ausgehend vom Zustandsgraph (Zustandsdiagramm) ist die Zustandsfolgetabelle vollständig zu erstellen. Nur für synchrone Schaltwerke: In einer Erweiterung der Zustandsfolgetabelle sind die Erregungsgrößen, d.h. die Vorbereitungseingänge der gewählten Flipflops, so festzulegen, daß sich die gewünschte logische Aufeinanderfolge der Zustände ergibt. Dafür benötigt man die Synthesetabelle (Übergangstabelle) des gewählten Flipflop-Typs. 7. Erzeugung der Folgezustandssignale Bei asynchronen Schaltwerken ergeben sich die Folgezustände als Ausgänge des rückgekoppelten Schaltnetzes. Die Wahrheitstabelle für dieses Schaltnetz besteht aus dem Eingangsteil der Zustandsfolgetabelle und den Folgezuständen Z+ im Ausgangsteil. Entwurf des Übergangsschaltnetzes für synchrone Schaltwerke Die Ansteuertabelle, bestehend aus dem Eingangsteil der Zustandsfolgetabelle ( Eingangsgrößen + Zustände ) und den FF-Erregungsvariablen als Ausgangsgrößen bildet jetzt eine Wahrheitstabelle für das zu entwerfende Schaltnetz. Die Ausgänge dieses Schaltnetzes steuern die Flipflops an ( Erregungsvariable ) und Eingänge des Schaltnetzes sind die rückgekoppelten Zustandsvariablen ( FF-Ausgänge ) und die Eingangsgrößen des Schaltwerkes. Je nach gewählter Realisierung ist aus diesen Wahrheitstabellen (enthalten in der Zustandsfolgetabelle) mit den Mitteln der Schaltnetzminimierung für jede Ausgangsgröße eine möglichst einfache schaltalgebraische Gleichung ( diskretes Schaltnetz ) zu bestimmen oder es sind die nötigen Programmiertabellen ( FestwertSpeicher-Schaltnetz ) zu entwickeln. 8. Ausgangsschaltnetz Möglichst einfache schaltalgebraische Gle ichungen sind ebenfalls für die Ausgangsgrößen des Schaltwerkes zu bestimmen. Die dafür nötige Wahrheitstabelle besteht aus dem Eingangsteil der Zustandsfolgetabelle und den Ausgangsgrößenspalten der Zustandsfolgetabelle. 9. Fehlerzustände Gegebenenfalls ist das Verhalten des Schaltwerkes in Pseudozuständen zu untersuchen, die als Folge von Störungen angenommen werden können und in denen sich das Schaltwerk nicht fangen (aufhängen) darf. 10. Zeichnen des Symbolschaltplanes mit den Zustands-Flipflops und den verknüpfenden Schaltnetzen. Eigentlicher kreativer Teil des Schaltwerkentwurfes sind die ersten fünf Schritte. Die nachfolgenden Entwurfsschritte sind weitgehend formalisierbar und kaum noch an die spezielle Aufgabe gebunden. Außerdem können diese Schritte mit Rechnerunterstützung abgearbeitet werden. Digitaltechnik Teil 2 - 13 - Prof . Komar Bistabile Kippstufen ( Flipflops ) Eine bistabile Schaltung weist zwei stabile Zustände auf und kann damit ein Bit speichern. Den Grundbaustein aller Flipflops FF stellt das Basis -FF dar. Die Unterscheidung der verschiedenen FF-Arten erfolgt hinsichtlich Taktsteuerung ( ungetaktet, taktzustandsoder taktflankengesteuert ) und der internen Speicherzustände ( Ein- oder Zweispeicher-FF ). Bezeichnung Basis-FF Einspeicher-FF ( Auffang-FF, Latch ) Zweispeicher-FF( Zwischenspeicher-FF ) Taktsteuerung Nein Ja Ja Zwischenspeicher Nein Nein Ja Asynchrone Flipflops ( Basis-FF ) sind ungetaktet und übernehmen daher die Eingangssignale unmittelbar nach deren Auftreten Synchrone Flipflops verknüpfen die Eingangssignale mit einem zusätzlichen Taktsignal und schalten nur bei einem aktiven Taktsignal Taktzustandsgesteuerte, statisch getaktete Flipflops verarbeiten ein eintreffendes Eingangssignal während der gesamten Zeitdauer des aktiven Taktpegels. Taktflankengesteuerte Flipflops übernehmen nur zu einem bestimmten ( diskreten ) Zeitpunkt den Wert, der am Eingang anliegt. Binärspeicher bzw Flipflops werden in getakteten Versionen in die Rückkopplungszweige von Schaltwerken eingefügt, um für alle Rückkopplungspfade die gleiche 'Verzögerung' zu erzwingen und damit die Laufzeitprobleme, die durch die unmittelbar wirksame Rückkopplung bei asynchronen Schaltwerken bedingt sind, zu vermeiden. Durch das synchrone Takten aller Flipflops kann erreicht werden, daß die Rückkopplungszweige entweder nur für einen kurzen Augenblick geschlossen werden ( Taktflankensteuerung ) oder zu keinem Zeitpunkt eine geschlossenen Rückkopplung zugelassen, sondern eine partielle Weiterleitung des Zustandes bzw Folgezustandes durchgeführt wird ( Master-Slave -Steuerung ). Zustandsübergänge werden somit durch die Verwendung getakteter Flipflops in synchronen Schaltwerken ausschließlich vom Takt bestimmt. Für den Einsatz in synchronen Schaltwerken muß die bistabile Kippstufe ( Flipflop ) folgende grundsätzliche Funktionen realisieren: - 0 oder 1 einspeichern ( Schreiben ) - Speicherinhalt muß extern zur Verfügung stehen ( Lesen ) - einspeichern nur unter Einwirkung des Taktes in einem möglichst kurzen Zeitintervall Im Gegensatz zu ungetakteten Flipflops ( Basis -FF ) reagieren getaktete Flipflops nur in einem beschränkten Zeitabschnitt 'empfindlich', nämlich im Entscheidungsintervall. Im Übergangsintervall geben die Flipflops das übernommene Signal aus. Entscheidungs- und Übergangsintervall Digitaltechnik Teil 2 - 14 - Prof . Komar Basis-Flipflops Basis -FF sind nicht taktgesteuert. Von diesem FF werden folgende Funktionen verlangt: - Setzen, der Ausgangszustand wird oder bleibt 1 - Löschen, der Ausgangszustand wird oder bleibt 0 - Speichern, der Ausgangszustand behält den alten Wert bei Für diese drei Funktionen muß das Basis -FF mindestens zwei Eingänge besitzen. Die beiden Ausgänge Q1 und Q2 liefern in regulären Betriebszuständen zueinander komplementäre Signale. RS-Basisflipflops lassen sich aus kreuzgekoppelten NOR- oder NAND-Gattern bilden ( Rückkopplung von Ausgang auf Eingang ). Funktionen des NOR-FF: S=1 R=0 Setzen S=1 erzwingt Q2=0 -> Q1=1 S=0 R=1 Löschen oder Rücksetzen R=1 erzwingt Q1=0 -> Q2=1 S=0 R=0 Speichern, ist abhängig vom vorausgehenden Zustand S=1 R=1 irregulärer Zustand, erzwingt Q1=Q2=0 falls danach R=0 S=0 Speichern folgt, müßte sich eigentlich der nichtstabile Zustand Q1=Q2=1 einstellen. Abhängig von den zufälligen Verzögerungszeiten der NOR-Elemente wird sich einer der zwei stabilen Zustände einstellen. Übergangsverhalten des RS-Basis -Flipflops RS-Basis-Flipflop aus NOR-Elementen Das Basis -RS-FF aus NAND-Elementen antworten im irregulären Zustand S=R=0 mit Q1=Q2=1. Kreuzgekoppelte NAND-Elemente Digitaltechnik Teil 2 - 15 - Prof . Komar Überblick über das reguläre Verhalten von RS-Basis-Flipflops Im Beispiel ist die Anwendung eines NAND-RS-FF als Entpreller eines mechanischen Kontaktes dargestellt. Ein Kontaktprellen ( Unterbrechung, nicht Umschaltung ) führt dazu, daß abwechselnd 'Speichern' und 'Löschen' gefordert wird und damit der Ausgangszustand sich nicht mehr verändert. Entprellschaltung Mit einem zusätzlichen Schaltnetz vor dem Eingang eines RS-Basis -FF läßt sich der irreguläre Eingangszustand verhindern und einem der drei regulären Zustände Vorrang einräumen. Umwandlung der Flip-Flops durch eine Zusatzlogik RS-Flipflop mit Setzvorrang Digitaltechnik Teil 2 - 16 - Prof . Komar Flipflops mit Taktsteuerung Der steuernde Takteingang bewirkt, daß die Information an den Vorbereitungseingängen des FF nicht mehr unmittelbar sondern nur noch im Zusammenspiel mit dem Taktsignal übernommen wird. Daneben sind noch Direkteingänge möglich. Diese werden nicht vom Takt gesteuert sondern wirken wie beim Basis -FF unmittelbar auf das FF ein ( wirken asynchron – am Takt vorbei ). Ideales und reales Taktsignal Taktzustandsgesteuerte Einspeicher-Flipflops Der Taktzustand, mit dem die Vorbereitungseingänge des FF freigegeben werden, wird aktiver Taktzustand genannt. Änderungen der Vorbereitungseingänge wirken sich in der aktiven Taktphase unmittelbar auf das FF aus. Der irreguläre Zustand des RS-FFs muß in der aktiven Taktphase verhindert werden, da in der passiven Taktphase die Funktion Speichern folgt. Taktzustandgesteuertes RS-Flipflop Impulsdiagramm mit Anfangszustand Q = 0 NAND-Schaltung eines taktzustandsgesteuerten RS-Flipflops Digitaltechnik Teil 2 - 17 - Prof . Komar RS-Flipflop mit Direkteingängen D-Flipflop ( Daten-FF, Latch ) werden als Auffang-FF eingesetzt um Daten für eine durch den Takt vorgegebene Zeitspanne bereitzuhalten ( zwischenzuspeichern ). Es übernimmt im aktiven Taktzustand den am D-Eingang anliegenden Wert und hält diesen im passiven Taktzustand am Ausgang bereit. Übergangsverhalten von D-Flipflops NAND-Schaltung eines D-Flipflops Digitaltechnik Teil 2 - 18 - Prof . Komar Taktzustandgesteuerte Zweispeicher-Flipflops Wenn ein FF die an seinem Vorbereitungseingängen anliegende 'neue' Information schon übernehmen und dennoch an seinen Ausgängen die gespeicherte 'alte' Information für eine Zeitspanne bereithalten soll, dann ist dazu ein Zweispeicher-FF oder Zwischenspeicher-FF erforderlich. Diese Zwischenspeicherung wird notwendig, wenn z.B. bei Zählern oder Schieberegistern mehrere FF hintereinandergeschaltet werden müssen. Das Zweispeicher-FF besteht aus zwei Einspeicher-FF und einem Inverter. Die beiden Einspeicher-FF werden Master und Slave genannt. Bei Takt C=1 wird der Wert an den Vorbereitungseingängen in den Master übernommen. Das interne Signal S' ändert sich entsprechend, ist aber außerhalb des FF nicht zugänglich. Die Ausgänge des Slave bleiben unverändert. Erst bei C=0 wird die im Master gespeicherte Information an den Slave weitergegeben und erscheint dann an den Ausgängen. Ein- und Ausgabe erfolgen zeitlich getrennt aufeinander. Direkteingänge werden beiden Einspeicher-FF zugeführt und damit beide gleichzeitig gesetzt oder gelöscht. RS-Zweispeicher-Flipflop Ein zweizustandsgesteuertes D-Zweispeicher-FF läßt sich nach der gleichen Methode mit zwei Einspeicher-FF ausbauen. Es weist das gleiche Übergangsverhalten wie das Einspeicher-D-FF auf und damit sind Zustandsfolgetabelle, Synthesetabelle und charakteristische Gleichung weiterhin gültig. D-Zweispeicher-Flipflop Das taktzustandsgesteuerte JK-Zweispeicher-FF weist weitgehend das gleiche Übergangsverhalten wie das RS-FF auf, wobei sich die Eingänge J und S sowie K und R entsprechen. Ein irregulärer Eingangszustand wie S=R=1 existiert aber nicht, sondern für J=K=1 wechselt mit jeder Taktperiode das Ausgangssignal.( Toggel-FF, Frequenzteilung des Taktsignals durch Faktor 2 ) Ein taktzustandsgesteuertes JK-FF ist nur als Zweispeicher-FF stabil. Ein JK-Basis -FF oder ein JK-EinspeicherFF im aktiven Taktzustand würden bei J=K=1 mit einer Frequenz schwingen, die nur von der Gatterlaufzeit abhängig wäre. Aufgabe : Es ist ein taktzustandsgesteuertes JK-Zweispeicher-FF mit dem dargestellten RS-Master-Slave-FF zu entwerfen ( Entwurf synchroner Schaltwerke ) Digitaltechnik Teil 2 Übergangsverhalten von JK-Flipflops Impulsdiagramm zum JK-Flipflop JK-Flipflop SN7472 - 19 - Prof . Komar Digitaltechnik Teil 2 - 20 - Prof . Komar Taktflankengesteuerte Flipflops ( dynamische FF ) Beim taktflankengesteuerten FF werden die Vorbereitungseingänge mit einer der beiden Flanken des Taktpulses freigegeben. Aktive Taktflanke kann somit die 0/1 oder die 1/0 Taktflanke sein. Schaltungstechnisch lassen sich die dynamischen Takteingänge durch RC-Glieder oder durch Verknüpfungs gatter unter Ausnutzung des Laufzeiteffektes aufbauen. Alle taktzustandsgesteuerten FF sind auch als taktflankengesteuerte FF realisiert. Es gelten weiterhin die von zustandsgesteuerten FF bekannten Tabellen und Gleichungen. Das Takttor öffnet bei flankengesteurten FF nur so kurzzeitig, daß bei einflankengesteuerten JK-FF für J=K=1 kein Stabilitätsproblem auftritt. Bei zweiflankengesteuerten FF erfolgt die Übernahme ( Eingabe ) in den Master mit der aktiven Taktflanke und die Weitergabe an den Slave ( Ausgabe ) mit der passiven Taktflanke. Kennzeichnung dynamischer Eingänge Impulsdiagramm zum flankengesteuerten JK-Flipflop Aufgabe: Es ist ein Toggle-FF mit Hilfe von geeigneten RS-, JK- und D-FFs zu entwerfen T Q Q+ 0 0 1 1 0 1 0 1 S R JK D 1J 0 1 1 0 C1 1K 1S 1D C1 C1 1R Digitaltechnik Teil 2 Zusammenfassung bistabiler Flipfloptypen - 21 - Prof . Komar Digitaltechnik Teil 2 - 22 - Prof . Komar Kippschaltungen werden unterteilt in - astabile (ohne stabilen Logikzustand ) - monostabile (mit nur einem stabilen Logikzustand ) - bistabile (mit zwei stabilen Logikzuständen => Flipflops ) Schmitt-Trigger Schwellwertschalter ( Schmitt-Trigger ) sind bistabile Kippstufen mit Hysterese, die bei stetiger Änderung der Eingangsspannung unstetige ( sprungartige ) Ausgangssignale liefern. Der Schmitt-Trigger ist damit ein weiteres bistabiles, rückgekoppeltes Kippglied mit zwei stabilen Logikzuständen. Übersteigt die Eingangsspannung UI die obere Triggerschwelle UIein , dann springt die Ausgangsspannung auf H-Pegel. Sie springt erst dann wieder zurück (L-Pegel), wenn die Eingangsspannung UI die untere Triggerschwelle unterschreitet. Die Spannungsdifferenz zwischen Ein - und Ausschaltpegel heißt Schalthysterese. Die Hysteresekennlinie stellt auch das Symbol eines Schmitt-Trigger-Bausteins dar. Schmitt-Trigger-Bausteine werden als Rechteckformer zur Flanken bzw. Signalregenerierung (z.B. Aufrichten von 'müden' Flanken nach langen Leitungen) und als Schwellwertschalter eingesetzt. Die Hysterese verhindert Schwingungen des Ausgangs bei Schwankungen ( Störungen ) des Eingangssignals um die Ansprechschwelle. Die meisten Schmitt-Trigger-Bausteine sind mit logischen Funktionen gekoppelt ( SN7413 , 7414, 7418, 7419, 7424, 74121) Bei manchen Bausteinen haben nur bestimmte Eingänge Schmitt-Trigger-Verhalten (siehe SN 74121). Eingangs- und Ausgangsspannungsdiagramm Eines nicht invertierenden Schnitt-Triggers Ausgangsspannungsverläufe eines Inverters und eines invertierenden Schmitt-Triggers Übertragungskennlinie eines nicht invertierenden Schmitt-Triggers Schaltsymbole verschiedener Gatter mit Schmitt-Trigger-Eingängen Digitaltechnik Teil 2 - 23 - Prof . Komar Monostabile Kippstufen ( Monoflop, Univibrator ) Monoflops haben nur eine stabile Lage am Ausgang. Durch eine Triggerung am Eingang nimmt der Ausgang eine unstabile Arbeitslage ein und kippt nach einer, meist durch ein externes RC-Glied einstellbaren Zeit, in seine stabile Lage zurück. Es werden positive - und negativ-flankengetriggerte Monoflops unterschieden. Die Impuls - oder Verweildauer hängt von der Dimensionierung des RC - Gliedes ab. Beim nicht nachtriggerbaren Monoflop bleibt eine während der Verweilzeit eintreffende triggernde Flanke wirkungslos. Eine triggernde Flanke kann erst nach Rückkehr in die stabile Lage und einer Erholzeit einen neuen Impuls anregen. Beim nachtriggerbaren Monoflop löst dagegen jeder Triggerimpuls einen Ausgangsimpuls der eingestellten Zeitdauer T aus, auch wenn das Monoflop noch nicht zurückgekippt ist ( volle Verweilzeit für Nachtriggerung). Es gibt auch Monoflops mit Rückstelleingängen, durch den ein anstehender Ausgangsimpuls jederzeit abgebrochen werden kann ( SN 74123 ). Impulsdiagramme der verschiedenen Monoflops Schaltsymbole und Funktionstabelle eines Positiv- und eines negativflankengetriggerten Monoflops Einstellung der Verweilzeit mit externem RC-Glied Monoflop, das wahlweise positiv- oder negativflankengetriggert betrieben werden kann Nachtriggerbare Monoflop 74122 und 74123 der TTL-Familie Digitaltechnik Teil 2 - 24 - Prof . Komar Astabile Kippschaltungen ( Multivibrator, Taktgeber ) weisen keinen stabilen Zustand auf. Ohne äußere Einwirkung kippen sie stets von einem Logikzustand in den anderen. Sie werden häufig als Taktgeber in digitalen Schaltungen verwendet Freilaufende astabile Kippstufen schwingen beim Anlegen der Betriebsspannung selbständig an. Start-Stop-Rechteckoszillatoren können mit einem Steuereingang ein- und abgeschaltet werden. Spannungsgesteuerte Oszillatoren (VCO) sind Schwingschaltungen, deren Frequenz von einer anliegenden Eingangsspannung abhängt ( SN 74S124 ). Quarzgesteuerte Oszillatoren (Quarzgenerator) sind äußerst frequenzstabil und werden auch zur Taktversorgung von Mikrocomputersystemen verwendet. Je nach benötigter Frequenz, Frequenzstabilität und Pulsform werden astabile Kippstufen sehr verschieden realisiert. Dies reicht von Ausführungen mit - kreuzgekoppelten Transistoren (< 10 kHz ) - Operationsverstärkern - Logikgattern, Monoflops und Zeitgebern (Timer) bis zu - speziellen integrierten Bausteinen für höchste Frequenzen (> 100 MHz) Schaltung und Signal-Zeit-Plan eines freilaufenden Rechteckgenerators, aufgebaut aus Invertern mit Schmitt-Trigger-Eingängen und RC-Glied CMOS-Quarzoszillator mit eingebautem Frequenzteiler Spannungsgesteuerter Start-Stop-Oszillator (VCO) 74S124 max. 85 MHz 5 MHz-Quarzoszillator mit TTL-Invertern Digitaltechnik Teil 2 - 25 - Prof . Komar Schaltwerke Asynchron Synchron (einschrittige Zustandscodierung) ( Einsatz von FFs ) Zählerschaltungen (das zu zählende Signal ist der Takt für die FFs) Asynchrone Zähler asynchron getaktet (externer Takt geht an mindestens ein FF, für weitere FFs wird der Takt aus den vorhergehenden Stufen abgeleitet, falls möglich!! Falls nicht möglich, führt Entwurf auf Synchrone Zähler. Synchrone Zähler synchron getaktet (externer Takt an alle FFs ) Frequenzteiler sind Zählerschaltungen, bei denen der Zählcode nicht interessiert, sondern nur der heruntergeteilte Takt. Sie werden wie Zählerschaltungen entworfen. Digitaltechnik Teil 2 - 26 - Prof . Komar Zählschaltungen sind synchrone Schaltwerke, bei denen das zu zählende Signal zugleich den Takt für die FFs bildet. Zähler werden mit Flipflops aufgebaut und zählen Impulse, die in beliebiger zeitlicher Folge am Eingang auftreten dürfen. Es sind Grundbausteine der Digitaltechnik und sie werden in den häufigsten Anwendungsvarianten als integrierte Bausteine angeboten . Zähler werden unterschieden hinsichtlich - der unterscheidbaren Zustände ( modulo-m-Zähler -> m Zustände ) - des Zählcodes ( Dual- , 8421-BCD ...) - der Zählrichtung ( Vorwärts- oder Rückwärtszähler ) - der Funktionsweise (synchron oder asynchron-getaktet ) Frequenzteiler unterscheiden sich von Zählern nur dadurch, daß bei ihnen nur der heruntergeteilte Takt und nicht der Zählcode nach außen geführt wird. Frequenzteiler m:1 können immer als modulo-m-Zähler entworfen werden, wobei das gewünschte Puls Pause-Verhältnis (Tast-Verhältnis) entweder durch Wahl des Zählcodes oder eines Ausgangsschaltnetzes erzielt werden kann. In synchronen Zählern führt man die zu zählenden Impulse den Takteingängen aller FF's zu. Bei asynchronen Zählern werden die Zählimpulse nicht allen FF zugeführt, vielmehr wird das Taktsignal für möglichst viele FFs in der Schaltung selbst erzeugt. Dadurch wird der Aufwand für das Vorbereitungsschaltnetz minimal. Bei Einrichtungszählern liegt die Zählrichtung fest und bei Zweirichtungszählern ist sie wählbar. Programmierbare Zähler besitzen Ladeeingänge zum Laden eines Zählerstandes ( Program Counter PC im Mikroprozessor ). Zähler liefern einen Übertrag, der das Zusammenschalten von Zählern zu größeren Einheiten ermöglicht (Zähldekaden). Modulo-m-Zähler werden mit minimaler Anzahl von FFs entworfen, dagegen bestehen Ringzähler aus m zum Ring geschalteten FFs , verwenden einen 1-aus-m-Code und benötigen kein Schaltnetz. Aufgabe: Zu entwerfen ein Frequenzteiler 6:1 für Puls -Pause-Verhältnis 1:1 mit JK-Flipflops 000 001 011 111 110 100 Durch die Wahl dieser einschrittigen Zustandscodierung kann an jedem der 3 FF-Ausgänge das heruntergeteilte Signal abgegriffen werden Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 Q2+ Q1+ Q0+ J2 K2 J1 K1 J0 K0 00 01 11 10 00 0 0 1 1 0 0 1 1 01 11 10 Digitaltechnik Teil 2 - 27 - Prof . Komar Asynchrone Zähler Asynchrone Zähler sind die häufigste Anwendung einer Sonderform von Schaltwerken, nämlich der asynchron getakteten Schaltwerke. Asynchron getaktete Schaltwerke werden mit triggerbaren Flipflops aufgebaut, aber der externe Takt wird nicht parallel an alle FFs geführt, sondern für möglichst viele Flipflops wird der Takt von den Ausgängen anderer FFs hergeleitet. Dadurch kann sich ein einfacheres Schaltnetz ergeben. Ein asynchron getakteter Entwurf ist nur dann möglich, wenn der Takt eigentlich eine Logikfunktion hat ( wie z.B. als Zählsignal beim Zähler oder Frequenzteiler) und nicht nur zur Synchronisation der Rückkopplungs zweige dient. Allerdings muß beim Entwurf asynchron getakteter Schaltwerke vor dem Festlegen der Vorbereitungseingänge in der Zustandsfolgetabelle die Triggerung des jeweiligen FFs festgelegt werden. Da die Vorbereitungseingänge nur bei der Triggerung des FFs bestimmt sein müssen, ergeben die vielen X = don't care in den Erregungsspalten meist deutlich einfachere Schaltnetze. Wenn es nicht möglich ist, geeignete Triggersignale von anderen FF-Ausgängen abzuleiten, dann führt dieser Entwurf letztlich auf synchron getaktete Schaltwerke ( synchrone Zähler ). Im Beispiel eines asynchronen mod-8-Vorwärtszähler im Dualcode werden die Zählimpulse nur dem Takteingang des ersten FF zugeführt. Die übrigen FFs erhalten ihre Takteingänge von den Ausgängen der davor liegenden FFs. Die Vorbereitungseingänge aller JK-FFs liegen an H-Signal und damit befinden sich sich die FF ständig in der Betriebsart 'Wechseln' und halbieren folglich die Frequenz ihres jeweiligen Taktsignals. Änderungen des Ausgangssignals ( Zählergebnis ) sind um die einzelnen FF-Laufzeiten gegenüber Änderungen des zu zählenden Signals verzögert. Durch diese Verzögerungen entstehen beim Zählen fehlerhafte Zwischenzustände. Außerdem wird durch diese Arbeitsweise ( ripple through counter ) die maximal mögliche Zählfrequenz eingeschränkt. Nachteilig gegenüber den synchronen Zählern sind die geringere Zählfrequenz und die fehlerhaften Zwischenzustände. Der Vorteil des geringeren Bauteileaufwandes verliert durch die Verfügbarkeit integrierter Bausteine immer mehr an Bedeutung. Asynchroner mod-8-Zähler Digitaltechnik Teil 2 - 28 - Prof . Komar Synchrone Zähler Ein synchroner Zähler ist ein synchrones Schaltwerk. Die Zählimpulse führt man den Takteingängen aller Flipflops zu. Es müssen geeignete FFs für den Speicher ausgewählt und Ausgangs- sowie Übergangsschalt netz entworfen werden. Das Ausgangsschaltnetz erzeugt z.B. den Übertrag und das Übergangschaltnetz liefert die für die Vorbereitungseingänge der FF benötigten Signale. Man nennt die Schaltfunktionen des Übergangsschaltnetzes häufig Erregungsfunktionen. Die FF-Eingänge müssen so beschaltet werden, daß die Ausgänge das geforderte Übergangsverhalten von Q nach Q+ zeigen. Beispiel: Mod-5-Vorwärtszähler für den Dualcode Ein mod-5-Vorwärtszähler wird zyklisch die Zustandsfolge 0,1,2,3,4,0,1,2.... durchlaufen. Dem Zähler führt man das zu zählende Signal C zu. Er liefert einen Übertrag Ü sowie den Zählerstand an den Ausgängen Y2, Y1 und Y0. Die FF-Ausgänge Q2, Q1 und Q0 sollen unmittelbar den Dualcode liefern. Es werden für die 5 Zustände 3 Dualstellen benötigt und der Entwurf erfolge mit drei D-Master-Slave Flipflops und drei J K-Master-Slave-FFs. Das angestrebte Verhalten des Zählers wird in der Zustandsfolgetabelle festgelegt. Es treten drei Pseudozustände ( Fehlerzustände ) auf, deren Folgeverhalten nicht festgelegt wird, um ein möglichst einfaches Übergangsschaltnetz zu erhalten. Das Übergangsschaltnetz ist so zu entwerfen, daß an den Vorbereitungseingängen während jeder Informations übernahme die geeigneten Werte anliegen. Diese Werte sind den Synthesetabellen der gewählten FF zu entnehmen und in die Spalten der erweiterten Zustandsfolgetabelle einzutragen. mod-5-Vorwärtszähler mit D-Flipflops Digitaltechnik Teil 2 - 29 - Prof . Komar Im allgemeinen muß für den Übertrag Ü im Ausgangsschaltnetz der letzte Zählerstand dekodiert werden. Im Beispiel kann Ü mit dem Taktsignal durch die UND-Verknüpfung ausgeblendet werden. Zum Abschluß des Zählerentwurfes ist nun noch das Verhalten im Störfall zu untersuchen. Dabei wird überprüft, wie bei der Herleitung der Erregerfunktion die X-Felder verwendet worden sind. Mit dem Folgeverhalten der Pseudozustände kann man überprüfen, ob der Zähler sich etwa in den Pseudozuständen fängt. mod-5-Vorwärtszähler mit JK-Flipflops Ein Modulo-m-Zähler ist so aufgebaut, daß die Anzahl der verwendeten FF minimal ist. Ein Ringzähler für n-Zählzustände besteht dagegen aus n zu einem Ring geschalteten FF , von denen nur jeweils ein einziges gesetzt ist. Mit jedem Zählimpuls wandert die 1 um eine Stelle in Zählrichtung weiter. Der Zählerinhalt entspricht damit einem 1-aus n-Code . Der Ringzähler hat die Eigenschaft, daß er zwar viele FFs aber kein Schaltnetz für die Dekodierung benötigt. Der Johnson-Zähler ist eine Zwischenlösung, der für n Zählerzustände n/2 FFs und ein einfaches Schaltnetz (für jeden Zählstand eine UND-Verknüpfung mit 2 Eingängen ) zum Dekodieren benötigt. Ringzähler Digitaltechnik Teil 2 - 30 - Prof . Komar Johnson-Zähler Der TTL-Baustein SN74161A ist ein vierstufiger, synchroner und programmierbarer Zähler, der über Ladeeingänge die Zählfolge steuerbar macht. Mit diesem Baustein läßt sich ohne großen Aufwand ein mod-mZähler für m=1...16 entwerfen. Programmierbarer Zähler SN74161A Programmierbarer mod-m-Zähler ( m= 1 ..16 ) . CTR 4, Counter vierstufig; . C, Clock Puls, zu zählende Impulsfolge; . PE, Parallel Load Enable, Freigabe des parallelen Ladens; PE = 0 , die an den Dateneingängen anliegenden Informationen werden übernommen, der Zählvorgang ist gesperrt PE = 1 , der Zählvorgang ist freigegeben; . CEP, Count Enable P, Freigabe des Zählvorgangs; . CET, Count Enable T, Freigabe des Zählvorgangs und des Übertragssignals; der Zählvorgang ist nur dann freigegeben, wenn an beiden CE-Eingängen 1-Signal anliegt. . MR, Master Reset . TC, Terminal Count, Endzählstand; Übertragssignal, das bei Zählerstand CT=15 (Content=15) abgege ben wird, wenn CET = 1 Mit den drei TTL-Bausteinen SN 74162A wird ein dreistufiger BCD-Zähler aufgebaut. Der SN74162A zählt im 8-4-2-1-Code von 0-9, gibt also bei Zählerstand 9 sein Übertragssignal ab. Bedeutung der Bezeichnungen: - CTR DIV 10, Counter dividing by 10, durch 10 teilender Zähler - pon, power on, synchrones Rücksetzsignal - Load, Werte an Dateneingängen laden, Load=0:Laden,Load=1:Zählen - C, Clock, zu zählendes Signal - Count Zählfreigabe - A0..A3,B0..B3,C0..C3 Ladewerte ( Startwert) der einzelnen Stellen Die Freigabeeingänge CET sind jeweils mit den Übertragsausgängen der vorhergehenden Stufen verbunden und damit wird z.B. von 009 mit dem nächsten Zählimpuls nach 010 weitergeschaltet. Digitaltechnik Teil 2 3-stufiger BCD-Zähler mit SN74162A - 31 - Prof . Komar Digitaltechnik Teil 2 - 32 - Prof . Komar Register und Schieberegister Eine n-Bit -Registerschaltung enthält n gemeinsam getaktete Flipflops. Registerschaltungen dienen in der Regel zur kurzzeitigen Speicherung binärer Werte und werden als Auffang- oder Schieberegister eingesetzt ( Auffangregister auch Bufferregister oder nur Register ). 4-bit-Auffangregister Auffangregister ( Latch ) In einem n-Bit-Auffangregister können n Bit gespeichert und parallel ein/ausgegeben werden. Die einzelnen Flipflops des Registers sind über gemeinsame Takt- und Rücksetzleitungen miteinander verbunden. Mit Auffangregistern lassen sich binäre Werte 'auffangen' und für eine von ihrem Taktsignal bestimmte Zeitspanne zur Weiterverarbeitung bereithalten. Latch LS373 und seine Anwendung in der Bussteuerung eines Mikrocomputersystems Digitaltechnik Teil 2 - 33 - Prof . Komar Schieberegister Schieberegister sind Ketten von Flipflops , die es ermöglichen eine am Eingang anliegende Information mit jedem Takt um ein Flipflop weiter zu schieben. Nach dem Durchlaufen der Kette steht sie am Ausgang verzögert, aber sonst unverändert zur Verfügung. Die FF sind so hintereinandergeschaltet, daß jeweils der Ausgang eines FFs mit dem Eingang des nächsten verbunden ist. Da die FFs bei jedem Schiebevorgang ihr Ausgangssignal für die Folgestufe noch konstant halten müssen, während sie das Signal der vorausgehenden Stufe aber schon zu übernehmen haben, werden FFs mit Zwischenspeicher eingesetzt. Schieberegister können z.B. als Parallel-Serien oder als Serien-Parallel-Umsetzer eingesetzt werden. Wenn der Inhalt des Schieberegisters eine vorzeichenlose, positive Dualzahl darstellt, so bedeutet das Schieben nach links um eine Stelle eine Multiplikation mit 2 und das Schieben um eine Stelle nach rechts eine Division durch 2, wenn jeweils eine Null nachgezogen wird. Schieberegister aus D- bzw. JK-Flip-Flops In den Beispielen der mit D-Flipflops realisierten Parallel-Serien- und Serien-Parallel-Umsetzer wird mit dem Eingang X die Arbeitsweise gesteuert: Parallel- Serien Serien-Parallel-Umsetzer X=0 Dateneingänge gesperrt Parallele Ausgabe gesperrt Schieben freigegeben X=1 Dateneingänge werden übernommen Schieben gesperrt parallele Ausgabe frei Digitaltechnik Teil 2 - 34 - Prof . Komar Universell einsetzbare Registerschaltungen ( TTL SN 74LS194A ) lassen sowohl parallele und serielle Eingabe als auch parallele und serielle Ausgabe zu. Sie können somit als Parallel-Seriell-oder als Serien-Parallel-Umsetzer verwendet werden. Datenblattauszug zum TTL-Baustein SN74LS194A - Für S1 = S0 = L (Mode 0) wird weder geschoben noch geladen. Die gespeicherten Daten liegen unverändert an den Ausgängen - Für S1 = S0 = H (Mode 3) werden mit der nächsten ansteigenden Taktflanke die an den Eingängen D0, ...., D3 anliegenden Daten parallel geladen - S1 = H und S0 = L ( Mode 2 ) gibt Schieben in Richtung von Q3 nach Q0 frei. Ein am seriellen Eingang für ’Linksschieben’ ( SE L ) anliegender Wert wird dabei in Q3 übernommen. - S1 = L und S0 = H ( Mode 1 ) gibt Schieben in Richtung von Q0 nach Q3 frei. Ein am seriellen Eingang für ’Rechtsschieben’ ( SE R ) anliegender Wert wird dabei in Q0 übernommen Beim Umlaufregister werden serieller Ausgang und serieller Eingang direkt miteinander verbunden. Nach n Schiebeschritten stellt sich der Ausgangszustand wieder ein. Ein Ringzähler läßt sich somit auch mit einem Schieberegister aufbauen. Der Johnson-Zähler unterscheidet sich vom Umlaufregister nur dadurch, daß der serielle Ausgang invertiert mit dem seriellen Eingang verbunden wird. Nach n Schiebeschritten enthält das Register den invertierten Ausgangszustand und nach 2n Schritten wieder den Ausgangszustand. Schieberegister mit invertierter Rückführung SE=> serieller Eingang SA=> serieller Ausgang Durch Rückführung verschiedener Ausgänge eines Schieberegisters über ein Schaltnetz an den seriellen Eingang lassen sich die verschiedensten Schaltwerksfunktionen, darunter auch modulo-m-Zähler realisieren. Um ein 3-Bit-Schieberegister als mod-8-Zähler einzusetzen, wird eine Zustandsfolge der Länge 8 benötigt. Dies läßt sich weder mit dem Umlaufregister oder dem Johnson-Zähler erreichen. Aus dem Zustandsdiagramm des 3-Bit-Schieberegisters ist eine Zustandsfolge als Zählerfolge so zu bestimmen, daß sie sich mit dem Schieberegister durchlaufen läßt, wobei natürlich jeder Zustand nur einmal verwendet werden darf. Durch Minimierung gewinnt man aus dieser Zustandsfolge das Schaltnetz für die Rückkopplung. Ein gewünschter spezieller Zählcode muß aus den Zuständen durch ein Ausgangs-Schaltnetz erzeugt werden. Digitaltechnik Teil 2 Rückgekoppeltes Schieberegister - 35 - Prof . Komar Schieberegister als Pseudo-Zufallsgenerator 3-Bit-Schieberegister mit beliebigem Schaltnetz in der Rückführung und Zustandsdiagramm mod-8-Zähler realisiert mit 3-Bit-Schieberegister Digitaltechnik Teil 2 - 36 - Prof . Komar Eine weitere Anwendung ist die Realisierung eines Serienaddierwerkes, wobei ein Volladdierer und zwei (Akkumulator-Version) oder drei Schieberegister benötigt werden. Ein derartiges Serienaddierwerk ist naturgemäß recht langsam. Serienaddierwerk mit 2 Schieberegistern T = Takt, VA = 1-Bit-Volladdierer, C = Übertragsbit Carry , r = Ergebnisbit Übersicht der möglichen digitalen Elektronik-System-Realisierungstechniken Digitaltechnik Teil 2 - 37 - Prof . Komar Realisierungsmöglichkeiten von Schaltwerken 1.Verdrahtungsprogrammierte Realisierung mit SSI- und MSI- Schaltkreisen ( Gatter, Flipflops, Zähler, Multiplexer u.ä ) 2. Speicherprogrammierte Realisierung mit ROMs oder PLDs und Registern (auch als mikroprogrammgesteuertes Schaltwerk bezeichnet). 3. Speicherprogrammierte Realisierung in Form eines Mikroprozessorsystems ( Mikrocomputer ) Bei mikroprogrammgesteuerten Schaltwerken ( Mikroprogrammsteueurwerk ) wird das Schaltnetz durch einen Festwertspeicher ( ROM, PROM, EPROM ) realisiert. Mikroprogrammsteuerwerke haben den Vorteil eines geringen Bausteineaufwandes und der einfachen Änderung ( Umprogrammierung ). Festverdrahtetes und mikroprogrammiertes Schaltwerk Die Eingänge des Festwertspeichers, die Adreßleitungen, werden von einem Decoder so aufgeschlüsselt, daß jedes angelegte Adreßwort eine Wortleitung des Speichers aktiviert und damit das Speicherwort ausgibt. Hierbei dienen die Zustands - und Eingangsvariablen als Adresse, unter der die Ausgangsvariablen und der Folgezustand im ROM gespeichert sind. Die Speichermatrix ist damit in zwei Bereiche mit der Übergangsfunktion g und der Ausgangsfunktion f unterteilt. In den Speicher kann direkt die Wertetabelle für die beiden Funktionen einprogrammiert werden. Digitaltechnik Teil 2 - 38 - Prof . Komar Von dieser allgemeinen Struktur eines mikroprogrammierten Schaltwerkes weichen optimale Lösungen oft ab, wobei Optimierungskriterien sind: .Speicherplatzbedarf .Arbeitsgeschwindigkeit .zusätzlicher Hardwareaufwand ( neben Speicher und Register/Zähler ) .Flexibilität bei Änderungen Bei einem Schaltwerk mit n Zustandsvariablen l Eingangsvariablen und m Ausgangsvariablen besitzt das zugehörige Schaltnetz im allgemeinensten Fall ( n+l ) Eingänge und ( n+m ) Ausgänge. Bei einer Realisierung des Schaltnetzes mit einem ROM ergibt sich eine maximale Speicherkapazität von 2 ( n+1) Worte zu je ( n+m ) Bit = ( n + m ) 2 ( n+l ) Bit Durch eine Unterteilung des Festwertspeichers in ein Programm-ROM ( Übergangsschaltnetz ) und ein Ausgabe-ROM (Ausgangsschaltnetz ) kann, wenn bestimmte Eingangsvariablen entweder nur auf Zustandsfolge oder Ausgangsdekodierung einen Einfluß haben ( nicht auf beide gleichzeitig) , der Speicherplatzbedarf deutlich reduziert werden. Reduzierung der insgesamt benötigten Speicherkapazität durch Aufteilung in zwei kleine ROMs Mikroprogrammsteuerwerk mit Zähleradressierung Eine oft angewandte, einfache Struktur eines Mikroprogrammsteuerwerkes kann bei entsprechender Aufgabenstellung aus einem Festwertspeicher bestehen, der von einem Binärzähler adressiert wird. Diese Adressierung erlaubt allerdings nur den Ablauf von starren, sich nicht verzweigenden 'Programmen'. Vergleichbar ist dies der Nockenwalze eines mechanischen Steuerwerkes. Mikroprogrammsteuerwerk mit Zähleradressierung und programmierbarer Unterbrechung Grundmodell eines Mikroprogrammsteuerwerks Digitaltechnik Teil 2 - 39 - Prof . Komar Mikroprogrammsteuerwerk zur Ausführung von Makrobefehlen Reagierendes Mikroprogrammsteuerwerk mit Zähleradressierung Reagierendes Mikroprogrammsteuerwerk mit Sprungadressenspeicher Digitaltechnik Teil 2 - 40 - Prof . Komar Komplexe Schaltwerke Als komplexes Schaltwerk bezeichnet man ein digitales System, dessen externes Verhalten überschaubar, das jedoch nicht mehr durch eine Folgetabelle von Hand beschreibbar ist. Komplexe Schaltwerke werden deshalb üblicherweise rechnergestützt entworfen. Struktur eines komplexen Schaltwerks Der klassische Schaltwerksentwurf zielt vornehmlich darauf ab, Schaltwerke mit einer minimalen Zahl von Zuständen zu konstruieren, um die Zahl der binären Speicherelemente möglichst klein zu halten. Der Entwurf erfolgt mit Hilfe von Zustandsdiagrammen und Zustandsfolgetabellen. Neben diesen beiden Hilfsmitteln gibt es noch eine weitere Möglichkeit die Funktion eines Schaltwerkes darzustellen, den Programmablaufplan ( Flussdiagramm ). Der Programmablaufplan wird vorwiegend zum Entwurf komplexer Schaltwerke eingesetzt. Zustandsgraph und Programmablaufplan eines Mealy-Automaten Beim Entwurf dieser komplexen Schaltwerke wird die Aufteilung in Schaltnetz und Speicher aufgegeben und eine funktionsbezogene Unterteilung in Operationswerk (Informationsverarbeitung) und Steuerwerk (Ablaufsteuerung) oder anders ausgedrückt, in ein gesteuertes und ein steuerndes Werk, vorgezogen. Das Schaltwerk wird dann als eine Zusammenschaltung von Registern aufgefaßt und es wird der Informationsfluß und die Informationsverarbeitung der in den Registern gespeicherten Daten beschrieben. Diese Beschreibung eines digitalen Systems auf dem Operationsniveau wird als Register-Transfer-Methode bezeichnet. Digitaltechnik Teil 2 - 41 - Prof . Komar Mikroprozessor Unter einem Mikroprozessor wird eine vollständige Prozessor-Funktionseinheit CPU ( Central Processing Unit ) verstanden, die in großintegrierter Technik auf einem Halbleiterchip integriert ist. Mikroprozessoren zählen zu den komplexen Schaltwerken und dienen zur Verarbeitung von Daten. Die Struktur der Mikroprozessoren gliedert sich in . Rechenwerk – Register ALU für logische und arithmetische Operationen . Leitwerk - Mikroprogrammsteuerwerk für Ablaufsteuerung . E/A-Werk - Ein/Ausgabe-Puffer-Register Blockstruktur eines Prozessors Die meisten heute verfügbaren Mikroprozessoren sind mikroprogrammiert, aber nicht vom Anwender mikroprogrammierbar. Mikroprogrammierte Prozessoren enthalten ein vom Hersteller fest programmiertes Steuerwerk und werden heutzutage als CISC-Prozessoren bezeichnet ( Complex Instruction Set Computer ) Bei den heute üblichen RISC-Rrozessoren ( Reduced-Instruction Set Computer ) wird das Schaltnetz der Ablaufsteuerung in diskreter Logik ausgeführt, mit Vorteilen hinsichtlich Platzbedarf, Geschwindigkeit und Kosten. Struktur eines mikroprogrammierbaren Rechners Zusammenwirken von Hauptspeicher und Mikroprogrammspeicher Bei mikroprogrammierbaren Prozessoren kann der Anwender das Mikroprogramm des Steuerwerks verändern und seiner Aufgabenstellung anpassen. Zur Programmierung der Mikroprozessoren sind Makrobefehle nötig, die jeweils eine Sequenz von Mikrobefehlen ( Maschinenzyklus/Befehlszyklus ) auslösen. Das Benutzerprogramm ( Folge von Makrobefehlen ) ist in einem externen Arbeitsspeicher abgelegt.