DE69109703T2 - Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung. - Google Patents

Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung.

Info

Publication number
DE69109703T2
DE69109703T2 DE69109703T DE69109703T DE69109703T2 DE 69109703 T2 DE69109703 T2 DE 69109703T2 DE 69109703 T DE69109703 T DE 69109703T DE 69109703 T DE69109703 T DE 69109703T DE 69109703 T2 DE69109703 T2 DE 69109703T2
Authority
DE
Germany
Prior art keywords
values
circuit
input signal
logic
representation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69109703T
Other languages
English (en)
Other versions
DE69109703D1 (de
Inventor
Lars Arjen Raoul Eerenstein
Mathias Nicolaas Maria Muris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of DE69109703D1 publication Critical patent/DE69109703D1/de
Application granted granted Critical
Publication of DE69109703T2 publication Critical patent/DE69109703T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Logic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

  • Die Erfindung betrifft eine sequentielle Schaltung einer finiten Zustandsmaschine mit einer Menge N bistabiler Elemente {FF(1),...,FF(N)} und einer damit verbundenen Menge kombinatorischer Logik, wobei die Kombination von Logikwerten der bistabilen Elemente einen Zustand der Schaltung definiert, der eine Darstellung eines Zustandes einer finiten Zustandsmaschine ist, wobei die Schaltung zu von einem Taktsignal bestimmten Zeitpunkten, unter Einfluß der kombinatorischen Logik, des aktuellen Zustandes der Schaltung, und eines Eingangssignals, in einen nächsten Zustand übergeht, wobei die Menge kombinatorischer Logik Übergänge zwischen Zuständen der finiten Zustandsmaschine in der Schaltung realisiert.
  • Eine Schaltung dieser Art ist aus der deutschen Offenlegungsschrift DE- 3719181-A1 bekannt.
  • Die Erfindung betrifft auch eine integrierte Schaltung mit einer solchen Schaltung.
  • Eine finite Zustandsmaschine (FSM) ist ein häufig verwendetes Modell für die Darstellung von Logiksystemen. Im Gegensatz zu stetigen oder analogen Maschinen beruht die Arbeitsweise der FSM auf diskretwertiger Information. FSMs können in kombinatorischen Maschinen (ohne Speicher: die Eingangssignale definieren die Ausgangssignale eindeutig), und sequentielle Maschinen (mit Speicher: dessen aktueller Inhalt und die Eingangssignale definieren eindeutig den neuen Inhalt des Speichers und die Ausgangssignale).
  • Eine FSM kann in einer FSM-Schaltung implementiert werden: kombinatorische Logik mit Flipflops, die zu der Logik zurückgekoppelt werden, mit Eingangs- oder Steuersignalen und einem Taktsignal (synchrone FSM), wobei die Logik Übergänge zwischen Zuständen der FSM (durch den Inhalt der Flipflops dargestellt) in der Schaltung realisiert.
  • Eine FSM kann einen Zustand haben, der als absorbierend bezeichnet wird: dieser sogenannte Ruhezustand wird von allen möglichen Zuständen aus erreicht, vorausgesetzt, daß das Eingangs- oder Steuersignal eine gegebene Folge von Werten angenommen hat. Die FSM ist somit selbstinitialisierend: das Zuführen der gegebenen Folge von Werten des Eingangssignals sorgt dafür, daß die FSM sich anschließend im absorbierenden Zustand befindet.
  • Wenn mit einem logischen digitalen Simulator ein Modell einer solchen FSM simuliert wird, wird dieses selbstinititalisierende Verhalten der Schaltung nicht deutlich: der Simulator beginnt mit einem unbekannten Zustand zu Beginn der Simulation und ist ereignisgesteuert (d.h. er arbeitet von einem Zustand zum nächsten Zustand), so daß nur der aktuelle Zustand des Simulators bekannt ist. Wegen dieses Mangels an historischen Daten in dem Simulator sind Initialisierungen über eine Folge gelieferter Werte nicht simulierbar. Dieses Problem könnte gelöst werden, indem die FSM zu Beginn der Simulation in einen bekannten Zustand gezwungen wird. Dies ist jedoch keine Darstellung der Wirklichkeit, die während der Simulation so gut wie möglich angenähert werden sollte. Außerdem führt dieser Eingriff in die Schaltung zu praktischen Problemen, da interne Punkte der Schaltung schwer erreichbar sind.
  • Der Erfindung liegt unter anderem die Aufgabe zugrunde, eine sequentielle Schaltung einer finiten Zustandsmaschine zu verschaffen, mit selbstinitialisierendem Verhalten, das simuliert werden kann. Hierzu ist eine erfindungsgemäße sequentielle Schaltung einer finiten Zustandsmaschine dadurch gekennzeichnet, daß von jedem Zustand aus mittels einer gegebenen Folge von X Werten des Eingangssignals, {c(0), c(1), ..., c(X-1)}, beginnend mit c(0), ein Ruhezustand erreicht wird, wobei jede Teilfolge {c(0), c(1), ... , c(J-1)}, mit der Länge J, die in der gegebenen Folge von X Werten des Eingangssignals auftritt, mit 1 ≤ J ≤ X oder eine Teilfolge mit der Länge J, die eine Eins-zu-Eins-Darstellung davon ist, in der Schaltung gespeichert wird. Der Simulator hat somit die Möglichkeit erhalten, den Übergang von einem unbekannten Zustand zu dem bekannten, absorbierenden Zustand schrittweise auszuführen.
  • Eine Ausführungsform einer erfindungsgemäßen sequentiellen Schaltung einer finiten Zustandsmaschine ist dadurch gekennzeichnet, daß die N bistabilen Elemente voreinstellbar sind, wobei die Schaltung mit (X-1) weiteren bistabilen Elementen versehen ist, als Schieberegister geschaltet, zur Speicherung der (X-1) neuesten Werte des Eingangssignals oder von Werten, die eine Eins-zu-Eins-Darstellung davon sind, und auch mit Decodierlogik versehen ist, der das Eingangssignal und die (X-1) bistabilen Elemente des Schieberegisters zugeführt werden, wobei diese Logik hinsichtlich des Auftretens der gegebenen Folge von X Werten des Eingangssignals ein Detektionssignal bildet und dieses Detektionssignal als Voreinstellsignal den N voreinstellbaren bistabilen Elementen zugeführt wird. Ein Detektionssignal hinsichtlich des Auftretens der gegebenen Folge wird von der Decodierlogik geliefert, die das Schieberegister und das Eingangssignal auswertet.
  • Eine weitere Ausführungsform einer erfindungsgemäßen sequentiellen Schaltung einer finiten Zustandsmaschine, mit X ≥ N, ist dadurch gekennzeichnet, daß die Schaltung (X-N) weitere bistabile Elemente FF(N+1), ..., FF(X) umfaßt, und zusätzliche kombinatorische Logik, die, in Reaktion auf das Auftreten der Teilfolge {c(0), c(1), ..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit 1 ≤ J ≤ X, jedesmal die ersten J bistabilen Elemente FF(1), ..., FF(J) eine Darstellungsfolge von J Werten annehmen läßt, die eine Eins-zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J Werte den Darstellungsfolgen von J Werten entsprechen. Für diesen Typ einer FSM- Schaltung, bei dem die Länge der gegebenen Folge des Eingangssignals größer ist als die Zahl bistabiler Elemente (beispielsweise Setz/Rücksetz-Flipflops), wird dadurch ein Vorteil erhalten, daß eine minimale Anzahl zusätzlicher bistabiler Elemente benötigt wird und daß die verwendeten bistabilen Elemente nicht voreinstellbar zu sein brauchen. Infolge der Speicherung von auftretenden Teilfolgen wird die Schaltung beim Auftreten der gesamten Folge automatisch initialisiert.
  • Eine bevorzugte Ausführungsform einer erfindungsgemäßen sequentiellen Schaltung einer finiten Zustandsmaschine, mit X &ge; N ,ist dadurch gekennzeichnet, daß die Schaltung (X-N) weitere bistabile Elemente zur Speicherung der (X-N) neuesten Werte des Eingangssignals, oder Werten, die eine Eins-zu-Eins-Darstellung davon sind, umfaßt, wobei die Schaltung auch zusätzliche Logik umfaßt, die, in Reaktion auf das Auftreten einer Teilfolge {c(0), c(1),..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit X-N < J &le; X, jedesmal die ersten J-X+N bistabilen Elemente FF(1), ..., FF(J-X+N) eine Darstellungsfolge von J-X+N Werten annehmen läßt, die eine Eins-zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J-X+N Werte den Darstellungsfolgen von J-X+N Werten entsprechen. Diese FSM hat den zusätzlichen Vorteil, daß in den Flipflops der Schaltung keine nicht verwendeten Zustände auftreten können.
  • Eine weitere Ausführungsform einer erfindungsgemäßen sequentiellen Schaltung einer finiten Zustandsmaschine, mit X < N, ist dadurch gekennzeichnet, daß die Schaltung zusätzliche Logik umfaßt, die in Reaktion auf das Auftreten einer Teilfolge {c(0), c(1), ..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit 1 &le; J &le; X, jedesmal die ersten J bistabilen Elemente FF(1), ..., FF(J) eine Darstellungsfolge von J annehmen läßt, die eine Eins-zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J Werte den Darstellungsfolgen von J Werten entsprechen, wobei die zusätzliche Logik in Reaktion auf das Auftreten der gesamten Folge von X Werten des Eingangssignals, die bistabilen Elemente FF(X+1), ..., FF(N) Werte annehmen läßt, die den Logikwerten des Ruhezustandes entsprechen. Für diesen Schaltungstyp, bei dem die Länge der gegebenen Folge des Eingangssignals kleiner ist als die Anzahl Flipflops, wird ein zusätzlicher Vorteil dadurch erhalten, daß Initialisierung ohne zusätzliche Flipflops realisiert wird.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
  • Fig. 1 ein Zustandsübergangsdiagramm einer finiten Zustandsmaschine;
  • Fig. 2 eine geeignete Schaltung;
  • Fig. 3 eine erste Ausführungsförm einer erfindungsgemäßen FSM- Schaltung;
  • Fig. 4 eine bevorzugte Ausführungsform einer erfindungsgemäßen FSM- Schaltung;
  • Fig. 5 eine die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine erläuternde Tabelle;
  • Fig. 6 eine FSM-Schaltung mit einer möglichen Implementierung der zusätzlichen Logik;
  • Fig. 7 eine digitale integrierte Schaltung mit einer erfindungsgemäßen Schaltung.
  • Die Erfindung soll im folgenden detailliert anhand der sequentiellen finiten Zustandsmaschine beschrieben werden, deren Zustandsübergangsdiagramm in Fig. 1 gezeigt wird. Die FSM hat 16 Zustände und dazwischen verschiedene Übergänge, die von einem Taktsignal und einem Eingangssignal gesteuert werden. Das Eingangssignal ist in diesem Fall zweiwertig ("0" oder "1"). Im allgemeinen kann ein Eingangssignal auch aus mehr Bits bestehen. Zu vom Taktsignal definierten Zeitpunkten, beispielsweise bei jeder ansteigenden Flanke, geht die finite Zustandsmaschine in einen nächsten Zustand über. Der Zustand mit der Nummer 1 ist absorbierend, wenn eine Folge von 5 aufeinanderfolgenden Eingangssignalen den Wert "1" hat: der Ruhezustand 1 wird von jedem Ruhezustand aus nach höchstens 5 Einsen des Eingangssignals erreicht. Die gegebene Folge von X Werten des Eingangssignals {c(0), c(1), ..., c(X-1)} lautet in diesem Fall folgendermaßen: {"1", ,"1", "1", "1", "1"}; X = 5 und N = 4. Es wird deutlich sein, daß diese Werte nur als Beispiel gewählt worden sind; andere Werte sind auch möglich. Diese sequentielle finite Zustandsmaschine kann in einer Schaltung mit Hilfe von 4 bistabilen Elementen oder Flipflops (2 hoch 4 bedeutet 16 mögliche Zustände), und einer Menge kombinatorischer Logik, die die richtigen Übergänge zwischen den Zuständen realisiert, implementiert werden.
  • Die genaue Zusammensetzung der hierzu benötigten Menge kombinatorischer Logik kann automatisch generiert und optimiert werden, beispielsweise mit Hilfe des Softwarepackets LOCAM von PRAXIS Systems PLC, 20 Manvers Street Bath BA1 IPX, United Kingdom. Die FSM-Schaltung wird in Fig. 2 gezeigt: 4 von FF(1) bis FF(4) numerierte Flipflops sind verbunden und zu einer Menge kombinatorischer Logik CL zurückgekoppelt, die auch ein Eingangssignal CS erhält, wobei das Taktsignal CK die Geschwindigkeit der Zustandsübergänge steuert.
  • Die Schaltung kann mit Hilfe eines logischen digitalen Simulators simuliert werden, beispielsweise mit dem QUICKSIM von Mentor Graphics B.V., Marsstraat 9, 2132 HR Hoofddorp, Niederlande, wie im Benutzerhandbuch, Ref.-Nr. 14773, Mai 1988 beschrieben wird.
  • Dem Simulator werden Daten hinsichtlich der Schaltung eingegeben: Flipflops, Verbindungen und Logik, Zustände und mögliche Übergänge. Anhand dieser Daten simuliert der Simulator das Verhalten der Schaltung. Zu Beginn einer Simulation ("Power up"), kann die FSM in einem beliebigen Zustand sein; der Inhalt der Flipflops ist dem Simulator unbekannt. Der Simulator kann sich nicht an frühere Steuersignale "erinnern": ihm stehen nicht genügend Daten zur Verfügung, um den unbekannten Zustand durch Berechnung zu verlassen. Somit bleibt der Zustand der FSM nach einem nächsten Taktsignal unbekannt. Daher kann das seibstinitialisierende Verhalten nicht simuliert werden. Der Grund für diese begrenzte Simulationsfähigkeit liegt darin, daß ein Simulator drei Logikzustände hat: niedrig ("0"), hoch ("1"), und unbekannt ("X"). Die Anzahl unbekannter Werte "X" kann reduziert werden, beispielsweise wenn eine "0" und ein "X" einem UND-Gatter zugeführt werden: das Ergebnis wird endgültig eine "0" sein. Das gleiche Ergebnis kann erhalten werden, indem eine "1" und ein "X" einem ODER-Gatter zugeführt werden: das Ergebnis ist sicher eine "1". Eine "1" und ein "X", die einem UND-Gatter zugeführt werden, erzeugen jedoch wieder ein "X".
  • Es wird deutlich sein, daß die FSM zu Beginn einer Simulation in einen bekannten Zustand gebracht werden kann, indem Signale zwangsweise auf interne Punkte der Schaltung gebracht werden. Die tatsächliche Erreichbarkeit dieser internen Punkte ist jedoch häufig schwierig. Außerdem muß der Benutzer dann wissen, daß die FSM initialisiert werden muß und auch wie dies zu erfolgen hat.
  • Das Problem, daß der Simulator das tatsächliche Verhalten der FSM nicht genau simuliert, kann besser durch Hardware-Anpassung gelöst werden: die (vorübergehende) Speicherung von auftretenden Teilfolgen {c(0), ..., c(J-1)}, mit 1 &le; J &le; X, oder Teilfolgen, die eine Eins-zu-Eins-Darstellung sind (beispielsweise das logische Komplement), versorgt den Simulator mit zusätzlichen Informationen, wodurch der Simulator den Übergang von einem unbekannten in einen bekannten Zustand schrittweise realisieren kann. Die verschiedenen Möglichkeiten in diesem Zusammenhang sollen anhand der oben definierten FSM beschrieben werden.
  • Fig. 3 zeigt eine Ausführungsform einer erfindungsgemäßen FSM-Schaltung. Vier zusätzliche Flipflops SRF(1), ... SRF(4) werden der Schaltung von Fig. 2 hinzugefügt, wobei die Flipflops so geschaltet sind, daß sie ein Schieberegister bilden, in dem die 4 vorhergehenden Werte des Eingangssignals CS gespeichert werden können. Die Ausgänge der zusätzliche Flipflops SRF(1), ..., SRF(4) und das aktuelle Eingangssignal am Eingang CS werden einer Decodier-Teilschaltung zugeführt (hier aus einem NAND-Gatter bestehend), die ein Detektionssignal SET hinsichtlich des Auftretens der gegebenen Folge von Eingangssignalen bildet (hier: logische "0" nur dann, wenn alle 5 Eingänge eine logische "1" haben). Dieses Detektionssignal SET wird als Voreinstellsignal den Flipflops FF(1), ..., FF(4) zugeführt, die den Zustand der Schaltung enthalten. Hierzu sollten diese Flipflops voreinstellbar sein. Diese Losung kann für jede Wahl von X, N und die Folge, die zur Absorption führt, verwendet werden.
  • In der Praxis ist der Wert von X oft größer oder gleich dem Wert von N. Für Schaltungen, die diese Bedingung erfüllen, gibt es eine andere Lösung. Durch geeignete Zuweisung binärer Darstellungen an Zustände der FSM und durch Verwendung zusätzlicher Logik können auftretende Teilfolgen "implizit" in den bereits vorhandenen Flipflops gespeichert werden. Wie aus Fig. 1 ersichtlich ist, kann der aktuelle Zustand der FSM nach dem Auftreten einer ersten logischen "1" nur einer der Zustände 1, 3, 4, 9, 10, 13, 14, 15 oder 16 sein. Nach dem Auftreten eines Eingangssignals in Form einer zweiten logischen "1" wird der Zustand 1, 3, 4, 15 oder 16 sein. Nach einem dritten Eingangssignal mit logischer "1" ist der Zustand 1, 3 oder 4. Nach einem vierten Eingangssignal mit logischer "1" , ist der Zustand 1 oder 4, und nach einer fünften logischen "1" als Eingangssignal ist der Zustand endgültig 1. Ein einziges Flipflop FF(5) wird hinzugefügt: X-N =5-4 = 1. Durch Hinzufügen weiterer Logik, die dafür sorgt, daß der Wert des Flipflops FF(J) nach einem Eingangssignal in der Form von zumindest J logischen Einsen, für 1 &le; J &le; X = 5, logisch "1" ist, wird der Inhalt der Flipflops nach einem Eingangssignal in Form von fünf Einsen automatisch "11111". Die Darstellungsfolge ist daher die auftretende Teilfolge selbst. Die Zuweisung der Binärdarstellungen an die Zustände der FSM erfolgt dann folgendermaßen: die Zustände, die unmittelbar nach einem Eingangssignal in der Form von zumindest J Einsen erreicht werden können, beginnen mit J Einsen, beispielsweise der Zustand 15 wird "11000". Diese Zuweisung sorgt dafür, daß die zusätzliche Logik keine unzulässigen Zustandsübergänge mit sich bringt: die von der zusätzlichen Logik bewirkten Übergänge passen jetzt genau zu der dargestellten FSM. Durch sukzessives Zuführen von Einsen als Eingangssignal, werden die Werte "X" in dem Simulator bekannte Werte umgesetzt. Jede weitere "1" als Eingangssignal sorgt dafür, daß der Simulator weiß, daß das folgende Flipflop nicht mehr den Wert "unbekannt", sondern den Wert "1" hat. Daher haben die Flipflops nach einem Eingangssignal in Form von fünf Einsen für den Simulator die Werte "11111 ": die Selbstinitialisierung ist erfolgt. Die Numerierung der Menge bistabiler Elemente ist natürlich irrelevant. Die die zugehörigen Übergänge realisierende Logik kann wieder automatisch generiert werden. Die Tatsache, daß diese Initialisierung realisiert werden kann, ohne daß es notwendig ist, die Eingangssignale länger als 1 Taktdauer zu speichern, läßt sich folgendermaßen verstehen:
  • FF(1) ist "1" nach zumindest einer "1" als Eingangssignal;
  • FF(2) ist "1" nach zumindest zwei logischen Einsen als Eingangssignal;
  • ...
  • FF(5) ist "1" nach zumindest fünflogischen Einsen als Eingangssignal;
  • ist gleichwertig mit:
  • FF(1) ist "1" nach aktuellem Eingangssignal 1;
  • FF(2) ist "1" nach aktuellem Eingangssignal 1 und FF(1) ist "1";
  • ...
  • FF(5) ist "1" nach aktuellem Eingangssignal 1 und FF(1) ist "1" und FF(2) ist "1" und ... und FF(4) ist "1".
  • Der Simulator kann somit die Initialisierung aus den aktuellen Werte der Flipflops und des Eingangssignals sowie den gegebenen Zustandsübergängen ableiten.
  • Bei Verwendung von 5 Flipflops statt der ursprünglichen 4 Flipflops ist die Schaltung jetzt simulierbar. Die Verwendung von 5 Flipflops bringt unbenutzte Zustände mit sich, so daß die die Übergänge realisierende Logik auch für die unbenutzten Zustände arbeiten muß.
  • Eine Kombination der beiden obigen Lösungen wird in Fig. 4 erläutert. Ein einziger zusätzlicher Flipflop FF(0) (denn X-1 = 1) wird der in Fig. 2 gezeigten Schaltung zugefügt. Dieser zusätzliche Flipflop wird mit dem Taktsignal CK, dem Eingangssignal CS als Eingang und dem mit der kombinatorischen Logik CL verbundenen Ausgang c(0) verbunden und dient zur Speicherung des Wertes des Eingangssignals während der vorhergegangenen Taktdauer. Für eine andere Wahl für X oder N, insbesondere wenn X > N+1, werden mehr Flipflops hinzugefügt (X-N> 1); in diesem Fall werden sie verwendet, um die neuesten Werte des Eingangssignals zu speichern. Die zusätzliche kombinatorische Logik und die Zuweisung binärer Darstellungen an die Zustände der FSM sind so, daß eine auftretende Teilfolge (hier eine oder mehr aufeinanderfolgende logische Einsen) in dem zusätzlichen Flipflop (Flipflops) gespeichert wird und, wenn sie diese genannte Teilfolge nicht mehr enthalten können, in den ursprünglichen Flipflops. Hierbei ist also die Darstellungsfolge wieder die Teilfolge selbst.
  • Fig. 5 zeigt eine Tabelle, die eine mögliche Zuweisung von Darstellungen an Zustände dieser FSM erläutert: der absorbierende Zustand 1 ist der Darstellung "1111" zugewiesen, der Zustand 4 ist "1110", der Zustand 3 ist "1101" (kann auch "1100" sein), und die Zustände 15 und 16 sind "1011" bzw. "1010" (sie müssen auf jeden Fall mit einer logischen 1 beginnen). Für die anderen Zustände gibt es keine Einschränkungen. Dann gilt:
  • FF(1) ist "1" nach 2 Einsen als Eingangssignal;
  • FF(2) ist "1" nach 2 Einsen als Eingangssignal und FF(1) ist "1";
  • FF(3) ist "1" nach 2 Einsen als Eingangssignal und FF(1) ist "1" und FF(2) ist "1";
  • FF(4) ist "1" nach 2 Einsen als Eingangssignal und FF(1) ist "1" und FF(2) ist "1" und FF(3) ist "1".
  • Nach 5 Einsen als Eingangssignal ist der Inhalt der Flipflops für den Simulator daher automatisch "1111": Selbstinitialisierung.
  • Die die zugehörigen Übergänge realisierende Logik kann wieder automatisch generiert und optimiert werden.
  • Diese Ausführungsform bietet die folgenden Vorteile: es werden keine voreinstellbaren Flipflops benötigt, es ist keine Decodierlogik erforderlich, weniger Flipflops als bei der ersten Lösung sind nötig und es treten keine unbenutzten Zustände auf, so daß keine zusätzlichen Anforderungen an die kombinatonsche Logik gestellt werden. Es sei bemerkt, daß für eine gegebene Folge in der Form "11111" für das Eingangssignal, die durch die zusätzliche Logik an die Zuweisung der Darstellungen gestellten Anforderungen nicht hoch sind: die nach zumindest J Einsen zu erreichende Anzahl Zustände darf nicht größer sein als zwei hoch (X-J). Es sei auch bemerkt, daß in einer anderen FSM eine alternierende Folge, die zu Absorption führt, auch möglich ist: beispielsweise "101010...", wobei dann ein XOR-Gatter bestimmt, wann der absorbierende Zustand verlassen wird.
  • Fig. 6 zeigt eine mögliche Implementierung der erforderlichen zusätzlichen Logik (der Einfachheit halber sind die Verbindungen mit dem Taktsignal weggelassen worden): das Eingangssignal CS wird FF(0) für die Speicherung des vorhergehenden Eingangssignals zugeführt. Die Ausgänge von FF(0) und CS werden einem UND- Gatter A1 zugeführt, dessen Ausgang mit einem ODER-Gatter E1 verbunden ist, dessen Eingang auch mit einem Ausgang des Blocks aus kombinatorischer Logik CL verbunden ist. Der Ausgang des Gatters E1 ist mit dem Eingang von FF(4) verbunden, dessen Ausgang zusammen mit dem Ausgang von A1 einem UND-Gatter A2 zugeführt wird. Dessen Ausgang wird einem ODER-Gatter E2 zugeführt, dessen Eingang auch mit CL verbunden ist. Der Ausgang des Gatters E2 wird FF(3) zugeführt. Dieser Aufbau wird in völlig gleicher Weise für die anderen Flipflops fortgesetzt. Eine erste "1" als Eingangssignal wird in FF(0) gespeichert; eine zweite "1" erzeugt eine "1" am Ausgang des Gatters A1, also in FF(4), ungeachtet des Wertes des anderen Eingangs des Gatters E1. Eine dritte "1" als Eingangssignal erzeugt auch eine "1" in FF(3), wobei FF(4) und FF(0) auch den Wert "1" behalten. Eine vierte und eine fünfte "1" bringen auch die letzten beiden Flipflops auf "1".
  • Es sei bemerkt, daß nach dem Hinzufügen dieser zusätzlichen Logik die gesamte Logikmenge wieder automatisch regeneriert und optimiert werden kann.
  • Fig. 7 zeigt eine digitale integrierte Schaltung mit einer erfindungsgemäßen Schaltung. Der digitale IC umfaßt Anschlüsse für das Zuführen eines Steuer- oder Eingangssignals CS, eines Taktsignals CK, eines Testdateneingangs TDI und eines Testdatenausgangs TDO. Die Schaltung umfaßt auch ein Register bistabiler Elemente BIST und ein Scan-Register SCAN, mit kombinatorischer Logik verbunden (schraffiertes Gebiet), und Boundary-Scan-Zellen BSC, weitere Register INST, BYP und ID, einen Multiplexer MUX und auch eine erfindungsgemäße Schaltung einer finiten Zustandsmaschine FSM. Für weitere Informationen zum Boundary-Scan-Test sei auf die Offenlegungsschrift DE-3727723-A1 verwiesen. Die FSM bestimmt Zustandsübergänge in den Registern. Die Testbarkeit solcher in SMD-Technologie ausgeführter ICs ist von außerordentlicher Bedeutung.
  • Durch Hinzufügen einer geringen Menge redundanter Logik und eine geschickte Zuweisung einer Darstellung zu den Zuständen, die der Übergangslogik kaum Beschränkungen auferlegt, kann die Schaltung einer finiten Zustandsmaschine vollständig simuliert werden. In einer integrierten Schaltung kann dies mit nur wenig zusätzlicher Chipoberfläche realisiert werden.

Claims (6)

1. Sequentielle Schaltung einer finiten Zustandsmaschine mit einer Menge N bistabiler Elemente {FF(1),...,FF(N)} und einer damit verbundenen Menge kombinatorischer Logik, wobei die Kombination von Logikwerten der bistabilen Elemente einen Zustand der Schaltung definiert, der eine Darstellung eines Zustandes einer finiten Zustandsmaschine ist, wobei die Schaltung zu von einem Taktsignal bestimmten Zeitpunkten, unter Einfluß der kombinatorischen Logik, des aktuellen Zustandes der Schaltung, und eines Eingangssignals, in einen nächsten Zustand übergeht, wobei die Menge kombinatorischer Logik Übergänge zwischen Zuständen der finiten Zustandsmaschine in der Schaltung realisiert, dadurch gekennzeichnet, daß von jedem Zustand aus mittels einer gegebenen Folge von X Werten des Eingangssignals, {c(0), c(1), ..., c(X-1)}, beginnend mit c(0), ein Ruhezustand erreicht wird, wobei jede Teilfolge {c(0), c(1), ..., c(J-1)}, mit der Länge J, die in der gegebenen Folge von X Werten des Eingangssignals auftritt, mit 1 &le; J &le; X, oder eine Teilfolge mit der Lange J, die eine Eins-zu- Eins-Darstellung davon ist, in der Schaltung gespeichert wird.
2. Sequentielle Schaltung einer finiten Zustandsmaschine nach Anspruch 1, dadurch gekennzeichnet, daß die N bistabilen Elemente voreinstellbar sind, wobei die Schaltung mit (X-1) weiteren bistabilen Elementen versehen ist, als Schieberegister geschaltet, zur Speicherung der (X-1) neuesten Werte des Eingangssignals oder von Werten, die eine Eins-zu-Eins-Darstellung davon sind, und auch mit Decodierlogik versehen ist, der das Eingangssignal und die (X-1) bistabilen Elemente des Schieberegisters zugeführt werden, wobei diese Logik hinsichtlich des Auftretens der gegebenen Folge von X Werten des Eingangssignals ein Detektionssignal bildet und dieses Detektionssignal als Voreinstellsignal den N voreinstellbaren bistabilen Elementen zugeführt wird.
3. Sequentielle Schaltung einer finiten Zustandsmaschine nach Anspruch 1, mit X &ge; N, dadurch gekennzeichnet, daß die Schaltung (X-N) weitere bistabile Elemente FF(N+1), ..., FF(X) umfaßt, und zusätzliche kombinatorische Logik, die, in Reaktion auf das Auftreten der Teilfolge {c(0), c(1), ..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit 1 &le; J &le; X, jedesmal die ersten J bistabilen Elemente FF(1), ..., FF(J) eine Darstellungsfolge von J Werten annehmen läßt, die eine Eins-zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J Werte den Darstellungsfolgen von J Werten entsprechen.
4. Sequentielle Schaltung einer finiten Zustandsmaschine nach Anspruch 1, mit X > = N, dadurch gekennzeichnet, daß die Schaltung (X-N) weitere bistabile Elemente zur Speicherung der (X-N) neuesten Werte des Eingangssignals, oder Werten, die eine Eins-zu-Eins-Darstellung davon sind, umfaßt, wobei die Schaltung auch zusätzliche Logik umfaßt, die, in Reaktion auf das Auftreten einer Teilfolge {c(0), c(1),..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit X-N < J &le; X, jedesmal die ersten J-X+N bistabilen Elemente FF(1), ..., FF(J-X+N) eine Darstellungsfolge von J-X+N Werten annehmen läßt, die eine Eins- zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J-X+N Werte den Darstellungsfolgen von J-X+N Werten entsprechen.
5. Sequentielle Schaltung einer finiten Zustandsmaschine nach Anspruch 1, mit X < N, dadurch gekennzeichnet, daß die Schaltung zusätzliche Logik umfaßt, die in Reaktion auf das Auftreten einer Teilfolge {c(0), c(1), ..., c(J-1)}, mit der Länge J, der gegebenen Folge von X Werten des Eingangssignals, mit 1 &le; J &le; X, jedesmal die ersten J bistabilen Elemente FF(1), ..., FF(J) eine Darstellungsfolge von J annehmen läßt, die eine Eins-zu-Eins-Darstellung der genannten Teilfolge ist, wobei die Zuweisung von Darstellungen an Zustände der finiten Zustandsmaschine derart ist, daß die Zustände durch Kombinationen von Logikwerten der bistabilen Elemente dargestellt werden, die hinsichtlich der ersten J Werte den Darstellungsfolgen von J Werten entsprechen, wobei die zusätzliche Logik in Reaktion auf das Auftreten der gesamten Folge von X Werten des Eingangssignals, die bistabilen Elemente FF(X+1), ..., FF(N) Werte annehmen läßt, die den Logikwerten des Ruhezustandes entsprechen.
6. Integrierte Schaltung mit einer sequentiellen Schaltung einer finiten Zustandsmaschine nach einem der Ansprüche 1 bis 5.
DE69109703T 1990-02-16 1991-02-13 Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung. Expired - Fee Related DE69109703T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL9000380A NL9000380A (nl) 1990-02-16 1990-02-16 Sequentiele finite state machine schakeling, alsmede geintegreerde schakeling voorzien van de schakeling.

Publications (2)

Publication Number Publication Date
DE69109703D1 DE69109703D1 (de) 1995-06-22
DE69109703T2 true DE69109703T2 (de) 1996-01-25

Family

ID=19856615

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69109703T Expired - Fee Related DE69109703T2 (de) 1990-02-16 1991-02-13 Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung.

Country Status (5)

Country Link
US (1) US5097151A (de)
EP (1) EP0442580B1 (de)
JP (1) JPH04215316A (de)
DE (1) DE69109703T2 (de)
NL (1) NL9000380A (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0591593A1 (de) * 1992-10-09 1994-04-13 International Business Machines Corporation Verfahren und Anordnung zur Verwaltung von asynchronen Ereignissen in einem endlichen Automaten
JP3563750B2 (ja) * 1992-10-16 2004-09-08 テキサス インスツルメンツ インコーポレイテツド アナログ回路のための走査に基づく試験
US5649163A (en) * 1992-10-29 1997-07-15 Altera Corporation Method of programming an asynchronous load storage device using a representation of a clear/preset storage device
EP0618530A1 (de) * 1993-03-30 1994-10-05 Koninklijke Philips Electronics N.V. Endlicher Automat mit Vorrichtung zum Reduzieren von Rauscheffekten
US5515292A (en) * 1993-09-29 1996-05-07 Texas Instruments Incorporated Circuit activity driven state assignment of FSMS implemented in CMOS for low power reliable operations
JPH0887462A (ja) * 1994-09-20 1996-04-02 Fujitsu Ltd ステートマシン及び通信制御方式
US6074428A (en) * 1994-10-19 2000-06-13 Hewlett-Packard Company Minimizing logic by resolving "don't care" output values in a finite state machine
JP2967749B2 (ja) * 1997-03-07 1999-10-25 日本電気株式会社 テスト容易化論理合成システム
US5949251A (en) * 1997-08-01 1999-09-07 Vlsi Technology, Inc. Register-based programmable post-silicon system to patch and dynamically modify the behavior of synchronous state machines
US6292023B1 (en) 1999-09-29 2001-09-18 Agere Systems Guardian Corp. Spike-triggered asynchronous finite state machine
US6892343B2 (en) * 2000-03-27 2005-05-10 Board Of Regents Of The University Of Nebraska System and method for joint source-channel encoding, with symbol decoding and error correction
JP2004336010A (ja) * 2003-04-16 2004-11-25 Seiko Epson Corp 半導体集積回路、電子機器、及びトランジスタのバックゲート電位制御方法
US7877401B1 (en) * 2006-05-24 2011-01-25 Tilera Corporation Pattern matching
US10338558B2 (en) * 2014-10-17 2019-07-02 21, Inc. Sequential logic circuitry with reduced dynamic power consumption

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488229A (en) * 1982-12-08 1984-12-11 At&T Bell Laboratories PLA-Based finite state machine with two-level control timing and same-cycle decision-making capability
US4649498A (en) * 1984-05-08 1987-03-10 The University Of Rochester Computer systems for curve-solid classification and solid modeling
US4663545A (en) * 1984-11-15 1987-05-05 Motorola, Inc. High speed state machine
HU195344B (en) * 1984-12-19 1988-04-28 Telefongyar Circuit arrangement for forming sequential control circuit
US4755967A (en) * 1986-03-21 1988-07-05 Monolithic Memories, Inc. Programmable synchronous sequential state machine or sequencer having decision variable input mapping circuit responsive to feedback signals
US4675556A (en) * 1986-06-09 1987-06-23 Intel Corporation Binomially-encoded finite state machine
NL192801C (nl) * 1986-09-10 1998-02-03 Philips Electronics Nv Werkwijze voor het testen van een drager met meerdere digitaal-werkende geïntegreerde schakelingen, geïntegreerde schakeling geschikt voor het aanbrengen op een aldus te testen drager, en drager voorzien van meerdere van zulke geïntegreerde schakelingen.

Also Published As

Publication number Publication date
NL9000380A (nl) 1991-09-16
DE69109703D1 (de) 1995-06-22
US5097151A (en) 1992-03-17
JPH04215316A (ja) 1992-08-06
EP0442580A1 (de) 1991-08-21
EP0442580B1 (de) 1995-05-17

Similar Documents

Publication Publication Date Title
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE69125438T2 (de) Ablaufsteuerung für automatische Testeinrichtung
DE2918053C2 (de)
DE69109703T2 (de) Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung.
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE10150321A1 (de) Verfahren und Vorrichtung zum Testen von integrierten Schaltungen
DE2312707A1 (de) Pruefanordnung fuer einen computer
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE3490015T1 (de) Abfragbarer CMOS Schalter
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE4031136C2 (de)
DE2750344C2 (de) Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE2746743C2 (de) Verfahren und Anordnung zur computergesteuerten Erzeugung von Impulsintervallen
DE1499701A1 (de) Einrichtung zur automatischen Fehlerpruefung von Magnetkernspeichern
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE1191145B (de) Elektronische Zifferrechenmaschine
DE3650508T2 (de) Speicheranordnung zur Simulation eines Schieberegisters
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE3317593A1 (de) Pruefspeicherarchitektur
EP0491998B1 (de) Programmgesteuertes Verfahren und Anordnung zur Erzeugung von Impulsen in aufeinanderfolgenden Impulsintervallen
DE2235802C2 (de) Verfahren und Einrichtung zur Prüfung nichtlinearer Schaltkreise
DE1119567B (de) Geraet zur Speicherung von Informationen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, N

8328 Change in the person/name/address of the agent

Representative=s name: VOLMER, G., DIPL.-ING., PAT.-ANW., 52066 AACHEN

8339 Ceased/non-payment of the annual fee