DE102009043438A1 - Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers - Google Patents
Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers Download PDFInfo
- Publication number
- DE102009043438A1 DE102009043438A1 DE200910043438 DE102009043438A DE102009043438A1 DE 102009043438 A1 DE102009043438 A1 DE 102009043438A1 DE 200910043438 DE200910043438 DE 200910043438 DE 102009043438 A DE102009043438 A DE 102009043438A DE 102009043438 A1 DE102009043438 A1 DE 102009043438A1
- Authority
- DE
- Germany
- Prior art keywords
- state
- designation
- state machine
- detected
- logic
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Die Erfindung betrifft einen endlichen Zustandsautomaten für Rechnersysteme gemäß dem Oberbegriff des Patentanspruchs 1 und ein Verfahren zur Erkennung und Korrektur transienter Fehler gemäß dem Oberbegriff des Patentanspruchs 6 sowie die Verwendung des Zustandsautomaten und des Verfahrens zur Fehlererkennung und -korrektur für Rechnersysteme von Sonaranlagen.The invention relates to a finite state machine for computer systems according to the preamble of
Als endlicher Zustandsautomat wird ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen, beschrieben, welches in digitalen Rechnersystemen benötigt wird, um eine Folge vorherbestimmter Aktionen durchzuführen. Solche endlichen Zustandsautomaten (FSM = Finite State Machine) weisen einen programmierbaren Logikbaustein auf, der mit einem Zustandsregister mittels Verbindungsleitungen verbunden ist. Über eine Zustandsleitung wird der zukünftige Zustand des Zustandsautomaten vom Logikbaustein zum Zustandsregister übertragen. Über eine Zustandsvariablenleitung werden Zustandsvariablen mit Aussage über den jeweils aktuellen Zustand des Zustandsautomaten vom Zustandsregister zum Logikbaustein übertragen. Der Zustandsautomat umfasst weiter einen Eingangsanschluss zur Erfassung von Eingabewerten und einen Ausgangsanschluss für Ausgabewerte. In dem Logikbaustein ist ein Übergangsschaltnetz konfiguriert mit einer Logik zur Bestimmung der zukünftigen Zustandsbezeichnung aus dem Eingabewert und der aktuellen Zustandsbezeichnung. Die Ausgabewerte werden von einem Ausgabeschaltnetz entsprechend einer vorgegebenen Ausgabelogik unter Berücksichtigung der aktuellen Zustandsbezeichnung bestimmt.As a finite state machine, a model of behavior consisting of states, state transitions and actions is described which is needed in digital computer systems to perform a series of predetermined actions. Such finite state machines (FSM) have a programmable logic device which is connected to a status register by means of connection lines. A state line is used to transfer the future state of the state machine from the logic block to the state register. Via a state variable line, state variables are transmitted from the state register to the logic block with information about the current state of the state machine. The state machine further includes an input terminal for detecting input values and an output terminal for output values. In the logic module, a transitional switching network is configured with a logic for determining the future state designation from the input value and the current state designation. The output values are determined by an output switching network according to a given output logic, taking into account the current status designation.
Bei RAM-basierten Logikbausteinen und auch im Zustandsregister können transiente Fehler auftreten, wodurch die Logikbausteine fehlerhafte Ausgabewerte bestimmen. Die transienten Fehler werden durch Umwelteinflüsse verursacht wie Feuchtigkeit, Spannungsschwankungen, Temperatur, Kontaktprobleme oder auch in Folge von Partikeleinschlägen. Aufgrund der geänderten Werte der RAM-Zellen kann die Konfiguration fehlerhaft werden oder auch die State Machine ihren Zustand ändern, so dass es zu Fehlfunktionen kommen kann. Durch die immer weitere Verkleinerung der Strukturbreiten in hochintegrierten Schaltkreisen steigt das Risiko von Bitfehlern aufgrund von Partikeleinschlägen. Es kann zu einer Zerstörung von Daten kommen, wenn hochenergetische Neutronen aus der Erdatmosphäre auf das Gitter einer integrierten Schaltung auftreffen. Dabei kann der Zustand von Flip-Flops oder Speicherelementen verändert werden, ohne dass der Baustein selbst dauerhaft beschädigt wird. Diese Datenbeschädigung wird auch als transienter Fehler bezeichnet.In the case of RAM-based logic modules and also in the status register, transient errors can occur, as a result of which the logic modules determine erroneous output values. The transient errors are caused by environmental influences such as moisture, voltage fluctuations, temperature, contact problems or as a result of particle impacts. Due to the changed values of the RAM cells, the configuration can become faulty or the state machine can also change its state, which can lead to malfunctions. Due to the further reduction of the structure widths in highly integrated circuits, the risk of bit errors due to particle impacts increases. Destruction of data can occur when high-energy neutrons from Earth's atmosphere strike the grid of an integrated circuit. In this case, the state of flip-flops or memory elements can be changed without the block itself being permanently damaged. This data corruption is also called a transient error.
Um einen Ausfall der Baugruppe des Zustandsautomaten oder gar des gesamten Rechnersystem aufgrund transienter Fehler zu vermeiden sind redundante Ausführungen bekannt, wobei im Fall fehlerhaften Verhaltens einer FSM eine baugleiche Baugruppe in Betrieb genommen wird. Redundante Ausführungen führen jedoch zu einem hohen Kostenaufwand um ein sicheres Rechnersystem bereitzustellen. Darüber hinaus lassen sich bei einem verbreiteten Ansatz zur Fehlererkennung bei elektronischen Schaltungen durch Verdopplung und Vergleich lediglich Fehler erkennen, aber nicht korrigieren. Für eine Korrektur von Fehlern im Wege der Redundanz ist mindestens eine Verdreifachung des Systems mit anschließendem Mehrheitsentscheid durch einen sog. Voter erforderlich. Dies führt zu einem erheblichen Aufwand für die Fehlerkorrektur und damit zu hohen Kosten. Darüber hinaus ist oft die Reaktionszeit des Systems nicht zufriedenstellend.To avoid a failure of the assembly of the state machine or even the entire computer system due to transient errors redundant designs are known, in the case of faulty behavior of a FSM a structurally identical module is put into operation. Redundant versions, however, lead to a high cost to provide a secure computer system. Moreover, with a common approach to fault detection in electronic circuits, only errors can be detected by duplication and comparison, but not corrected. For a correction of errors by way of redundancy at least a tripling of the system with subsequent majority decision by a so-called voter is required. This leads to a considerable effort for the error correction and thus to high costs. In addition, the response time of the system is often unsatisfactory.
Des Weiteren ist bekannt, bei einem Fehlverhalten der FSM die fehlerhafte Baugruppe neu zu starten. Zur Überwachung der Baugruppe wird üblicherweise eine Software eingesetzt, welche die Zustände der FSM weiter meldet und bei Fehlverhalten den Neustart in die Wege leitet. Bei dieser Vorgehensweise ist jedoch das Rechnersystem vorübergehend nicht verfügbar. In vielen Anwendungsfällen, bspw. bei einem Einsatz des Rechnersystems in der Sonartechnik, beispielsweise einer Sonaranlage, ist ein Ausfall des Rechnersystems unbedingt zu vermeiden, so dass ein Neustart zur Eliminierung der transienten Fehler nachteilig ist.Furthermore, it is known to restart the faulty module in case of a malfunction of the FSM. To monitor the module usually a software is used, which further reports the states of the FSM and initiates the restart in the event of a malfunction. However, with this approach, the computer system is temporarily unavailable. In many applications, for example, when using the computer system in sonar technology, such as a sonar, a failure of the computer system is essential to avoid, so that a restart to eliminate the transient error is disadvantageous.
Die bekannte Schaltungsanordnung kann transiente Fehler in der Logikschaltung lediglich erkennen, nicht aber korrigieren. Darüber hinaus benötigt die bekannte Schaltung eine enorme Rechenleistung der als Prädiktor bzw. Generator eingesetzten Schaltungsteile, um aus den Informationen der Eingabewerte der Logikschaltung und der Ausgabewerte des Korrektors im Wege der Kanalkodierung die erforderlichen Kontrollbits zu berechnen. Darüber hinaus sind bei der bekannten Schaltungsanordnung, die keinen endlichen Zustandsautomaten betrifft, gedoppelte Register vorgesehen, was bei endlichen Zustandsautomaten zu einem erhöhten Aufwand bei der Verknüpfung der Register mit dem Logikbaustein führt.The known circuit arrangement can only detect, but not correct, transient errors in the logic circuit. In addition, the known circuit requires enormous computing power of the circuit parts used as a predictor or generator in order to calculate from the information of the input values of the logic circuit and the output values of the corrector by means of channel coding the necessary control bits. Moreover, doubled registers are provided in the known circuit arrangement, which does not relate to a finite state machine, which leads to increased complexity in the case of finite state machines in the combination of the registers with the logic module.
Der vorliegenden Erfindung liegt nach alledem das Problem zugrunde, einen endlichen Zustandsautomaten für Rechnersysteme und ein Verfahren zur Erkennung und Korrektur transienter Fehler in einem endlichen Zustandsautomaten zu schaffen, welche eine schnellere Reaktionszeit und hohe Verfügbarkeit des Rechnersystems, insbesondere bei Rechnersystemen für die Sonartechnik, beispielsweise von Sonaranlagen, gewährleisten.The present invention is based on the problem of providing a finite state machine for computer systems and a method for detecting and correcting transient errors in a finite state machine, which has a faster response time and high availability of the computer system, especially in computer systems for sonar technology, for example Sonar systems, ensure.
Dieses Problem wird erfindungsgemäß durch ein Verfahren zur Erkennung und Korrektur transienter Fehler in einem endlichen Zustandsautomaten für Rechnersysteme mit den Merkmalen gemäß Patentanspruch 1, durch einen endlichen Zustandsautomaten für Rechnersysteme mit den Merkmalen gemäß Patentanspruch 6 oder durch die Verwendung des Verfahrens zur Erkennung und Korrektur transienter Fehler in einem endlichen Zustandsautomaten bzw. die Verwendung eines endlichen Zustandsautomaten für Rechnersysteme von Sonaranlagen mit den Merkmalen gemäß Patentanspruch 10 gelöst.This problem is solved according to the invention by a method for detecting and correcting transient errors in a finite state machine for computer systems having the features according to
Die Erfindung hat erkannt, dass bei einem endlichen Zustandsautomaten eine endliche Anzahl von Zuständen entsprechend der Konfiguration der digitalen Schaltung gegeben ist und daher durch binäre Bezeichnung der Zustände unter Bildung eines fehlerkorrigierenden Codes ein konsistentes Rechnersystem mit schneller Reaktionszeit gegeben ist. Erfindungsgemäß wird jedem zulässigen Zustand des Zustandsautomaten eine binäre Bezeichnung zugewiesen und ein Korrektor erkennt bei einem Vergleich der erfassten Zustandsbezeichnung mit den vorgegebenen zulässigen Zustandsbezeichnungen Bitfehler der erfassten Zustandsbezeichnung. Für die Bezeichnung der zulässigen Zustände des Zustandsautomaten werden solche binären Codewörter ausgewählt, welche untereinander eine Hamming-Distanz von mindestens drei aufweisen. Die Auswahl erfolgt somit aus der Menge von Codewörtern eines fehlerkorrigierenden Codes, wie bspw. Hamming-Code, Golay-Code oder andere geeignete Codes. Unter Code wird dabei eine Vorschrift verstanden, wie Informationen zur Übersetzung für ein Zielsystem umgewandelt werden. Ein fehlerkorrigierender Code ist im Zusammenhang mit der vorliegenden Erfindung eine solche Codierungsvorschrift, mit der binäre Zustandsbezeichnungen mit der zur Fehlerkorrektur geeigneten Hamming-Distanz von mindestens drei bestimmt werden. Die binären Zustandsbezeichnungen umfassen eine solche Anzahl von Bits, dass den zulässigen Zuständen Codewörter mit der für die Fehlerkorrektur geeigneten Hamming-Distanz gemäß einer fehlerkorrigierenden Codierungsvorschrift zugewiesen werden kann.The invention has recognized that in a finite state machine there is a finite number of states corresponding to the configuration of the digital circuit and therefore a consistent computer system with fast response time is given by binary designation of the states to form an error correcting code. According to the invention, each permissible state of the state machine is assigned a binary designation, and a corrector recognizes bit errors of the detected state designation when comparing the detected state designation with the predefined permissible state designations. For the designation of the permissible states of the state machine, such binary codewords are selected which have a Hamming distance of at least three with one another. The selection thus takes place from the set of code words of an error-correcting code, such as, for example, Hamming code, Golay code or other suitable codes. A code is understood to mean a rule as to how information for the translation is converted for a target system. An error-correcting code in the context of the present invention is such an encoding rule that determines binary state designations with the Hamming distance suitable for error correction of at least three. The binary state designations include such a number of bits that the allowable states can be assigned codewords having the hemming distance suitable for error correction according to an error-correcting coding rule.
Die Auswahl der Zustandsbezeichnungen mit einer Hamming-Distanz von wenigstens drei ermöglicht bei Vorliegen eines transienten Fehlers die eindeutige Zuordnung der fehlerfreien Zustandbezeichnung. Die fehlerfreie Zustandsbezeichnung ist diejenige mit der geringsten Hamming-Distanz zur erfassten, fehlerhaften Zustandbezeichnung. Der Korrektor kann daher transiente Fehler in der erfassten Zustandsbezeichnung korrigieren, indem er die erfasste Bezeichnung durch die bestimmte Zustandbezeichnung mit der geringsten Hamming-Distanz ersetzt.The selection of the state designations with a Hamming distance of at least three enables the clear assignment of the error-free state designation in the presence of a transient error. The error-free state designation is the one with the lowest Hamming distance to the detected, faulty state designation. The corrector can therefore correct for transient errors in the detected state designation by replacing the detected designation with the particular state designation having the lowest Hamming distance.
Um eine Korrektur mehrerer transienter Fehler in der jeweils erfassten Zustandsbezeichnung zu ermöglichen, werden den zulässigen Zuständen des Zustandsautomaten binäre Bezeichnungen mit entsprechend höheren Hamming-Distanzen zugewiesen.In order to allow for a correction of several transient errors in the respectively detected state designation, the permissible states of the state machine are assigned binary designations with correspondingly higher Hamming distances.
Stellt der Korrektor eine höhere Anzahl von transienten Fehlern in der erfassten Zustandsbezeichnung fest, als anhand der gewählten Hamming-Distanz der binären Zustandsbezeichnungen korrigierbar ist, so wird erfindungsgemäß ein Fehlersignal des Zustandsautomaten erzeugt. Das Fehlersignal kann intern vom Logikbaustein oder extern weiterverarbeitet werden und dem Rechnersystem zugeführt werden. Der Generierung des Fehlersignals liegt die Erkenntnis zugrunde, dass innerhalb der gewählten Hamming-Distanz der Zustandsbezeichnungen eine eindeutige Korrektur erfolgen kann, jedoch bei Überschreiten der eindeutig korrigierbaren Anzahl der Bitfehler pro Zustandsbezeichnung der Korrektor immer noch das Vorliegen der Fehler und deren Anzahl erkennen kann. Durch das Erkennen des Fehlers und das Erfassen deren Anzahl kann mit Hilfe dieser Information das Schaltwerk des Zustandsautomaten weiter betrieben werden und ein Ausfall des Systems vermieden werden, so dass die Verfügbarkeit des Rechnersystems erhöht ist.If the corrector determines a higher number of transient errors in the detected state designation than can be corrected based on the selected Hamming distance of the binary state designations, an error signal of the state machine is generated according to the invention. The error signal can be processed internally by the logic module or externally and fed to the computer system. The generation of the error signal is based on the finding that within the selected Hamming distance of the state designations an unambiguous correction can take place, however, if the clearly correctable number of bit errors per state designation is exceeded, the corrector can still detect the presence of the errors and their number. By recognizing the error and detecting its number, the rear derailleur of the state machine can continue to be operated with the aid of this information, and system downtime can be avoided so that the availability of the computer system is increased.
Ein Ausfall des Schaltwerks kann auch bei einer nicht mehr korrigierbaren Fehleranzahl in der Zustandsbezeichnung aufgrund transienter Fehler meistens vermieden werden, wenn das Schaltwerk aufgrund des Fehlersignals im gleichen Takt eine Neubestimmung des Ausgabewertes durchführt. Dabei kann der Umstand genutzt werden, dass aus der endlichen Menge zulässiger Eingangswerte und der ebenfalls endlichen Menge von Zustandbeschreibungen aus der aktuellen Zustandsbezeichnung Rückschlüsse auf früher erfolgte Eingangsbelegungen gezogen werden können. Es ist daher möglich, aufgrund des Fehlersignals den früheren Eingangswert zu rekonstruieren und die Neubestimmung durchzuführen. A failure of the rear derailleur can be avoided even with a no longer correctable number of errors in the state designation due to transient errors when the switching mechanism performs a redetermination of the output value due to the error signal in the same cycle. In this case, it is possible to use the circumstance that conclusions can be drawn from the finite quantity of permissible input values and also the finite amount of state descriptions from the current state designation of input assignments that were made earlier. It is therefore possible to reconstruct the earlier input value based on the error signal and carry out the re-determination.
Die Implementierung der erfindungsgemäßen Erkennung und Korrektur transienter Fehler im Schaltwerk eines endlichen Zustandsautomaten erfordert lediglich einen geringfügigen zusätzlichen Rechenaufwand, so dass eine schnelle Reaktionszeit der digitalen Schaltung des endlichen Zustandsautomaten gegeben ist. Es lassen sich mit einer einfachen Technik wesentlich längere Laufzeiten des Schaltwerks erzielen. Der zusätzliche Rechenaufwand wird im Verhältnis zu einem endlichen Zustandsautomaten ohne die erfindungsgemäße Fehlerkorrektur immer geringer, je höher die Anzahl der charakterisierenden Zustände des endlichen Zustandsautomaten im konkreten Anwendungsfall ist. Bei komplexen Zustandsautomaten bzw. der entsprechenden Realisierung als Schaltwerk ist daher oftmals der zusätzliche Rechenaufwand für die Fehlerkorrektur vernachlässigbar klein. Es ist daher eine schnelle Ansprechzeit bzw. optimales Ansprechverhalten des Schaltwerks gegeben.The implementation of the inventive detection and correction of transient errors in the switching mechanism of a finite state machine requires only a small additional computational effort, so that a fast response time of the digital circuit of the finite state machine is given. It can be achieved with a simple technique significantly longer operating life of the derailleur. The additional computational effort in relation to a finite state machine without the error correction according to the invention becomes ever smaller, the higher the number of characterizing states of the finite state machine in the concrete application case. In the case of complex state machines or the corresponding implementation as a switching mechanism, therefore, the additional computation effort for the error correction is often negligibly small. It is therefore given a fast response time or optimal response of the rear derailleur.
Da transiente Fehler zumeist einzeln oder in geringer Anzahl pro Bitfolge auftreten, können die meisten transienten Fehler erkannt und korrigiert werden, so dass die digitale Schaltung weitgehend mit fehlerfreien Werten arbeiten kann und daher eine hohe Verfügbarkeit des Rechnersystems gegeben ist.Since transient errors usually occur individually or in small numbers per bit sequence, most transient errors can be detected and corrected, so that the digital circuit can work largely with error-free values and therefore high availability of the computer system is given.
Sonaranlagen müssen mit ihren Rechnersystemen oft auf Wasserfahrzeugen und daher auf engstem Raum und mit möglichst geringem Hardwareaufwand realisiert werden und dabei möglichst ausfallfrei verfügbar sein. Mit der erfindungsgemäßen Fehlererkennung und Korrektur transienter Fehler wird eine diesen Anforderungen genügende Schaltung zur Verfügung gestellt.Sonar systems often have to be realized with their computer systems on watercraft and therefore in the smallest of spaces and with the least possible hardware expenditure, and must be available as failure-free as possible. With the inventive error detection and correction of transient errors, a circuit satisfying these requirements is made available.
Der Logikbaustein ist in einer vorteilhaften Ausführungsform ein integrierter Schaltkreis mit einer im Feld programmierbaren Anordnung von Logikgattern (FPGA = Field Progammable Gate Array). In dem FPGA werden die logischen Verknüpfungen des Schaltwerks des endlichen Zustandsautomaten durch eine Konfigurationsdatei festgelegt. Moderne FPGAs erlauben dabei eine Überschreibung im laufenden Betrieb, so dass bei einer umfangreichen Störung der Konfiguration des FPGA durch transiente Fehler im laufenden Betrieb eine Neukonfiguration erfolgen kann. Die Neukonfiguration kann erfindungsgemäß durch das Fehlersignal des Korrektors ausgelöst werden.The logic module is in an advantageous embodiment, an integrated circuit with a field programmable array of logic gates (FPGA = Field Progammable Gate Array). In the FPGA, the logic operations of the finite state machine's circuitry are determined by a configuration file. Modern FPGAs allow an overwriting during operation, so that in case of a major failure of the configuration of the FPGA by transient errors during operation, a reconfiguration can take place. The reconfiguration can be triggered according to the invention by the error signal of the corrector.
Der endliche Zustandsautomat ist technisch realisiert in Schaltwerken, welche aus Schaltnetzen, als den logischen Verknüpfungen, und einem Speicher zusammengesetzt sind. Die Schaltnetze realisieren dabei die Ausgabelogik zur Berechnung der aktuellen Ausgabewerte und die Logik zur Berechnung des Folgezustands des Zustandsautomaten. Zweckmäßig ist der Zustandsautomat als Moore-Schaltwerk realisiert, wobei die Ausgabewerte allein in Abhängigkeit des aktuellen Zustands des Zustandsautomaten geändert werden. Da die Ergebnisse der logischen Verknüpfung zur Berechnung des Folgezustands einer Fehlererkennung und Fehlerkorrektur unterzogen werden, stehen bei der Berechnung der aktuellen Ausgabe grundsätzlich fehlerfreie Werte zur Verfügung. Das Moore-Schaltwerk kann durch die alleinige Berücksichtigung der (ggf. korrigierten) fehlerfreien Zustandsbezeichnungen eine hohe Qualität hinsichtlich fehlerfreier Ausgabewerte sicherstellen. Um eine im Wesentlichen vollständige Fehlerfreiheit zu erreichen, kann eine Anpassung der Ausgabewerte zweckmäßig sein. Die Anpassung der Ausgabewerte als Korrektur von Fehlern in der Funktion zur Berechnung des aktuellen Ausgabewertes kann durch Anwendung von Codierungstechnik erfolgen.The finite state machine is technically realized in switching devices, which are composed of switching networks, as the logic operations, and a memory. The switching networks realize the output logic for the calculation of the current output values and the logic for the calculation of the state of success of the state machine. Suitably, the state machine is implemented as a moore switching mechanism, wherein the output values are changed solely depending on the current state of the state machine. Since the results of the logic operation are subjected to error detection and error correction for the calculation of the following state, fundamentally error-free values are available when calculating the current output. The Moore derailleur can ensure a high quality in terms of error-free output values by considering the (possibly corrected) error-free state designations. In order to achieve a substantially complete freedom from errors, an adaptation of the output values may be expedient. The adaptation of the output values as a correction of errors in the function for calculating the current output value can be done by using coding technology.
Die erfindungsgemäße Fehlererkennung bzw. -korrektur kann als fest konfigurierte bzw. programmierte Logik eingesetzt werden. Die Fehlerkorrektur ist daher selbst unempfindlich gegen transiente Fehler und kann die insoweit für transiente Fehler empfindliche RAM-Logik wirksam schützen bzw. in ihrer Arbeitsweise unterstützen. Dieser Vorteil kommt insbesondere dann zum Tragen, wenn zur Bestimmung der Ausgabewerte in dem Moore-Schaltwerk ein weiterer Logikbaustein vorgesehen ist, welcher mit der Ausgabelogik konfiguriert ist. Dieser Logikbaustein, dem der Ausgangsanschluss des Zustandsautomaten zur Abgabe der Ausgabewerte zugeordnet ist, ist bei fester und dauerhafter Programmierung unempfindlich gegen transiente Fehler.The error detection or correction according to the invention can be used as a permanently configured or programmed logic. The error correction is therefore itself insensitive to transient errors and can effectively protect the so far sensitive to transient error RAM logic or support their operation. This advantage is particularly useful if, for determining the output values in the moore switching mechanism, a further logic module is provided which is configured with the output logic. This logic device, which is assigned the output terminal of the state machine for outputting the output values, is insensitive to transient errors during fixed and permanent programming.
Ist der Korrektor in der Zustandsleitung angeordnet und erfasst somit die zukünftige Zustandsbezeichnung vom Logikbaustein, so werden transiente Fehler in der Programmierung des Logikbausteins unmittelbar erkannt und augenblicklich korrigiert. Im Zustandsregister werden die korrigierten Werte für die weitere Abfolge im Schaltwerk des Zustandsautomaten abgelegt. Die Anordnung des Korrektors in der Zustandsleitung und das damit verbundene Erfassen der zukünftigen Zustandsbezeichnung sind besonders vorteilhaft bei Anwendungen des Schaltwerkes, bei denen es besonders auf die fehlerfreie Funktionsweise des Logikbausteins ankommt. Die Fehlerkorrektur in der zukünftigen Zustandsbezeichnung ist mit einer vergleichsweise kurzen Codewortbreite der Zustandsbezeichnung schon effizient, da sich die Korrektur auf die transienten Fehler des Logikbausteins konzentriert.If the corrector is arranged in the status line and thus detects the future status designation of the logic module, then transient errors in the programming of the logic module are immediately recognized and immediately corrected. In the status register, the corrected values for the further sequence are stored in the rear derailleur of the state machine. The arrangement of the corrector in the State conduction and the associated detection of the future state designation are particularly advantageous in applications of the switching mechanism, in which the error-free operation of the logic module is particularly important. The error correction in the future state designation is already efficient with a comparatively short code word width of the state designation, since the correction concentrates on the transient errors of the logic device.
In einer vorteilhaften Ausführungsform der Erfindung ist der Korrektor in der Zustandsvariablenleitung angeordnet und erfasst die aktuelle Zustandsbezeichnung vom Zustandsregister. Der Korrektor kann dabei transiente Fehler sowohl im Zustandsregister als auch im Logikbaustein erkennen und korrigieren. Unabhängig von der Herkunft des transienten Fehlers gibt der Korrektor die fehlerfreie, aktuelle Zustandsbezeichnung zur Weiterverarbeitung in der logischen Verknüpfung zur Berechnung des Ausgabewertes weiter.In an advantageous embodiment of the invention, the corrector is arranged in the state variable line and detects the current state name from the state register. The corrector can recognize and correct transient errors both in the status register and in the logic module. Regardless of the origin of the transient error, the corrector forwards the error-free, current state designation for further processing in the logical link for calculating the output value.
Zweckmäßig wird unter Berücksichtigung der vom Korrektor erkannten Fehler der Zustandsbezeichnung die Konfiguration des frei programmierbaren Logikbausteins korrigiert. Dabei ist der Korrektor mit Einlesemitteln verbunden, die zwischen einem Konfigurationsspeicher des Logikbausteins und dem Logikbaustein angeordnet sind. Die Neukonfiguration kann bspw. dann erfolgen, wenn der Korrektor eine nicht mehr korrigierbare Anzahl von Bitfehlern feststellt. Die Neukonfiguration des Logikbausteins wird dann durch das Fehlersignal des Korrektors in die Wege geleitet. Der Korrektorbaustein kann dabei so programmiert sein, dass er entweder ein Boot-Image aus dem externen Speicher (oder einem internen Flash) in den Logikbaustein lädt oder aber ein externes Fehlersignal generiert.The configuration of the freely programmable logic module is expediently corrected taking into account the errors of the state designation recognized by the corrector. In this case, the corrector is connected to read-in means which are arranged between a configuration memory of the logic module and the logic module. The reconfiguration can take place, for example, when the corrector detects an incommensurable number of bit errors. The new configuration of the logic module is then initiated by the error signal of the corrector. The corrector module can be programmed so that it either loads a boot image from the external memory (or an internal flash) into the logic module or generates an external error signal.
In einer vorteilhaften Ausführungsform sind zwei oder mehr baugleiche Schaltwerke von Zustandsautomaten vorgesehen, wobei die von den Korrektoren der Schaltwerke abgegebenen Zustandsbezeichnungen einem Selektionsschaltnetz zugeführt werden. Das Selektionsschaltnetz, das vorteilhaft ein Multiplexer sein kann, wird in Abhängigkeit der Fehlersignale der Zustandsautomaten gesteuert. Das Selektionsschaltnetz schaltet genau die binäre Bezeichnung durch, die von einem Korrektor stammt, der im aktuellen Takt kein Fehlersignal generiert und führt sie den einzelnen Schaltwerken zu. Auf diese Weise ist der Einfluss transienter Fehler weiter reduziert. Indem die korrigierte Zustandsbezeichnung eines parallel geschalteten Schaltwerks auch dem von transienten Fehlern betroffenen Schaltwerk zugeführt wird, kann selbst bei Auftreten mehrerer, nicht mehr eindeutig korrigierbarer Fehler in einer Zustandsbezeichnung eine Neukonfiguration vermieden werden.In an advantageous embodiment, two or more identical derailleurs are provided by state machines, wherein the output from the correctors of the derailleurs state designations are fed to a selection switching network. The selection switching network, which may advantageously be a multiplexer, is controlled as a function of the error signals of the state machines. The selection switching network switches exactly through the binary designation, which originates from a corrector, which generates no error signal in the current cycle and feeds it to the individual switching mechanisms. In this way, the influence of transient errors is further reduced. By the corrected state designation of a parallel-connected switching mechanism is also supplied to the affected by transient errors rear derailleur, a reconfiguration can be avoided even when multiple, no longer uniquely correctable errors in a state designation.
Ausführungsbeispiele der Erfindung sind nachstehend anhand der Zeichnung näher erläutert. Es zeigen:Embodiments of the invention are explained below with reference to the drawing. Show it:
Das Schaltwerk
Das Übergangsschaltnetz
Das FPGA
Das FPGA
Sofern transiente Fehler im FPGA
Bei dem dargestellten Schaltwerk
Das Schaltwerk
Von dem Eingabewert als auch von dem aktuellen Zustand ist abhängig, welchen Zustand der Zustandsautomat als nächstes einnehmen wird. Aus dem am FPGA
Aus der aktuellen Zustandsbezeichnung Z bestimmt das Ausgangsschaltnetz
Um transiente Fehler zu erkennen und zu korrigieren, wird jedem der k zulässigen Zustände des Zustandsautomaten eine binäre Zustandsbezeichnung zugewiesen, welche von dem Korrektor
Um eine Fehlerkorrektur zu ermöglichen, sind den zulässigen Zuständen solche binäre Zustandsbezeichnungen zugewiesen, welche untereinander eine Hamming-Distanz von mindestens drei aufweisen. Die Auswahl der Zustandsbezeichnungen kann nach Maßgabe eines fehlerkorrigierenden Codes – wie bspw. dem Hamming-Code – erfolgen.In order to enable an error correction, the permissible states are assigned such binary state designations which have a Hamming distance of at least three with one another. The selection of the status designations can take place in accordance with an error-correcting code, such as, for example, the Hamming code.
Bei Erkennen eines Fehlers in der erfassten Zustandsbezeichnung Z ersetzt der Korrektor
Die binären Bezeichnungen der zulässigen Zustände mit der gewünschten Hamming-Distanz können durch Zufügung einer entsprechenden Anzahl von Kontrollbits generiert werden. Sofern im jeweiligen Anwendungsbereich des Schaltwerkes eine qualitativ hochwertigere Fehlerkorrektur gewünscht ist, welche auch mehrere transiente Fehler in einer Zustandsbezeichnung korrigieren kann, werden die binären Zustandsbezeichnungen mit mehr Redundanz ausgestattet und den zulässigen Zuständen des Zustandsautomaten binäre Zustandbezeichnungen mit höheren Hamming-Distanzen zugewiesen.The binary designations of allowable states with the desired Hamming distance can be generated by adding a corresponding number of check bits. If a higher-quality error correction is desired in the respective application area of the rear derailleur, which can also correct a plurality of transient errors in a state designation, the binary state designations are provided with more redundancy and binary state designations with higher Hamming distances are assigned to the permissible states of the state machine.
Der Korrektor
Das Schaltwerk
Die Anzahl korrigierbarer Bitfehler wird bei der Konfiguration des Korrektors
Der Korrektor
Der Korrektor
Sofern die erkannte Fehlerzahl aufgrund der gewählten Hamming-Distanz der Zustandsbezeichnungen nicht mehr eindeutig korrigierbar ist, erzeugt der jeweilige Korrektor
Die Korrektoren
Erst in dem Fall, dass sämtliche an den Multiplexer
Die ausgewählte fehlerfreie Zustandsbezeichnung wird vom Multiplexer
Bei einer parallelen Anordnung baugleicher Schaltwerke
Sämtliche in der Figurenbeschreibung, in den Ansprüchen und in der Beschreibungseinleitung genannten Merkmale sind sowohl einzeln als auch in beliebiger Weise miteinander kombiniert einsetzbar. Die Erfindung ist daher nicht auf die beschriebenen bzw. beanspruchten Merkmalskombinationen beschränkt. Vielmehr sind alle Merkmalskombinationen als offenbart zu betrachten.All mentioned in the description of the figures, in the claims and in the introduction of the description can be used both individually and in any combination. The invention is therefore not limited to the described or claimed feature combinations. Rather, all feature combinations are to be regarded as disclosed.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 102006027448 B4 [0006] DE 102006027448 B4 [0006]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200910043438 DE102009043438A1 (en) | 2009-09-29 | 2009-09-29 | Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200910043438 DE102009043438A1 (en) | 2009-09-29 | 2009-09-29 | Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102009043438A1 true DE102009043438A1 (en) | 2011-04-07 |
Family
ID=43705463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200910043438 Ceased DE102009043438A1 (en) | 2009-09-29 | 2009-09-29 | Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102009043438A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006027448B4 (en) | 2006-06-12 | 2008-05-15 | Universität Potsdam | circuitry |
-
2009
- 2009-09-29 DE DE200910043438 patent/DE102009043438A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006027448B4 (en) | 2006-06-12 | 2008-05-15 | Universität Potsdam | circuitry |
Non-Patent Citations (2)
Title |
---|
BOLCHINI, C. (et al.): Design of VHDL based Totally Self-Checking Finite State Machine and Data Path Descriptions. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 8, 2000, S. 98-103. - ISSN: 1063-8210 * |
SKLIAROVA, I.: Self-Correction of FPGA-based Control Units. In: Lecture Notes on Computer Science, 2005, Numb. 3820, S. 310-319. - ISSN: 0302-9743 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3650102T2 (en) | Arrangement and method for calculating cyclic redundant code. | |
DE3208573C2 (en) | 2 out of 3 selection device for a 3 computer system | |
DE3603926A1 (en) | SEMICONDUCTOR MEMORY ELEMENT | |
DE3688238T2 (en) | CRC computing arrangement. | |
DE2132565C3 (en) | Converter | |
DE3520003C2 (en) | ||
DE102007042353B4 (en) | A method for detecting faults in a vehicle system of an active front steering | |
DE2413401B2 (en) | Device for synchronizing three computers | |
DE1814940B2 (en) | LEARNING CLASSIFICATION CIRCUIT | |
DE69432200T2 (en) | Electronic system organized as a cell matrix network | |
DE102017103347B4 (en) | PROCESSING OF DATA IN MEMORY CELLS OF A MEMORY | |
DE3789782T2 (en) | Multi-stage device with redundancy and its use in a data processing method. | |
DE102006005817B4 (en) | An error detection device for an address decoder and an error detection device for an address decoder | |
EP0325318B1 (en) | Switching exchange | |
DE102006055867A1 (en) | Integrated circuit with radiation protection | |
DE3139067C2 (en) | Electrical device for triggering switching functions in motor vehicles | |
DE102018124296B4 (en) | COMPENSATION OF READING ERRORS | |
DE3529033C2 (en) | ||
DE4117726C2 (en) | Error correction procedure and device for its implementation | |
DE102009043438A1 (en) | Method for e.g. correcting transient errors in finite state machine for digital computer systems of sonar system in water craft, involves generating machine error signal during determining higher number of bit errors in detected identifiers | |
DE1937259C3 (en) | Self-checking fault detection circuit | |
DE2733921A1 (en) | CIRCUIT ARRANGEMENT FOR AN INDIRECTLY CONTROLLED SWITCHING SYSTEM, IN PARTICULAR TELEPHONE SWITCHING SYSTEM | |
DE2527098C3 (en) | Circuit arrangement for checking the takeover in digital memories | |
EP1903318B1 (en) | Improvement of reliability and redundancy of analog current sources | |
DE3305547A1 (en) | Circuit arrangement for digitally converting an analog signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R002 | Refusal decision in examination/registration proceedings | ||
R082 | Change of representative |
Representative=s name: , |
|
R003 | Refusal decision now final |
Effective date: 20130406 |