DE102005037403A1 - Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls - Google Patents

Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls Download PDF

Info

Publication number
DE102005037403A1
DE102005037403A1 DE102005037403A DE102005037403A DE102005037403A1 DE 102005037403 A1 DE102005037403 A1 DE 102005037403A1 DE 102005037403 A DE102005037403 A DE 102005037403A DE 102005037403 A DE102005037403 A DE 102005037403A DE 102005037403 A1 DE102005037403 A1 DE 102005037403A1
Authority
DE
Germany
Prior art keywords
equal
operations
alu
registers
check
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.)
Granted
Application number
DE102005037403A
Other languages
English (en)
Other versions
DE102005037403B4 (de
Inventor
Mark H. Bloomfield Township Costin
Timothy J. Brighton Hartrey
Tyrus J. Clarkston Valascho
Steven P. Ann Arbor Sullivan
William Robert Ann Arbor Mayhew
Ananth Ypsilanti Krishnan
Jinchun Westland Peng
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.)
Motors Liquidation Co
Original Assignee
Motors Liquidation Co
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 Motors Liquidation Co filed Critical Motors Liquidation Co
Publication of DE102005037403A1 publication Critical patent/DE102005037403A1/de
Application granted granted Critical
Publication of DE102005037403B4 publication Critical patent/DE102005037403B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2226Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test ALU

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Ein Verfahren zum Überprüfen der Funktionsfähigkeit einer Arithmetik-Logik-Einheit (ALU) eines Steuermoduls enthält das Eingeben eines ersten Testwerts in eines von mehreren Registern der ALU und das Eingeben eines zweiten Testwerts in die verbleibenden Register der mehreren Register. Zwischen dem einen der mehreren Register und dem der verbleibenden Register wird eine erste Menge von Operationen ausgeführt, um eine erste Menge von Ergebnissen zu erzeugen. Wenn sich ein Ergebnis aus der ersten Menge der Ergebnisse von einem ersten vorgegebenen Ergebnis unterscheidet, wird ein Fehler angegeben.

Description

  • Die Erfindung bezieht sich auf Steuermodule und insbesondere auf ein Verfahren zum Überprüfen der Funktionsfähigkeit eines Steuermoduls einer Arithmetik-Logik-Einheit (ALU).
  • Steuermodule sind in einer Vielzahl von Systemen implementiert, um Daten zu verarbeiten und um Steuersignale zu liefern. Zum Beispiel erzeugen Fahrzeugsteuermodule Steuersignale, die den Betrieb von Fahrzeugkomponenten lenken. Das Steuermodul empfängt von verschiedenen Sensoren und anderen Vorrichtungen Signale, die Betriebskennwerte (z. B. Motordrehzahl, Temperatur, Druck, Übersetzungsverhältnis und dergleichen) überwachen. Die Steuersignale beruhen auf den Signalen, die von den verschiedenen Sensoren empfangen werden. Insbesondere verarbeitet das Steuermodul Signalinformationen unter Verwendung einer Arithmetik-Logik-Einheit (ALU). Das Steuermodul verarbeitet die Steuersignale anhand einer vorprogrammierten Steuerstrategie.
  • In einigen Anwendungen erzeugen Steuermodule sicherheitskritische Steuersignale. Das heißt, die Steuersignale lenken den Betrieb von Komponenten, die die Leistungsfähigkeit des Fahrzeugs beeinflussen. Zum Beispiel erzeugt das Steuermodul in einem Fahrzeug mit einem elektronisch gesteuerten Schaltungssystem Steuersignale, die das Schalten eines Getriebes regulieren. Eine Ungenauigkeit in den Steuersignalen kann zu einer Beschädigung an den Komponenten des Getriebes und/oder zum falschen Betrieb des Getriebes führen.
  • Eine defekte ALU und/oder defekte Speicherregister können die Genauigkeit von Steuersignalen beeinflussen. Somit sind Unversehrtheits- oder Funktionsfähigkeitsprüfungen entwickelt worden, um zu bestimmen, ob die ALU und/oder die Speicherregister richtig arbeiten. Allerdings prüfen herkömmliche ALU-Funktionsfähigkeitsprüfungen nicht alle Operationen, die die ALU ausführt.
  • Dementsprechend schafft die Erfindung ein Verfahren zum Überprüfen der Funktionsfähigkeit einer Arithmetik-Logik-Einheit (ALU) eines Steuermoduls. Das Verfahren enthält das Eingeben eines ersten Testwerts in eines von mehreren Registern der ALU und das Eingeben eines zweiten Testwerts in die verbleibenden Register der mehreren Register. Zwischen dem einem der mehreren Register und jedem der verbleibenden Register werden eine erste Menge von Operationen ausgeführt, um eine erste Menge von Ergebnissen zu erzeugen. Wenn sich ein Ergebnis aus der ersten Menge von Ergebnissen von einem ersten vorgegebenen Ergebnis unterscheidet, wird ein Fehler angegeben.
  • Gemäß weiteren Merkmalen enthält das Verfahren ferner das Eingeben des ersten Testwerts in die verbleibenden Register und das Ausführen einer zweiten Menge von Operationen zwischen dem einen der mehreren Register und jedem der verbleibenden Register, um eine zweite Menge von Ergebnissen zu erzeugen. Wenn sich ein Ergebnis aus der zweiten Menge von Ergebnissen von einem zweiten vorgegebenen Ergebnis unterscheidet, wird ein Fehler angegeben.
  • Gemäß weiteren Merkmalen enthält die erste Menge von Operationen logische Operationen. Die logischen Operationen enthalten wenigstens eine logische Operation aus einer Gruppe, die aus UND, ODER, XOR und NICHT besteht.
  • Gemäß weiteren Merkmalen enthält die zweite Menge von Operationen logische Operationen. Die logischen Operationen enthalten wenigstens eine logische Operation aus einer Gruppe, die aus UND, ODER, XOR und NICHT besteht.
  • Gemäß nochmals weiteren Merkmalen enthält die erste Menge von Operationen Vergleichsoperationen. Die Vergleichsoperationen enthalten wenigstens eine Vergleichsoperation aus einer Gruppe, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  • Gemäß nochmals weiteren Merkmalen enthält die zweite Menge von Operationen Vergleichsoperationen. Die Vergleichsoperationen enthalten wenigstens eine Vergleichsoperation aus einer Gruppe, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  • Die Erfindung wird im Folgenden beispielhaft anhand der Zeichnungen beschrieben; in diesen zeigt:
  • 1 eine schematische Darstellung eines Steuermoduls, das einen Prozessor mit einer Arithmetik-Logik-Einheit (ALU) enthält;
  • 2 einen Ablaufplan, der eine Vergleichsfunktionsfähigkeitsprüfung für die ALU veranschaulicht;
  • 3 einen Ablaufplan, der eine UND-Logik-Funktionsfähigkeitsprüfung für die ALU veranschaulicht;
  • 4 einen Ablaufplan, der eine ODER-Logik-Funktionsfähigkeitsprüfung für die ALU veranschaulicht;
  • 5 einen Ablaufplan, der eine XOR-Logik-Funktionsfähigkeitsprüfung für die ALU veranschaulicht;
  • 6 einen Ablaufplan, der eine NICHT-Logik-Funktionsfähigkeitsprüfung für die ALU veranschaulicht;
  • 7A einen Ablaufplan, der einen ersten Abschnitt einer beispielhaften Anfangswert-Schlüssel-basierten ALU-Prüfung für Vergleichsoperationen gemäß der Erfindung veranschaulicht; und
  • 7B einen Ablaufplan, der einen zweiten Abschnitt einer beispielhaften Anfangswert-Schlüssel-basierten ALU-Prüfung für Vergleichsoperationen gemäß der Erfindung veranschaulicht.
  • Die folgende Beschreibung der bevorzugten Ausführungsform ist dem Wesen nach lediglich beispielhaft und soll die Erfindung, ihre Anwendung oder Verwendungen in keiner Weise einschränken. Aus Klarheitsgründen werden in den Zeichnungen zur Identifizierung ähnlicher Elemente die gleichen Bezugszeichen verwendet. Der Begriff Operation wird hier in der Weise verwendet, dass er sich auf Vergleichsoperationen und logische Operationen bezieht. Vergleichsoperationen enthalten, sind aber nicht beschränkt auf, gleich (=), ungleich (≠) kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥). Logische Operationen enthalten, sind aber nicht beschränkt auf, UND, ODER, XOR und NICHT.
  • In 1 ist nun ein beispielhaftes Steuermodul 10 schematisch veranschaulicht. Das Steuermodul enthält einen Prozessor 12, einen Schreib-Lese-Speicher (RAM) 14 und eine Datenverbindung 16, die die Kommunikation zwischen dem Prozessor 12 und dem RAM 14 ermöglicht. Der Prozessor 12 enthält eine Arithmetik-Logik-Einheit (ALU) 18 und der RAM enthält Datenspeicherregister 20 (R1 bis RN). Obgleich die Datenspeicherregister 20 als Teil des RAM 14 veranschaulicht sind, ist klar, dass der Ort der Datenspeicherregister 20 anhand der besonderen Steuermodularchitektur variieren kann. Die Anzahl der Register 20 kann variieren und die Anzahl der Speicherbits pro Register kann variierert.
  • Die ALU 18 steuert die Übertragung von Daten zu und von den Registern 20 und manipuliert die in den Registern 20 gespeicherten Daten. Insbesondere führt die ALU 18 unter Verwendung der gespeicherten Daten Berechnungen aus, um Steuersignale für den Betrieb eines Systems wie etwa eines Fahrzeugsystems zu bestimmen. Einige der durch die ALU 18 ausgeführten Berechnungen werden als sicherheitskritisch betrachtet. Somit ist die richtige Funktion der ALU 18 notwendig, um sicherzustellen, dass die resultierenden Steuersignale die Systemkomponenten sicher betreiben. Zum Beispiel erzeugt das Steuermodul 10 in einem Fahrzeug mit einem elektronisch gesteuerten Schaltsystem Steuersignale, die das Schalten eines Getriebes regulieren. Eine defekte ALU 18 kann falsche Steuersignale für die momentanen Fahrzeugbetriebsbedingungen erzeugen. Im Ergebnis können Komponenten des Getriebes beschädigt werden und/oder kann das Getriebe falsch funktionieren.
  • Die ALU-Funktionsfähigkeitsprüfungen der Erfindung bestimmen, ob alle durch die ALU 18 ausgeführten Logikfunktionen und Tests richtig sind, wodurch die Funktionsfähigkeit der ALU 18 sichergestellt wird. Es ist klar, dass für ein besonderes Steuermodul 10 nicht alle ALU-Funktionsfähigkeitsprüfungen ausgeführt zu werden brauchen. Falls das Steuermodul 10 nicht alle Logikfunktionen und Tests ausführt, brauchen z. B. nur diejenigen ALU-Funktionsfähigkeitsprüfungen ausgeführt zu werden, die den Logikfunktionen und Tests entsprechen, die es ausführt. Die ALU-Funktionsfähigkeitsprüfungen werden durch das Steuermodul 10 periodisch ausgeführt und können anhand einer Standardverarbeitungsschleife oder aussetzend zwischen Verarbeitungsschleifen ablaufen. Eine ALU-Funktionsfähigkeitsprüfung wertet die durch die ALU ausgeführten Vergleichsoperationen einschließlich, aber nicht beschränkt auf, gleich (=), ungleich (≠), kleiner als (<), größer oder gleich (≤), größer als (>) und größer oder gleich (≥) aus. Eine weitere ALU-Funktionsfähigkeitsprüfung wertet die durch die ALU ausgeführten logischen Operationen einschließlich, aber nicht beschränkt auf, UND, ODER, XOR und NICHT aus.
  • Die ALU-Funktionsfähigkeitsprüfungen der Erfindung verwenden Testwerte, die in den Registern 20 gespeichert sind. An den Testwerten werden Vergleichsoperationen und logische Operationen ausgeführt. Falls die Ergebnisse der Operationen gültig sind, gelten die Register 20 und die ALU 18 als richtig arbeitend. Falls ein Ergebnis der Operationen ungültig ist, gelten das spezifische Register 20 und/oder die ALU 18 als falsch arbeitend, wobei eine Abhilfsmaßnahme ergriffen wird. Die Art der Abhilfsmaßnahme kann je nach Systemtyp (z. B. Motorsteuerung, Getriebesteuerung und dergleichen) variieren. Zum Beispiel kann die Abhilfsmaßnahme im Fall eines Motorsteuersystems das Abschalten des Motors oder das Begrenzen der Motordrehzahl enthalten, ist aber nicht darauf beschränkt. Im Fall eines Getriebesteuersystems kann die Abhilfsmaßnahme das geparkt Halten des Getriebes oder das Begrenzen der verfügbaren Gänge enthalten, ist aber nicht darauf beschränkt. Weitere Abhilfsmaßnahmen einschließlich des Auslösens eines sichtbaren und/oder hörbaren Fehlerindikators werden ebenfalls erwartet, sind aber nicht darauf beschränkt.
  • Die ALU 18 führt an den Testwerten vorzeichenbehaftete und vorzeichenlose Operationen aus. Ein Byte kann Werte von 0 bis 255 annehmen, was hexadezimal (hex) $00 bis $FF oder binär 0000 0000 bis 1111 1111 ist. In vorzeichenlosen Operationen werden die Werte des Bytes als ganze Zahlen 0 bis 255 interpretiert. In typischen vorzeichenbehafteten Operationen, die Zweierkomplement genannt werden, gibt das höchstwertige Bit das Vorzeichen an. Zum Beispiel gibt 0 eine positive Zahl an, während 1 eine negative Zahl angibt. Im Ergebnis sind die Bytewerte $00 bis $7F (d. h. 0000 0000 bis 0111 1111) die ganzzahligen Werte 0 bis 127. Alternativ sind die Bytewerte $FF bis $80 (d. h. 1111 1111 bis 1000 0000) die ganzzahligen Werte -1 bis -128. Obgleich die im Folgenden ausführlich diskutierte ALU-Prüfung für Zweierkomplementoperationen bestimmt ist, kann jede durch den Fachmann auf dem Gebiet für andere Darstellungen negativer Zahlen (z. B. Einerkomplement) geändert werden.
  • Die in der vorstehenden Diskussion implementierten beispielhaften Testwerte enthalten $AAAA und $5555, die jeweils aus 2 Bytes, $AA bzw. $55, bestehen. Der Hex-Wert $AA (d. h. 1010 1010) ist vorzeichenlos gleich 170 und vorzeichenbehaftet gleich -86. Der Hex-Wert $5555 (d. h. 0101 0101) ist vorzeichenbehaftet und vorzeichenlos gleich 85. Somit ist für vorzeichenlose Operationen $AA größer als $55 (d. h. 170 > 85), während für vorzeichenbehaftete Operationen $AA kleiner als $55 (d. h. -86 < 85) ist. Außerdem wird angemerkt, dass $AAAA ein entgegengesetztes Bitmuster zu $5555 besitzt. Es ist klar, dass die Testwerte und die Anzahl ihrer Bytes dem Wesen nach beispielhaft sind. Insbesondere enthalten die beispielhaften Testwerte jeweils 2 Bytes, die aus 16 Bits bestehen. Anhand der Größe der Register können die Testwerte größer oder kleiner sein. Zum Beispiel können die Testwerte $AA und $55 verwendet werden, falls jedes Register nur 1 Byte speichern kann. Falls jedes Register 3 Bytes speichern kann, können die Testwerte $AAAAAA und $555555 verwendet werden.
  • Wie nun in 2 gezeigt ist, stellt eine ALU-Vergleichsprüfung die Funktionsfähigkeit der ALU 18 in Bezug auf Vergleichsoperationen sicher. In Schritt 200 wird i gleich 1 gesetzt. In Schritt 202 wird der Hex-Testwert $AAAA im Register R[i] gespeichert. In Schritt 204 wird j gleich i+1 gesetzt. In Schritt 206 wird der Hex-Testwert $5555 im Register R[j] gespeichert. In Schritt 208 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenlosen Operation, ob R[i] kleiner als R[j] ist. Falls R[i] kleiner als R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] nicht kleiner als R[j] ist, bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenlosen Operation in Schritt 212, ob R[i] kleiner oder gleich R[j] ist. Falls R[i] kleiner oder gleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] nicht kleiner oder gleich R[j] ist, wird die ALU-Prüfung in Schritt 214 fortgesetzt. In Schritt 211 wird eine Abhilfsmaßnahme begonnen und die ALU-Prüfung abgeschlossen.
  • In Schritt 214 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenbehafteten Operation, ob R[i] größer als R[j] ist. Falls R[i] größer als R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] nicht größer als R[j] ist, bestimmt die ALU-Prüfung in Schritt 216 unter Verwendung einer vorzeichenbehafteten Operation, ob R[i] größer oder gleich R[j] ist. Falls R[i] größer oder gleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] nicht größer oder gleich R[j] ist, wird die ALU-Prüfung in Schritt 218 fortgesetzt. In Schritt 218 bestimmt die ALU-Prüfung, ob R[i] gleich R[j] ist. Falls R[i] gleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] ungleich R[j] ist, bestimmt die ALU-Prüfung in Schritt 220, ob R[i] ungleich R[j] ist. Falls R[i] gleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] ungleich R[j] ist, wird R[j] in Schritt 222 gleich $AAAA gesetzt. In Schritt 224 bestimmt die ALU-Prüfung, ob R[i] gleich R[j] ist. Falls R[i] ungleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] gleich R[j] ist, bestimmt die ALU-Prüfung in Schritt 226, ob R[i] ungleich R[j] ist. Falls R[i] ungleich R[j] ist, wird in Schritt 210 ein Fehler angegeben. Falls R[i] gleich R[j] ist, wird die ALU-Prüfung in Schritt 228 fortgesetzt.
  • In Schritt 228 bestimmt die ALU-Prüfung, ob j gleich N ist. Falls j ungleich N ist, wird j um 1 inkrementiert und die ALU-Prüfung zu Schritt 206 zurückgeschleift. Auf diese Weise wird die ALU-Prüfung zwischen R[i] und allen anderen Registern über R[i] (d. h. R[i+1] bis R[N]) ausgeführt. Falls j gleich N ist, bestimmt die ALU-Prüfung in Schritt 232, ob i gleich N-1 ist. Falls i ungleich N-1 ist, wird i in Schritt 234 um 1 inkrementiert und die ALU-Prüfung zu Schritt 202 zurückgeschleift. Auf diese Weise wird die ALU-Prüfung zwischen allen Registern ausgeführt. Falls i gleich N-1 ist, sind alle Register geprüft worden, wobei die ALU-Prüfung abgeschlossen wird.
  • Nunmehr anhand von 3 stellt die ALU-Logikprüfung die Funktionsfähigkeit der ALU 18 in Bezug auf die logische UND-Operation sicher. In Schritt 300 wird i gleich 1 gesetzt. In Schritt 302 speichert die ALU-Prüfung $AAAA in R[i]. In Schritt 304 bestimmt die ALU-Prüfung, ob R[i] UND $5555 ungleich $0000 ist. Falls R[i] UND $5555 ungleich $0000 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $5555 gleich $0000 ist, bestimmt die ALU-Prüfung in Schritt 308, ob R[i] UND $AAAA ungleich $AAAA ist. Falls R[i] UND $AAAA ungleich $AAAA ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $AAAA gleich $AAAA ist, bestimmt die ALU-Prüfung in Schritt 310, ob R[i] UND $FFFF ungleich $AAAA ist. Falls R[i] UND $FFFF ungleich $AAAA ist, wird in Schritt 306 ein Fehler angegeben und in Schritt 307 eine Abhilfsmaßnahme begonnen. Falls R[i] UND $FFFF gleich $AAAA ist, bestimmt die ALU-Prüfung in Schritt 312, ob R[i] UND $0000 ungleich $0000 ist. Falls R[i] UND $0000 ungleich $0000 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $0000 gleich $0000 ist, wird die ALU-Prüfung in Schritt 314 fortgesetzt.
  • In Schritt 314 speichert die ALU-Prüfung $5555 in R[i]. In Schritt 316 bestimmt die ALU-Prüfung, ob R[i] UND $5555 ungleich $5555 ist. Falls R[i] UND $5555 ungleich $5555 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $5555 gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 318, ob R[i] UND $AAAA ungleich $0000 ist. Falls R[i] UND $AAAA ungleich $0000 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $AAAA gleich $0000 ist, bestimmt die ALU-Prüfung in Schritt 320, ob R[i] UND $FFFF ungleich $5555 ist. Falls R[i] UND $FFFF ungleich $5555 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $FFFF gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 322, ob R[i] UND $0000 ungleich $0000 ist. Falls R[i] UND $0000 ungleich $0000 ist, wird in Schritt 306 ein Fehler angegeben. Falls R[i] UND $0000 gleich $0000 ist, bestimmt die ALU-Prüfung in Schritt 324, ob i gleich N ist. Falls i ungleich N ist, wird i in Schritt 326 um 1 inkrementiert und die ALU-Prüfung zu Schritt 302 fortgesetzt. Falls i gleich N ist, wird die ALU-Prüfung abgeschlossen.
  • Nunmehr anhand von 4 stellt eine ALU-Logikprüfung die Funktionsfähigkeit der ALU 18 in Bezug auf die logische ODER-Operation sicher. In Schritt 400 wird i gleich 1 gesetzt. In Schritt 402 speichert die ALU-Prüfung $AAAA in R[i]. In Schritt 404 bestimmt die ALU-Prüfung, ob R[i] ODER $5555 ungleich $FFFF ist. Falls R[i] ODER $5555 ungleich $FFFF ist, wird in Schritt 406 ein Fehler angegeben, in Schritt 407 eine Abhilfsmaßnahme begonnen und die ALU-Prüfung abgeschlossen. Falls R[i] ODER $5555 gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 408, ob R[i] ODER $AAAA ungleich $AAAA ist. Falls R[i] ODER $AAAA ungleich $AAAA ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $AAAA gleich $AAAA ist, bestimmt die ALU-Prüfung in Schritt 410, ob R[i] ODER $FFFF ungleich $FFFF ist. Falls R[i] ODER $FFFF ungleich $FFFF ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $FFFF gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 412, ob R[i] ODER $0000 ungleich $AAAA ist. Falls R[i] ODER $0000 ungleich $AAAA ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $0000 gleich $AAAA ist, wird die ALU-Prüfung in Schritt 414 fortgesetzt.
  • In Schritt 414 speichert die ALU-Prüfung $5555 in R[i]. In Schritt 416 bestimmt die ALU-Prüfung, ob R[i] ODER $5555 ungleich $5555 ist. Falls R[i] ODER $5555 ungleich $5555 ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $5555 gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 418, ob R[i] ODER $AAAA ungleich $FFFF ist. Falls R[i] ODER $AAAA ungleich $FFFF ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $AAAA gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 420, ob R[i] ODER $FFFF ungleich $FFFF ist. Falls R[i] ODER $FFFF ungleich $FFFF ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $FFFF gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 422, ob R[i] ODER $0000 ungleich $5555 ist. Falls R[i] ODER $0000 ungleich $5555 ist, wird in Schritt 406 ein Fehler angegeben. Falls R[i] ODER $0000 gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 424, ob i gleich N ist. Falls i ungleich N ist, wird i in Schritt 426 um 1 inkrementiert und die ALU-Prüfung zu Schritt 402 zurückgeschleift. Falls i gleich N ist, wird die ALU-Prüfung abgeschlossen.
  • Nunmehr anhand von 5 stellt eine ALU-Logikprüfung die Funktionsfähigkeit der ALU 18 in Bezug auf die logische XOR-Operation sicher. In Schritt 500 wird i gleich 1 gesetzt. In Schritt 502 speichert die ALU-Prüfung $AAAA in R[i]. In Schritt 504 bestimmt die ALU-Prüfung, ob R[i] XOR $5555 ungleich $FFFF ist. Falls R[i] XOR $5555 ungleich $FFFF ist, wird in Schritt 506 ein Fehler angegeben, in Schritt 507 eine Abhilfsmaßnahme begonnen und die ALU-Prüfung abgeschlossen. Falls R[i] XOR $5555 gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 508, ob R[i] XOR $AAAA ungleich $0000 ist. Falls R[i] XOR $AAAA ungleich $0000 ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $AAAA gleich $0000 ist, bestimmt die ALU-Prüfung in Schritt 510, ob R[i] XOR $FFFF ungleich $5555 ist. Falls R[i] XOR $FFFF ungleich $5555 ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $FFFF gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 512, ob R[i] XOR $0000 ungleich $AAAA ist. Falls R[i] XOR $0000 ungleich $AAAA ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $0000 gleich $AAAA ist, wird die ALU-Prüfung in Schritt 514 fortgesetzt.
  • In Schritt 514 speichert die ALU-Prüfung $5555 in R[i]. In Schritt 516 bestimmt die ALU-Prüfung, ob R[i] XOR $5555 ungleich $0000 ist. Falls R[i] XOR $5555 ungleich $0000 ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $5555 gleich $0000 ist, bestimmt die ALU-Prüfung in Schritt 518, ob R[i] XOR $AAAA ungleich $FFFF ist. Falls R[i] XOR $AAAA ungleich $FFFF ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $AAAA gleich $FFFF ist, bestimmt die ALU-Prüfung in Schritt 520, ob R[i] XOR $FFFF ungleich $AAAA ist. Falls R[i] XOR $FFFF ungleich $AAAA ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $FFFF gleich $AAAA ist, bestimmt die ALU-Prüfung in Schritt 522, ob R[i] XOR $0000 ungleich $5555 ist. Falls R[i] XOR $0000 ungleich $5555 ist, wird in Schritt 506 ein Fehler angegeben. Falls R[i] XOR $0000 gleich $5555 ist, bestimmt die ALU-Prüfung in Schritt 524, ob i gleich N ist. Falls i ungleich N ist, wird i in Schritt 526 um 1 inkrementiert und die ALU-Prüfung zu Schritt 502 zurückgeschleift. Falls i gleich N ist, wird die ALU-Prüfung abgeschlossen.
  • Nunmehr anhand von 6 stellt eine ALU-Logikprüfung die Funktionsfähigkeit der ALU 18 in Bezug auf die logische NICHT-Operation sicher. In Schritt 600 setzt die ALU-Prüfung i gleich 1. In Schritt 602 speichert die ALU-Prüfung $AAAA in R[i]. In Schritt 604 bestimmt die ALU-Prüfung, ob NICHT R[i] ungleich $5555 ist. Falls NICHT R[i] ungleich $5555 ist, wird in Schritt 606 ein Fehler angegeben, in Schritt 607 eine Abhilfsmaßnahme begonnen und die ALU-Prüfung abgeschlossen. Falls NICHT R[i] gleich $5555 ist, wird in Schritt 608 $5555 in R[i] gespeichert. In Schritt 610 bestimmt die ALU-Prüfung ob NICHT R[i] ungleich $AAAA ist. Falls NICHT R[i] ungleich $AAAA ist, wird in Schritt 606 ein Fehler angegeben. Falls NICHT R[i] gleich $AAAA ist, wird die ALU-Prüfung in Schritt 612 fortgesetzt. In Schritt 612 bestimmt die ALU-Prüfung, ob i gleich N ist. Falls i ungleich N ist, wird i in Schritt 614 um 1 inkrementiert und die ALU-Prüfung zu Schritt 602 zurückgeschleift. Falls i gleich N ist, wird die ALU-Prüfung abgeschlossen.
  • Nunmehr anhand der 7A und 7B kann auf der Grundlage der oben beschriebenen ALU-Prüfung eine Anfangswert-Schlüssel-Prüfung entwickelt werden. Wie im Folgenden ausführlicher erläutert wird, ist klar, dass ein zweiter Prozessor implementiert sein kann, um die Anfangswerte (Seeds) zu erzeugen und den Schlüssel (Key) zu überprüfen. Die 7A und 7B veranschaulichen eine beispielhafte Anfangswert-Schlüssel basierte ALU-Prüfung, die für Vergleichsoperationen entwickelt wurde. Die beispielhaften Testwerte (z. B. $AAAA und $5555) werden durch zwei Anfangswerte, SEED1 bzw. SEED2, ersetzt. Der Schlüssel ist ein erwarteter Wert. Die ALU-Prüfung führt Vergleichsoperationen zwischen SEED1 und SEED2 aus und weist für jede ausgeführte Vergleichsoperation einzelnen Bits eines Ergebniswerts (RESULT) einen Wert zu. Die beispielhafte ALU-Prüfung der 7A und 7B enthält acht Vergleichsoperationen. Somit enthält RESULT für die beispielhafte ALU-Prüfung 8 Bits, BA bis BH. Falls jede der Vergleichsoperationen gültig ist, sind BA bis BH jeweils gleich 1, wobei RESULT gleich 1111 1111 ist. In diesem Fall ist KEY ebenfalls gleich 1111 1111, wobei kein Fehler angegeben wird, da RESULT gleich KEY ist. Falls irgendeine der Vergleichsoperationen ungültig ist, sind eines oder mehrere der Bits BA bis BH gleich 0, wobei RESULT eine 0 enthält. Da RESULT eine 0 enthält, ist RESULT ungleich KEY, der alles 1-en enthält, wobei ein Fehler angegeben wird.
  • Besonders anhand von 7A wird i in Schritt 700 gleich 1 gesetzt. In Schritt 702 wird SEED1 in R[i] gespeichert. In Schritt 704 wird j gleich i+1 gesetzt. In Schritt 706 wird SEED2 in R[j] gespeichert. In Schritt 708 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenlosen Operation, ob R[i] kleiner als R[j] ist. Falls R[i] kleiner als R[j] ist, gilt die Vergleichsoperation als gültig, wobei BA in Schritt 710 gleich 1 gesetzt wird. Falls R[i] ungleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BA in Schritt 712 gleich 0 gesetzt wird. In Schritt 714 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenlosen Operation, ob R[i] kleiner oder gleich R[j] ist. Falls R[i] kleiner oder gleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BA in Schritt 716 gleich 1 gesetzt wird. Falls R[i] nicht kleiner oder gleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BA in Schritt 718 gleich 0 gesetzt wird.
  • In Schritt 720 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenbehafteten Operation, ob R[i] größer als R[j] ist. Falls R[i] größer als R[j] ist, gilt die Vergleichsoperation als gültig, wobei BC in Schritt 722 gleich 1 gesetzt wird. Falls R[i] nicht größer als R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BC in Schritt 724 gleich 0 gesetzt wird. In Schritt 726 bestimmt die ALU-Prüfung unter Verwendung einer vorzeichenbehafteten Operation, ob R[i] größer oder gleich R[j] ist. Falls R[i] größer oder gleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BD in Schritt 728 gleich 1 gesetzt wird. Falls R[i] nicht größer oder gleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BD in Schritt 730 gleich 0 gesetzt wird.
  • In Schritt 732 bestimmt die ALU-Prüfung, ob R[i] gleich R[j] ist. Falls R[i] ungleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BE in Schritt 734 gleich 1 gesetzt wird. Falls R[i] gleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BE in Schritt 736 gleich 0 gesetzt wird. In Schritt 738 bestimmt die ALU-Prüfung ob R[i] ungleich R[j] ist. Falls R[i] ungleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BF in Schritt 740 gleich 1 gesetzt wird. Falls R[i] gleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BF in Schritt 742 auf 0 gesetzt wird.
  • In Schritt 744 wird SEED1 in R[j] gespeichert. In Schritt 746 bestimmt die ALU-Prüfung ob R[i] gleich R[j] ist. Falls R[i] gleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BG in Schritt 748 gleich 1 gesetzt wird. Falls R[i] ungleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BG in Schritt 750 gleich 0 gesetzt wird. In Schritt 752 bestimmt die ALU-Prüfung, ob R[i] ungleich R[j] ist. Falls R[i] gleich R[j] ist, gilt die Vergleichsoperation als gültig, wobei BH in Schritt 754 gleich 1 gesetzt wird. Falls R[i] ungleich R[j] ist, gilt die Vergleichsoperation als ungültig, wobei BH in Schritt 756 gleich 0 gesetzt wird. Von diesem Punkt an wird der Ablaufplan im Punkt X in 7B fortgesetzt.
  • In Schritt 758 bestimmt die ALU-Prüfung, ob RESULT gleich KEY ist. Falls RESULT ungleich KEY ist, wird in Schritt 760 ein Fehler angegeben, in Schritt 761 eine Abhilfsmaßnahme begonnen und die ALU-Prüfung abgeschlossen. Falls RESULT gleich KEY ist, bestimmt die ALU-Prüfung in Schritt 762, ob j gleich N ist. Falls j gleich N ist, wird die ALU-Prüfung in Schritt 764 fortgesetzt. Falls j ungleich N ist, wird j in Schritt 766 um 1 inkrementiert und die ALU-Prüfung im Punkt Y in 7A fortgesetzt, wobei sie zu Schritt 706 zurückgeschleift wird. In Schritt 764 bestimmt die ALU-Prüfung, ob i gleich N-1 ist. Falls i gleich N-1 ist, wird die ALU-Prüfung abgeschlossen. Falls i ungleich N-1 ist, wird i in Schritt 770 um 1 inkrementiert und die ALU-Prüfung im Punkt Z in 7A fortgesetzt, wobei sie zu Schritt 702 zurückgeschleift wird.
  • Zusammengefasst betrifft die Erfindung ein Verfahren zum Überprüfen der Funktionsfähigkeit einer Arithmetik-Logik-Einheit (ALU) eines Steuermoduls, das das Eingeben eines ersten Testwerts in eines von mehreren Registern der ALU und das Eingeben eines zweiten Testwerts in die verbleibenden Register der mehreren Register enthält. Zwischen dem einen der mehreren Register und jedem der verbleibenden Register wird eine erste Menge von Operationen ausgeführt, um eine erste Menge von Ergebnissen zu erzeugen. Wenn sich ein Ergebnis aus der ersten Menge der Ergebnisse von einem ersten vorgegebenen Ergebnis unterscheidet, wird ein Fehler angegeben.

Claims (32)

  1. Verfahren zum Überprüfen des Betriebs einer Arithmetik-Logik-Einheit (ALU) (18) eines Steuermoduls (10), wobei das Verfahren umfasst: Eingeben eines ersten Testwerts in eines von mehreren Registern (R1 bis RN) der ALU (18); Eingeben eines zweiten Testwerts in die verbleibenden Register der mehreren Register (R1 bis RN); Ausführen einer ersten Menge von Operationen zwischen dem einen der mehreren Register (R1 bis RN) und jedem der verbleibenden Register, um eine entsprechende erste Menge von Ergebnissen zu erzeugen; und Angeben eines Fehlers, wenn sich ein Ergebnis aus der ersten Menge von Ergebnissen von einem ersten vorgegebenen Ergebnis unterscheidet.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch Eingeben des ersten Testwerts in die verbleibenden Register; Ausführen einer zweiten Menge von Operationen zwischen dem einen der mehreren Register (R1 bis RN) und jedem der verbleibenden Register, um eine entsprechende zweite Menge von Ergebnissen zu erzeugen; und Angeben eines Fehlers, wenn sich ein Ergebnis aus der zweiten Menge von Ergebnissen von einem zweiten vorgegebenen Ergebnis unterscheidet.
  3. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die erste Menge von Operationen logische Operationen enthält.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  5. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die zweite Menge von Operationen logische Operationen enthält.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Menge von Operationen Vergleichsoperationen enthält.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  9. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die zweite Menge von Operationen Vergleichsoperationen enthält.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  11. Verfahren zum Überprüfen einer Betriebsfunktionsfähigkeit eines Steuermoduls (10), das die Register i bis N enthält, wobei das Verfahren umfasst: Eingeben eines ersten Testwerts in das Register i; Eingeben eines zweiten Testwerts in die Register i+1 bis N; Ausführen einer ersten Menge von Operationen zwischen dem Register i und jedem der Register i+1 bis N, um eine erste Menge von Ergebnissen zu erzeugen; und Angeben eines Fehlers, wenn sich ein Ergebnis aus der ersten Menge von Ergebnissen von einem vorgegebenen Ergebnis unterscheidet.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass i zwischen 1 und N variiert.
  13. Verfahren nach Anspruch 11, gekennzeichnet durch Eingeben des ersten Testwerts in die Register i+ 1 bis N; Ausführen einer zweiten Menge von Operationen zwischen dem Register i und jedem der Register i+1 bis N, um eine zweiten Menge von Ergebnissen zu erzeugen; und Angeben eines Fehlers, wenn sich ein Ergebnis aus der zweiten Menge von Ergebnissen von einem zweiten vorgegebenen Ergebnis unterscheidet.
  14. Verfahren nach Anspruch 11, gekennzeichnet durch das Inkrementieren von i um 1.
  15. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die erste Menge von Operationen logische Operationen enthält.
  16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  17. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die zweite Menge von Operationen logische Operationen enthält.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  19. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die erste Menge von Operationen Vergleichsoperationen enthält.
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  21. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die zweite Menge von Operationen Vergleichsoperationen enthält.
  22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  23. Verfahren zum Überprüfen der Funktionsfähigkeit einer Arithmetik-Logik-Einheit (ALU) (18) eines Steuermoduls (10), das die Register 1 bis N enthält, wobei das Verfahren umfasst: Eingeben eines ersten Anfangswerts in eines von mehreren Registern (R1 bis RN) der ALU (18); Eingeben eines zweiten Anfangswerts in die verbleibenden Register der mehreren Register (R1 bis RN); Ausführen einer ersten Menge von Operationen zwischen dem einen der mehreren Register (R1 bis RN) und jedem der verbleibenden Register, um eine erste Menge von Ergebnissen zu erzeugen; Setzen eines Bits einer Ergebniszeichenkette anhand eines jeden der ersten Menge von Ergebnissen; Angeben eines Fehlers, wenn sich die Ergebniszeichenkette von einem Schlüssel unterscheidet.
  24. Verfahren nach Anspruch 23 gekennzeichnet durch Eingeben des ersten Anfangswerts in die verbleibenden Register; und Ausführen einer zweiten Menge von Operationen zwischen dem einen der mehreren Register (R1 bis RN) und jedem der verbleibenden Register, um eine zweite Menge von Ergebnissen zu erzeugen.
  25. Verfahren nach Anspruch 23, dadurch gekennzeichnet, dass die erste Menge von Operationen logische Operationen enthält.
  26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  27. Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass die zweite Menge von Operationen logische Operationen enthält.
  28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass die logischen Operationen wenigstens eine logische Operation aus einer Gruppe enthalten, die aus UND, ODER, XOR und NICHT besteht.
  29. Verfahren nach Anspruch 23, dadurch gekennzeichnet, dass die erste Menge von Operationen Vergleichsoperationen enthält.
  30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
  31. Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass die zweite Menge von Operationen Vergleichsoperationen enthält.
  32. Verfahren nach Anspruch 31, dadurch gekennzeichnet, dass die Vergleichsoperationen wenigstens eine Vergleichsoperation aus einer Gruppe enthalten, die aus gleich (=), ungleich (≠), kleiner als (<), kleiner oder gleich (≤), größer als (>) und größer oder gleich (≥) besteht.
DE102005037403.4A 2004-08-13 2005-08-08 Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls Expired - Fee Related DE102005037403B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/918,621 US7600161B2 (en) 2004-08-13 2004-08-13 Method of verifying integrity of control module arithmetic logic unit (ALU)
US10/918,621 2004-08-13

Publications (2)

Publication Number Publication Date
DE102005037403A1 true DE102005037403A1 (de) 2006-03-09
DE102005037403B4 DE102005037403B4 (de) 2019-02-07

Family

ID=35801414

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005037403.4A Expired - Fee Related DE102005037403B4 (de) 2004-08-13 2005-08-08 Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls

Country Status (2)

Country Link
US (1) US7600161B2 (de)
DE (1) DE102005037403B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007040554B4 (de) 2006-08-31 2018-04-05 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verteilte Sicherheitsprüfung für Arithmetik-Logik-Einheit

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366597B2 (en) * 2005-07-22 2008-04-29 Gm Global Technology Operations, Inc. Validating control system software variables
US8818676B2 (en) * 2006-05-02 2014-08-26 GM Global Technology Operations LLC Redundant Torque Security Path
US8386101B2 (en) * 2007-11-07 2013-02-26 GM Global Technology Operations LLC Detecting program flow fault in torque security software for hybrid vehicle electric drive system
US20090125171A1 (en) * 2007-11-08 2009-05-14 Gm Global Technology Operations, Inc. Processor security diagnostics for hybrid vehicle electric motor control system
US8831821B2 (en) 2010-12-17 2014-09-09 GM Global Technology Operations LLC Controller area network message transmission disable testing systems and methods
US9122662B2 (en) 2011-06-01 2015-09-01 James Mason Faucett Processor safety test control systems and methods
CN103424683A (zh) * 2012-05-18 2013-12-04 鸿富锦精密工业(深圳)有限公司 主板测试系统及方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3883801A (en) * 1973-11-07 1975-05-13 Bell Telephone Labor Inc Fault testing of logic circuits
US4313200A (en) * 1978-08-28 1982-01-26 Takeda Riken Kogyo Kabushikikaisha Logic test system permitting test pattern changes without dummy cycles
JPS55128641A (en) * 1979-03-23 1980-10-04 Nissan Motor Co Ltd Controlling system for vehicle
JPS5810246A (ja) * 1981-07-13 1983-01-20 Nissan Motor Co Ltd 車両用ディジタル制御装置
JPS5933700A (ja) * 1982-08-18 1984-02-23 Toshiba Corp メモリ内容チエツク方式
US4618956A (en) * 1983-09-29 1986-10-21 Tandem Computers Incorporated Method of operating enhanced alu test hardware
EP0255118B1 (de) * 1986-07-30 1999-06-09 Hitachi, Ltd. Mustergenerator
US5469443A (en) * 1993-10-01 1995-11-21 Hal Computer Systems, Inc. Method and apparatus for testing random access memory
US5619512A (en) * 1993-11-08 1997-04-08 Nippondenso Co., Ltd. Integrated circuit having self-testing function
JP2820016B2 (ja) * 1993-12-28 1998-11-05 日本電気株式会社 電子回路
US5677913A (en) * 1996-07-01 1997-10-14 Sun Microsystems, Inc. Method and apparatus for efficient self testing of on-chip memory
US5854939A (en) 1996-11-07 1998-12-29 Atmel Corporation Eight-bit microcontroller having a risc architecture
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US5954831A (en) * 1997-10-08 1999-09-21 Ects Inc. Method for testing a memory device
US6098182A (en) * 1997-12-19 2000-08-01 Micron Electronics, Inc. Apparatus for monitoring tests run on a personal computer
US6427160B1 (en) * 1999-08-10 2002-07-30 Sun Microsystems, Inc. Method and system for testing floating point logic
US7028170B2 (en) * 2000-03-08 2006-04-11 Sun Microsystems, Inc. Processing architecture having a compare capability
DE10041137A1 (de) 2000-08-21 2002-03-21 Philips Corp Intellectual Pty Anordnung zum Testen von integrierten Schaltkreisen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007040554B4 (de) 2006-08-31 2018-04-05 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verteilte Sicherheitsprüfung für Arithmetik-Logik-Einheit

Also Published As

Publication number Publication date
US20060036911A1 (en) 2006-02-16
US7600161B2 (en) 2009-10-06
DE102005037403B4 (de) 2019-02-07

Similar Documents

Publication Publication Date Title
DE102005037403A1 (de) Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls
EP0067301B1 (de) Einrichtung zur Erzeugung von Prüfbits zur Sicherung eines Datenwortes
DE112006002842B4 (de) Speicher-Diagnose-Vorrichtung
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
EP0799143B1 (de) Verfahren und schaltungsanordnung zur überwachung der funktion einer programmgesteuerten schaltung
DE3723121C2 (de)
WO2005001690A2 (de) Verfahren zur überwachung des programmlaufs in einem mikro-computer
DE102011102888A1 (de) Konfigurierbare Testreihe
DE69817852T2 (de) Speicherschutzsystem für ein multitaskingsystem
EP0031025B1 (de) Fehlererkennungs- und -korrektureinrichtung für eine logische Anordnung
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE3138989A1 (de) Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb
DE102007026934B4 (de) System und Verfahren zur Ausfalldetektion eines Sensors, insbesondere eines Winkelsensors, einer aktiven Frontlenkung in einem System mit mehreren Sensoren, insbesondere Winkelsensoren
DE10328059A1 (de) Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
DE102018210733A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
DE69725808T2 (de) Mikrorechner mit Selbstprüfungseinheit
DE10311250A1 (de) Mikroprozessorsystem und Verfahren zum Schützen des Systems vor dem Austausch von Bausteinen
EP0135009A2 (de) Die Erfindung bezieht sich auf eine Anordnung und ein Verfahren zum Prüfen eines Mikroprozessorsystem
EP1246066B1 (de) Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE19502828C2 (de) Testmustergenerator für ein Halbleiterschaltungs-Testgerät
DE102018219700B4 (de) Steuervorrichtung
DE2026815C3 (de) Einrichtung zur Fehlerabspeicherung in einer Datenverarbeitungsanlage
DE2505475C3 (de) Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen
DE4100751A1 (de) Porterweiterungsanordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8180 Miscellaneous part 1

Free format text: PFANDRECHT

8180 Miscellaneous part 1

Free format text: PFANDRECHT AUFGEHOBEN

8180 Miscellaneous part 1

Free format text: PFANDRECHT

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee