DE102013202140A1 - Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers - Google Patents

Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers Download PDF

Info

Publication number
DE102013202140A1
DE102013202140A1 DE201310202140 DE102013202140A DE102013202140A1 DE 102013202140 A1 DE102013202140 A1 DE 102013202140A1 DE 201310202140 DE201310202140 DE 201310202140 DE 102013202140 A DE102013202140 A DE 102013202140A DE 102013202140 A1 DE102013202140 A1 DE 102013202140A1
Authority
DE
Germany
Prior art keywords
logarithm
determined
product
factor
mantissa
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.)
Pending
Application number
DE201310202140
Other languages
English (en)
Inventor
Alexander Uhl
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE201310202140 priority Critical patent/DE102013202140A1/de
Priority to CN201410044902.5A priority patent/CN103984519B/zh
Priority to US14/176,785 priority patent/US9612796B2/en
Publication of DE102013202140A1 publication Critical patent/DE102013202140A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Verfahren zum Berechnen eines Fehlersignals (e), welches eine Diagnose der Korrektheit eines von einem ersten Multipliziermittel (100) ermittelten Produkts (Z) eines ersten Faktors (X) und eines zweiten Faktors (Y) ermöglicht, wobei das Fehlersignal (e) mittels eines Differenzmittels (207) als Differenz eines Summenlogarithmus (S) und eines Produktlogarithmus (P) ermittelt wird, wobei der Produktlogarithmus (P) mittels eines ersten Logarithmiermittels (205) als ein Logarithmus des Absolutbetrags des von dem ersten Multipliziermittel (100) ermittelten Produkts (Z) ermittelt wird, wobei der Summenlogarithmus (S) von einem Summationsmittel (208) als Summe eines ersten Exponenten (Xshift) und eines zweiten Exponenten (Yshift) und eines Mantissenlogarithmus (L) ermittelt wird, wobei der Mantissenlogarithmus (L) mittels eines zweiten Logarithmiermittels (204) als ein Logarithmus des Absolutbetrags eines Mantissenprodukts (W) ermittelt wird, wobei das Mantissenprodukt (W) mittels eines zweiten Multipliziermittels (203) als Produkt einer ersten approximierten normalisierten Mantisse (XNorm) und einer zweiten approximierten normalisierten Mantisse (YNorm) ermittelt wird, wobei die erste approximierte normalisierte Mantisse (XNorm) mittels eines ersten Normierungsmittels (200) als eine Approximation der normalisierte Mantisse der Gleitkommadarstellung des ersten Faktors (X) zu einer Basis (b) ermittelt wird, wobei der erste Exponent (XShift), der in dieser Gleitkommadarstellung des ersten Faktors (X) zu dieser Basis (b) gehörige Exponent ist, und wobei die zweite normalisierte Mantisse (YNorm) mittels eines zweiten Normierungsmittels (201) als eine approximierte normalisierte Mantisse der Gleitkommadarstellung des zweiten Faktors (Y) zur Basis (b) ermittelt wird, wobei der zweite Exponent (YShift), der in dieser Gleitkommadarstellung des zweiten Faktors (Y) zu dieser Basis (b) gehörige Exponent ist.

Description

  • Stand der Technik
  • Aufgrund von kleiner werdenden ASIC-Strukturen und sinkenden Betriebsspannungen stellen transiente Fehler in digitaler Elektronik eine zunehmende Herausforderung dar. Beim Einsatz in sicherheitskritischen Systemen müssen sowohl transiente Fehler als auch permanente Fehler erkannt werden. Digitale Multiplizierer oder Quadrierer sind Bestandteil vieler elektronischer Schaltungen und müssen daher auf beide Arten von Fehlern überprüft werden.
  • Zur Absicherung von Multiplizierern oder Quadrierern sind mehrere Verfahren möglich. Ein mögliches Konzept basiert auf Redundanz: Die Operation der Multiplikation wird mehrfach ausgeführt (entweder zeitlich hintereinander oder parallel auf mehreren Multiplikationswerken) und die Ergebnisse werden miteinander verglichen. Der Hardware- bzw. Zeit-Aufwand bei dieser Methode ist dementsprechend sehr hoch.
  • Ein weiteres mögliches Konzept nutzt Parity-Checking bzw. Parity-Prediction. Ausgehend von den Paritäten der beiden Operanden der Multiplikation wird eine Vorhersage über die Parität des Ergebnisses gemacht. Nachteil dieser Methode ist, dass einzelne Fehler, welche mehrfache Auswirkungen im Ergebniswort haben, nicht immer detektierbar sind.
  • Ein weiteres mögliches Konzept nutzt Residue-Code-Checking: Ähnlich wie beim Ansatz auf Basis der ”Parity-Prediction” wird ausgehend von einer Eigenschaft der beiden Operanden (dem Residuum) eine Vorhersage über das Residuum des Ergebnisses gemacht. Das Residuum ist der ganzzahlige Rest, welcher entsteht, wenn man eine Zahl ganzzahlig durch eine andere Zahl (den sog. Modulus) teilt.
  • Darüber hinaus sind weitere Methoden möglich, wie z. B. Einsatz von Berger-Codes, Two-Rail- oder Three-Rail-Encoding, welche zur Überwachung eingesetzt werden können.
  • Offenbarung der Erfindung
  • Eine weitere Methode basiert auf dem Prinzip des Logarithmic-Checking: Hierbei wird die Rechenregel für Logarithmen benutzt (log2 bezeichnet im Folgenden den Logarithmus zur Basis 2, auch als Logarithmus Dualis bekannt): log 2(x·y) = log2(x) + log2(y) (1)
  • Zur Absicherung des Ergebnisses eines Multiplizierers wird die Differenz der linken und der rechten Seite der Formel (1) gebildet. Diese Differenz ist im Fall der fehlerfreien Multiplikation und im Fall der exakten Berechnung der log2-Funktionswerte gleich 0. Da für die Berechnung der log2-Funktionswerte in der Praxis Approximationsverfahren eingesetzt werden, ist die Differenz allerdings nicht exakt 0, sondern bewegt sich im Bereich um 0. Für die Absicherung des Multiplizierers bedeutet dies, dass falsche Ergebnisse erst erkannt werden, wenn sie einen bestimmten prozentualen, auf das korrekte Ergebnis bezogenen, Bereich über- bzw. unterschreiten. Dieser Bereich hängt von der Genauigkeit der Approximationsverfahren ab. Die Berechnung der log2-Funktionswerte lässt sich beispielsweise durch die Mitchell-Approximation realisieren. Die Mitchell-Approximation gibt für reelle Eingangswerte im rechts offenen Intervall [1,2) eine Näherung für den log2 an: log2(1 + f) ≈ f mit 0 ≤ f < 1 (2)
  • Da sich jede Zahl T >= 1 als Produkt einer 2er-Potenz und einer reellen Zahl im Intvervall [1,2) ausdrücken läßt, kann man auch hier für die Berechnung des Iog2(T) die Mitchell-Approximation einsetzen: log2(T) = log2(2k·(1 + f)) = log2(2k) + log2(1 + f) = k + log2(1 + f) ≈ k + f (3)
  • Es gibt effiziente digitale Schaltungen, welche zur Berechnung von log2-Funktionswerten von Unsigned-Zahlen die oben dargestellte Mitchell-Approximation einsetzen.
  • Ausgehend von diesem Prinzip der Absicherung (das analog auch für Logarithmen einer anderen Basis gilt) ist in einem ersten Aspekt der Erfindung vorgesehen, ein Verfahren zum Berechnen eines Fehlersignals bereitzustellen, welches eine Diagnose der Korrektheit eines von einem ersten Multipliziermittel ermittelten Produkts eines ersten Faktors und eines zweiten Faktors ermöglicht. D. h. mit Hilfe dieses erfindungsgemäß ermittelten Fehlersignals ist es möglich, zu diagnostizieren, ob die Multiplikation des ersten Multipliziermittels korrekt war, oder fehlerhaft. Korrektheit der Multiplikation bedeutet hierbei, dass das Ergebnis der Multiplikation innerhalb bestimmter prozentualer Grenzen um den wahren Multiplikationswert liegt.
  • Erfindungsgemäß ist hierbei vorgesehen, dass das Fehlersignal mittels eines Differenzmittels als Differenz eines Summenlogarithmus und eines Produktlogarithmus ermittelt wird. Der Produktlogarithmus wird hierbei mittels eines ersten Logarithmiermittels als ein Logarithmus des Absolutbetrags des, von dem ersten Multipliziermittel ermittelten, Produkts ermittelt.
  • Es ist ferner vorgesehen, dass der Summenlogarithmus von einem Summationsmittel als Summe eines ersten Exponenten und eines zweiten Exponenten und eines Mantissenlogarithmus ermittelt wird. Der Mantissenlogarithmus wird hierbei mittels eines zweiten Logarithmiermittels als ein Logarithmus des Absolutbetrags eines Mantissen produkts ermittelt, wobei das Mantissenprodukt mittels eines zweiten Multipliziermittels als Produkt einer ersten approximierten normalisierten Mantisse und einer zweiten approximierten normalisierten Mantisse ermittelt wird.
  • Die erste approximierte normalisierte Mantisse wird hierbei mittels eines ersten Normierungsmittels als eine Approximation der normalisierten Mantisse der Gleitkommadarstellung des ersten Faktors zu einer Basis b ermittelt, wobei der erste Exponent der, in dieser Gleitkommadarstellung des ersten Faktors, zu dieser Basis b gehörige Exponent ist. D. h. der erste Exponent und die normalisierte Mantisse werden so bestimmt, dass sie (bis auf das Vorzeichen) die Gleitkommadarstellung des ersten Faktors zur Basis b ergeben. Die normalisierte Mantisse wird hierbei vorteilhafterweise so gewählt, dass gilt: 1 ≤ normalisierte Mantisse < b.
  • Analog wird die zweite normalisierte Mantisse mittels eines zweiten Normierungsmittels als eine Approximation der normalisierten Mantisse der Gleitkommadarstellung des zweiten Faktors zur Basis b ermittelt, wobei der zweite Exponent der, in dieser Gleitkommadarstellung des zweiten Faktors, zu dieser Basis b gehörige Exponent ist.
  • Wird das Fehlersignal mit diesem Verfahren ermittelt, hat das dies den besonderen Vorteil, dass bereits kleine prozentuale Verfälschungen des Multiplikationsergebnisses erkannt werden können.
  • In einem besonders vorteilhaften, weiteren Aspekt wird die erste approximierte normalisierte Mantisse als die, auf eine erste vorgebbare Wortbreite beschränkte, Approximation der normalisierten Mantisse der Gleitkommadarstellung des ersten Faktors ermittelt. Das heißt, die Approximation sieht vor, die Genauigkeit der normalisierten Mantisse zu limitieren. Dies macht das Verfahren besonders effizient.
  • In einem besonders vorteilhaften, weiteren Aspekt wird die zweite approximierte normalisierte Mantisse analog als die, auf eine zweite vorgebbare Wortbreite beschränkte, Approximation der normalisierten Mantisse der Gleitkommadarstellung des zweiten Faktors ermittelt, was die Effizienz des Verfahrens ebenfalls steigert. Diese beiden Maßnahmen können auch kombiniert werden.
  • In einer besonders vorteilhaften Weiterbildung ist vorgesehen, dass die erste vorgebbare Wortbreite kleiner ist als die Wortbreite des ersten Faktors. Dies bewirkt weiter eine besondere Effizienz des Verfahrens.
  • Analog kann mit den gleichen Vorteilen vorgesehen sein, dass die zweite vorgebbare Wortbreite kleiner ist als die Wortbreite des zweiten Faktors.
  • In einer besonders vorteilhaften Weiterbildung kann vorgesehen sein, dass die erste vorgebbare Wortbreite gleich der zweiten vorgebbaren Wortbreite ist. Dies führt zu einer besonders genauen Darstellung bei gegebener Größe des zweiten Multipliziermittels.
  • In einem weiteren besonders vorteilhaften Aspekt wird der Produktlogarithmus als der Logarithmus Dualis des Absolutbetrags des Ergebnisses des ersten Multipliziermittels, also des Produkts des ersten Faktors und des zweiten Faktors, ermittelt, der Mantissenlogarithmus als der Logarithmus Dualis des Absolutbetrags des Mantissenprodukts ermittelt, und die Basis b der Gleitkommadarstellung des ersten und des zweiten Faktors zu 2 gewählt. Hierdurch wird das Verfahren besonders effizient, da sich beispielsweise die zur Bestimmung der Mantissenwerte notwendigen Multiplikationen mit der Basis b bzw. Divisionen durch die Basis b besonderes einfach durch Bit-Shift-Operationen implementieren lassen.
  • In einem weiteren besonders vorteilhaften Aspekt ist vorgesehen, dass das zweite Logarithmiermittel den Mantissenlogarithmus durch die bekannte Mitchell-Approximation ermittelt, die ein besonders effizientes Näherungsverfahren zur Berechnung des Logarithmus Dualis darstellt.
  • Analog kann in einem weiteren besonders vorteilhaften Aspekt vorgesehen sein, dass dass erste Logarithmiermittel den Produktlogarithmus durch die Mitchell-Approximation ermittelt.
  • In einem weiteren besonders vorteilhaften Aspekt der Erfindung ist ein Verfahren zum Ermitteln eines Fehlers des ersten Multipliziermittels vorgesehen, bei dem abhängig von dem, nach einem der vorherigen Ansprüche ermittelten, Fehlersignal mittels eines Entscheidungsmittels ermittelt wird, ob das von dem ersten Multipliziermittel ermittelte Produkt des ersten Faktors und des zweiten Faktors korrekt ist.
  • Auf besonders einfache Weise kann hierbei entschieden werden, dass das Produkt nicht korrekt ist, wenn das Fehlersignal kleiner ist als ein vorgebbarer unterer Schwellenwert, oder wenn das Fehlersignal größer ist als ein vorgebbarer oberer Schwellenwert.
  • Das erfindungsgemäße Verfahren, wie bisher beschrieben, lässt die Vorzeichen des ersten Faktors bzw. des zweiten Faktors noch außer Betracht. In einer besonders vorteilhaften Weiterbildung kann vorgesehen werden, dass ein erstes Vorzeichen des ersten Faktors ermittelt wird und dass ein zweites Vorzeichen des zweiten Faktors ermittelt wird und dass ein drittes Vorzeichen des Produkts, das von der ersten Multipliziereinheit ermittelt wird, ermittelt wird, und dass darauf entschieden wird, dass das Produkt nicht korrekt ist, wenn das Produkt aus erstem Vorzeichen und zweitem Vorzeichen nicht dem dritten Vorzeichen entspricht. Hierdurch kann das erfindungsgemäße Verfahren auch das Vorzeichen, das von der ersten Multipliziereinheit geliefert wird, auf Richtigkeit überprüfen.
  • Eine solche Multiplikation von erstem Vorzeichen und zweitem Vorzeichen kann besonders effizient durch eine XOR-Verknüpfung von erstem Vorzeichen und zweitem Vorzeichen realisiert werden.
  • In einer weiteren besonders vorteilhaften Ausführungsform sind Vorrichtungen vorgesehen, die das erfindungsgemäße Verfahren durchführen können.
  • In einer ersten Ausführungsform ist eine Vorrichtung zur Durchführung aller Schritte eines der Verfahen zur Bestimmung des Fehlersignals vorgesehen. Eine solche Vorrichtung umfasst vorteilhafterweise das erste Normierungsmittel, das zweite Normierungsmittel, das zweite Multipliziermittel, das erste Logarithmiermittel, das zweite Logarithmiermittel, das Differenzmittel und das Summationsmittel.
  • In einer besonders vorteilhaften Weiterbildung umfasst eine solche Vorrichtung auch das erste Multiplikationsmittel, und stellt somit eine besonders gut diagnostizierbare Multiplikationseinheit dar.
  • In einem weiteren vorteilhaften Aspekt der Erfindung ist eine Diagnosevorrichtung zur Durchführung eines der genannten Verfahren zur Diagnose des ersten Multipliziermittels vorgesehen. Diese Diagnosevorrichtung umfasst vorteilhafterweise das erste Normierungsmittel, das zweite Normierungsmittel, das zweite Multipliziermittel, das erste Logarithmiermittel, das zweite Logarithmiermittel, das Entscheidungsmittel, das Differenzmittel und das Summationsmittel.
  • In einer weiteren vorteilhaften Weiterbildung umfasst eine solche Vorrichtung auch das erste Multiplikationsmittel, und stellt somit eine Multiplikationseinheit, die Fehler selbst diagnostizieren kann, dar.
  • Diese Vorrichtungen können als Software odere auch als Hardwareschaltungen oder als eine Mischform aus Software und Hardware realisiert sein.
  • Die Figuren zeigen besonders vorteilhafte Ausführungsformen der Erfindung. Es zeigen:
  • 1 Eine Anordnung, die illustriert, wie Formel (1) zur Überprüfung eingesetzt werden kann;
  • 2 Eine Anordnung, die das erfindungsgemäße Verfahren illustriert.
  • Beschreibung der Ausführungsbeispiele
  • Eine Anordnung, welche Formel (1) zur Überprüfung einsetzt, ist in 1 dargestellt. Dargestellt ist die erste Multipliziereinheit 100, ein erstes Logarithmiermittel 103, ein zweites Logarithmiermittel 101, und ein drittes Logarithmiermittel 102. Der erste Faktor X wird dem zweiten Logarithmiermittel 101 und einem ersten Eingang der ersten Multipliziereinheit 100 zugeführt, der zweite Faktor Y wird dem dritten Logarithmiermittel 102 und einem zweiten Eingang der ersten Multipliziereinheit 100 zugeführt. Die erste Multipliziereinheit stellt an ihrem Ausgang das Produkt Z = X·Y der, an ihren beiden Eingängen, anliegenden Werte dar. Dieses Produkt Z wird dem ersten Logarithmiermittel 103 zugeführt.
  • Die Ausgänge von zweitem Logarithmiermittel 101 und drittem Logarithmiermittel 102 werden addiert, von ihnen wird der Ausgang des ersten Logarithmiermittels 103 subtrahiert und ergeben somit ein Ausgangssignal A.
  • Im fehlerfreien Fall und wenn die Logarithmen näherungsweise exakt berechnet werden können, ist das Ausgangssignal A näherungsweise gleich 0. Da die näherungsweise exakte Berechnung des Logarithmus entweder sehr großen Hardware-Aufwand bedeutet oder aber iterativ geschieht, was im Anwendungsfall nicht gewünscht ist, werden zur Berechnung normalerweise aufwandsarme Approximationen, wie z. B. die Mitchell-Approximation, eingesetzt.
  • Durch die Approximationen wird bei der Berechnung der Ausgänge des zweiten Logarithmiermittels 101, des dritten Logarithmiermittels 102 und des ersten Logarithmiermittels 103 jeweils ein Fehler gemacht. Durch diese Fehler kann das Ausgangssignal A auch im fehlerfreien Fall ungleich Null sein.
  • Das Ausgangssignal A bewegt sich somit im fehlerfreien Fall innerhalb bestimmter, von den Approximationsverfahren abhängiger, bekannter Grenzen. Je näher diese Grenzen beieinander liegen, desto kleinere prozentuale Verfälschungen des Produktes Z können detektiert werden. Nachteilig an der Absicherungsmethode ist, dass die, durch Approximationsverfahren berechneten, Logarithmen von erstem Faktor X und zweitem Faktor Y addiert werden. Da bei beiden Logarithmus-Berechnungen jeweils ein Fehler gemacht wird, addieren sich diese Fehler somit. Diese Fehler führen dazu, dass der Wertebereich, innerhalb dessen sich das Ausgangssignals A im fehlerfreien Fall bewegt, relativ groß ist. Da die Größe des Wertebereichs die prozentuale Abweichung des Ergebnisses bestimmt, ab welcher ein Fehler detektiert werden kann, wird somit die Fehlererkennung erst ab größeren prozentualen Abweichungen möglich.
  • 2 zeigt ein Blockschaltbild, mit dem es besser möglich ist, alle Fehler, welche das Ergebnis über bekannte Grenzen (prozentual auf das Ergebnis bezogen) hinaus verfälschen, zu erkennen.
  • Dargestellt ist erneut das erste Multipliziermittel 100, beispielsweise ein Digitalmultiplizierer, dessen Eingängen der erste Faktor X und der zweite Faktor Y zugeführt werden und an dessen Ausgang das Produkt Z = X·Y ausgegeben wird.
  • Im Folgenden wird die Absicherung eines Unsigned-Multiplizierers mit N-Bit Eingangswortbreite betrachtet. Dies stellt allerdings keine Einschränkung dar, da im Falle eines Signed-Multiplizierers beispielsweise der erste Faktor X, der zweite Faktor Y und das Produkt Z durch Betragsbildung positiv gemacht werden können und folglich die Absicherungsmethode dann ebenfalls angewandt werden kann. Die Richtigkeit der Vorzeichen kann vorteilhafterweise in diesem Falle allerdings zusätzlich geprüft werden.
  • Ebenso muss die Wortbreite des ersten Faktors X und die Wortbreite des zweiten Faktors Y nicht gleich groß sein. Beispielsweise kann die Wortbreite des ersten Faktors 16 Bit, die Wortbreite des zweiten Faktors 8 Bit betragen.
  • Im Folgenden wird das Vorgehen durchgehend zur Basis 2 beschrieben. Es ist jedoch für den Fachmann völlig offensichtlich, wie sich das beschriebene Vorgehen auf jede andere Basis, beispielsweise 4 oder 10, übertragen lässt.
  • Die Erfindung geht von der Erkenntnis aus, dass sich jede Unsigned-Zahl K durch Ausklammern der nächstgelegenen Zweierpotenz, welche kleiner oder gleich K ist, als Produkt zweier Zahlen ausdrücken lässt. Dabei ist der eine Faktor die Zweier-Potenz, der andere eine Kommazahl im Intervall [1...2), d. h. es gilt: 1 ≤ Kommazahl < 2. Die Kommazahl wird auch als normalisierte Mantisse bezeichnet. Die Zweier-Potenz sei mit
    Figure DE102013202140A1_0002
    bezeichnet, die Kommazahl, also der normierte Wert, mit KNormExakt. Technisch gesehen, kann diese normierte Darstellung der Zahl beispielsweise dadurch gefunden werden, indem das Eingangswort K solange aufeinanderfolgend durch 2 dividiert wird, bis das Ergebnis sich im Intervall [1...2) bewegt. KShift gibt dann die Anzahl der, zur Normierung notwendigen, Divisionen durch 2 an. Die Division einer Zahl bzw. eines Wortes durch 2 lässt sich beispielweise durch eine Rechts-Schiebe-Operation des Wortes realisieren. Der Zusammenhang zwischen der N-Bit Unsigned-Zahl K und der normierten Darstellung ist in Formel (4) dargestellt.
  • Figure DE102013202140A1_0003
  • Der normierte Wert KNormExakt kann maximal N – 1 Nachkommastellen besitzen. Man kann diesen Wert durch Abschneiden der niederwertigen Nachkommastellen approximieren, was einer Abrundung entspricht. Das Ergebnis der Abrundung von KNormExakt durch Abschneiden nach der (m – 1)-ten Nachkommastelle wird mit KNorm bezeichnet und weist verglichen mit KNormExakt eine verringerte Wortbreite, nämlich m Bit, auf (siehe Formel (5)).
  • Figure DE102013202140A1_0004
  • Die Nachkommastelle m – 1, nach welcher abgeschnitten wird, bestimmt die Wortbreite, die im Folgenden auch als vorgebbare Wortbreite m bezeichnet wird.
  • Wie in 2 weiter dargestellt, wird der erste Faktor X dem ersten Normierungsmittel 200 zugeführt, der zweite Faktor Y dem zweiten Normierungsmittel 201.
  • Das erste Normierungsmittel 200 bzw. das zweite Normierungsmittel 201 realisieren die Normierung für die den ersten Faktor X bzw. den zweiten Faktor Y so, wie sie oben dargestellt wurde. Das erste Normierungsmittel 200 hat die erste approximierte normalisierte Mantisse (normierte, approximierte Darstellung) XNorm und die Anzahl der zur Normierung notwendigen Rechts-Schiebe-Operationen (Divisionen durch die Basis 2) XShift, also den ersten Exponenten, als Ausgang. Analog hat das zweite Normierungsmittel 201 die zweite approximierte normalisierte Mantisse (normierte, abgerundete Darstellung) YNorm und die Anzahl der zur Normierung notwendigen Rechts-Schiebe-Operationen (Divisionen durch die Basis 2) YShift, also den zweiten Exponenten, als Ausgang.
  • Das erste Normierungsmittel 200 und das zweite Normierungsmittel 201 müssen die erste approximierte normalisierte Mantisse XNorm bzw. die zweite approximierte normalisierte Mantisse YNorm nicht unbedingt auf die gleiche vorgebbare Wortbreite m beschränken. Ebenso ist es möglich, dass das erste Normierungsmittel 200 die erste approximierte normalisierte Mantisse XNorm auf eine erste vorgebbare Wortbreite m1 beschränkt, und das zweite Normierungsmittel 201 die zweite approximierte normalisierte Mantisse YNorm auf eine zweite vorgebbare Wortbreite m2.
  • Erste approximierte normalisierte Mantisse XNorm und zweite approximierte normalisierte Mantisse YNorm werden dem zweiten Multipliziermittel 203 zugeführt. Dieses hat im Vergleich zum zu prüfenden ersten Multipliziermittel 100 eine beispielsweise verkleinerte Wortbreite von mm Bit bzw. m1·m2 Bit. Das Ergebnis dieser Multiplikation, das Mantissenprodukt W, stellt zusammen mit erstem Exponenten XShift und zweitem Exponenten YShift eine Näherung für das zu erwartende Produkt Z des ersten Multpliziermittels 100 dar, d. h. es gilt folgender Zusammenhang:
    Figure DE102013202140A1_0005
  • Der Vergleich, ob das zu prüfende Ergebnis im erwarteten Bereich liegt erfolgt über den Vergleich der Logarithmen zur Basis 2 (Logarithmus Dualis bzw. Log2) von
    Figure DE102013202140A1_0006
    und dem Produkt Z. Die Differenz der Logarithmen gibt Auskunft über die prozentuale Abweichung des zu prüfenden Ergebnisses vom erwarteten Ergebnis. Diese Differenz wird als Fehlersignal e bezeichnet (siehe Formel (7)).
  • Figure DE102013202140A1_0007
  • Wie in 2 dargestellt, wird daher das Mantissenprodukt W dem zweiten Logarithmiermittel 204 zugeführt, welches hieraus seinen Logarithmus, den Mantissenlogarithmus L, ermittelt. Entsprechend dem letzten Ausdruck der rechten Seite von Gleichung (7) dargestellt, werden Mantissenlogarithmus L, erster Exponent XShift und zweiter Exponent YShift dem Summationsmittel 208 zugeführt, das die Summe dieser drei Terme, den Summenlogarithmus S, ermittelt und dem positiven Eingang des Differenzmittels 207 zuführt. Das Produkt Z wird einem ersten Logarithmiermittel 205 zugeführt, welches hieraus seinen Logarithmus, den Produktlogarithmus P, ermittelt und dem negativen Eingang des Differenzmittels 207 zuführt.
  • Das Differenzmittel 207 ermittelt die Differenz aus Summenlogarithmus S und Produktlogarithmus P zum Fehlersignal e gemäß Gleichung (7). Dieses Fehlersignal e wird dem Diagnosemittel 206 zugeführt.
  • Erstes Logarithmiermittel 205 und/oder zweites Logarithmiermittel 204 nutzen vorteilhafterweise aufwandswarme Approximationsverfahren zur Berechnung des Logarithmus Dualis, beispielsweise die Mitchell-Approximation.
  • Für den Fall, dass im ersten Multplikationsmittel 100 kein Fehler vorliegt, bewegt sich das Fehlersignal e somit im Bereich zwischen zwei bekannten Grenzwerten. Dieser obere bzw. untere Grenzwert ist abhängig von dem oder den zur Logarithmus-Berechnung eingesetzten Approximationsverfahren und von der vorgebbaren Wortbreite m bzw. den Wortbreiten m1 und m2, welche bei der Normierung der ersten approximierten normalisierten Mantisse XNorm bzw. der zweiten approximierten normalisierten Mantisse YNorm benutzt werden.
  • Die Überprüfung, ob sich das Fehlersignal e in diesem Bereich bewegt, gibt Auskunft, ob das Ergebnis des zu prüfenden Multiplizierers falsch ist oder als korrekt betrachtet wird. Das Entscheidungsmittel 206 realisiert diese Überprüfung, indem das Fehlersignal e mit dem, der unteren Grenze entsprechenden, vorgebbaren unteren Schwellenwert bzw. mit dem, der oberen Grenze entsprechenden, vorgebbaren oberen Schwellenwert verglichen wird, und auf Fehler entschieden wird, wenn das Fehlersignal e unter dem unteren vorgebbaren Schwellenwert oder über dem oberen vorgebbaren Schwellenwert liegt.

Claims (14)

  1. Verfahren zum Berechnen eines Fehlersignals (e), welches eine Diagnose der Korrektheit eines von einem ersten Multipliziermittel (100) ermittelten Produkts (Z) eines ersten Faktors (X) und eines zweiten Faktors (Y) ermöglicht, wobei das Fehlersignal (e) mittels eines Differenzmittels (207) als Differenz eines Summenlogarithmus (S) und eines Produktlogarithmus (P) ermittelt wird, wobei der Produktlogarithmus (P) mittels eines ersten Logarithmiermittels (205) als ein Logarithmus des Absolutbetrags des von dem ersten Multipliziermittel (100) ermittelten Produkts (Z) ermittelt wird, dadurch gekennzeichnet, dass der Summenlogarithmus (S) von einem Summationsmittel (208) als Summe eines ersten Exponenten (XShift) und eines zweiten Exponenten (YShift) und eines Mantissenlogarithmus (L) ermittelt wird, wobei der Mantissen logarithmus (L) mittels eines zweiten Logarithmiermittels (204) als ein Logarithmus des Absolutbetrags eines Mantissenprodukts (W) ermittelt wird, wobei das Mantissenprodukt (W) mittels eines zweiten Multipliziermittels (203) als Produkt einer ersten approximierten normalisierten Mantisse (XNorm) und einer zweiten approximierten normalisierten Mantisse (YNorm) ermittelt wird, wobei die erste approximierte normalisierte Mantisse (XNorm) mittels eines ersten Normierungsmittels (200) als eine Approximation der normalisierten Mantisse der Gleitkommadarstellung des ersten Faktors (X) zu einer Basis (b) ermittelt wird, wobei der erste Exponent (XShift) der, in dieser Gleitkommadarstellung des ersten Faktors (X), zu dieser Basis (b) gehörige Exponent ist, und wobei die zweite approximierte normalisierte Mantisse (YNorm) mittels eines zweiten Normierungsmittels (201) als eine approximierte normalisierte Mantisse der Gleitkommadarstellung des zweiten Faktors (Y) zur Basis (b) ermittelt wird, wobei der zweite Exponent (YShift) der, in dieser Gleitkommadarstellung des zweiten Faktors (Y), zu dieser Basis (b) gehörige Exponent ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste approximierte normalisierte Mantisse (XNorm) die auf eine erste vorgebbare Wortbreite (m1) beschränkte Approximation der normalisierten Mantisse der Gleitkommadarstellung des ersten Faktors (X) ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichenet, dass die erste vorgebbare Wortbreite (m1) kleiner ist als die Wortbreite des ersten Faktors (X).
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die zweite approximierte normalisierte Mantisse (YNorm) die auf eine zweite vorgebbare Wortbreite (m2) beschränkte Approximation der normalisierten Mantisse der Gleitkommadarstellung des zweiten Faktors (Y) ist.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die zweite vorgebbare Wortbreite (m2) kleiner ist als die Wortbreite des zweiten Faktors (Y).
  6. Verfahren nach Anspruch 2 oder 4, dadurch gekennzeichnet, dass die erste vorgebbare Wortbreite (m1) gleich der zweiten vorgebbaren Wortbreite (m2) ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Produktlogarithmus (P) als der Logarithmus Dualis des Absolutbetrags des Produkts (Z) ermittelt wird, dass der Mantissenlogarithmus (L) als der Logarithmus Dualis des Absolutbetrags des Mantissenprodukts (W) ermittelt wird, und dass die Basis (b) der Gleitkommadarstellung des ersten Faktors (X) und des zweiten Faktors (Y) als 2 gewählt wird.
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das zweite Logarithmiermittel (204) den Mantissenlogarithmus (L) durch Mitchell-Approximation ermittelt.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das erste Logarithmiermittel (205) den Produktlogarithmus (L) durch Mitchell-Approximation ermittelt.
  10. Verfahren zum Ermitteln eines Fehlers des ersten Multipliziermittels (100), bei dem abhängig von dem nach einem der vorherigen Ansprüche ermittelten Fehlersignal (e) mittels eines Entscheidungsmittels (206) ermittelt wird, ob das von dem ersten Multipliziermittel (100) ermittelte Produkt (Z) des ersten Faktors (X) und des zweiten Faktors (Y) korrekt ist.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass entschieden wird, dass das Produkt (Z) nicht korrekt ist, wenn das Fehlersignal (e) kleiner ist als ein bekannter, vorgebbarer unterer Schwellenwert, oder wenn das Fehlersignal (e) größer ist als ein bekannter, vorgebbarer oberer Schwellenwert.
  12. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass ein erstes Vorzeichen des ersten Faktors (X) ermittelt wird und dass ein zweites Vorzeichen des zweiten Faktors (Y) ermittelt wird, und dass ein drittes Vorzeichen des Produkts (Z) ermittelt wird, wobei darauf entschieden wird, dass das Produkt (Z) nicht korrekt ist, wenn das Produkt aus erstem Vorzeichen und zweitem Vorzeichen nicht dem dritten Vorzeichen entspricht.
  13. Vorrichtung zur Durchführung aller Schritte eines der Verfahren 1 bis 12, umfassend das erste Normierungsmittel (200), das zweite Normierungsmittel (201), das zweite Multipliziermittel (203), das erste Logarithmiermittel (205), das zweite Logarithmiermittel (204), das Differenzmittel (207) und das Summationsmittel (208).
  14. Vorrichtung zur Durchführung aller Schritte eines der Verfahren nach Anspruch 10 bis 12, umfassend das erste Normierungsmittel (200), das zweite Normierungsmittel (201), das zweite Multipliziermittel (203), das erste Logarithmiermittel (205), das zweite Logarithmiermittel (204), das Entscheidungsmittel (206), das Differenzmittel (207) und das Summationsmittel (208).
DE201310202140 2013-02-08 2013-02-08 Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers Pending DE102013202140A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE201310202140 DE102013202140A1 (de) 2013-02-08 2013-02-08 Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
CN201410044902.5A CN103984519B (zh) 2013-02-08 2014-02-07 用于检验数字乘法器的方法和装置
US14/176,785 US9612796B2 (en) 2013-02-08 2014-02-10 Method and device for checking a digital multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310202140 DE102013202140A1 (de) 2013-02-08 2013-02-08 Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers

Publications (1)

Publication Number Publication Date
DE102013202140A1 true DE102013202140A1 (de) 2014-08-14

Family

ID=51226241

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310202140 Pending DE102013202140A1 (de) 2013-02-08 2013-02-08 Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers

Country Status (3)

Country Link
US (1) US9612796B2 (de)
CN (1) CN103984519B (de)
DE (1) DE102013202140A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683085B (zh) * 2019-01-17 2021-01-12 中国人民解放军陆军工程大学 一种电子细胞自检方法
US11237799B2 (en) * 2019-10-30 2022-02-01 SK Hynix Inc. Processing-in-memory (PIM) devices and methods of testing the PIM devices
US11677500B2 (en) * 2020-09-30 2023-06-13 Polaran Haberlesme Teknolojileri Anonim Sirketi Methods and apparatus for encoding and decoding of data using concatenated polarization adjusted convolutional codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064379A (en) * 1976-06-11 1977-12-20 Communications Satellite Corporation Logarithmic echo canceller
US4523210A (en) * 1982-06-11 1985-06-11 Sperry Corporation Fast error checked multibit multiplier
JPH01158828A (ja) * 1987-12-15 1989-06-21 Victor Co Of Japan Ltd 誤り検出・訂正装置
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier
JP2001296992A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp 対数演算装置および対数演算方法
CN1248099C (zh) * 2003-08-20 2006-03-29 中国科学院计算技术研究所 一种定点除法部件中提前终止循环计算的方法
US7769795B1 (en) * 2005-06-03 2010-08-03 Oracle America, Inc. End-to-end residue-based protection of an execution pipeline that supports floating point operations
JP2008257407A (ja) * 2007-04-04 2008-10-23 Fujitsu Microelectronics Ltd 対数演算器及び対数演算方法
US8352530B2 (en) * 2008-12-08 2013-01-08 International Business Machines Corporation Residue calculation with built-in correction in a floating point unit positioned at different levels using correction values provided by multiplexer

Also Published As

Publication number Publication date
US20150227341A1 (en) 2015-08-13
CN103984519B (zh) 2018-08-17
CN103984519A (zh) 2014-08-13
US9612796B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
DE112012005014B4 (de) Verfahren zum Ausführen arithmetischer Operationen unter Verwendung sowohl von großen als auch kleinen Gleitkommawerten und Vorrichtung sowie Computerprogrammprodukt hierfür
DE102013213397A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Stützstellendaten für ein datenbasiertes Funktionsmodell
Di Girolami et al. Generalized covariation for Banach space valued processes, Itô formula and applications
DE102014208210A1 (de) Ableiten eines gerätespezifischen Wertes
DE102005057537A1 (de) Software-Verjüngungsalgorithmus unter Verwendung einer Kundeneinfluss-Performance-Metrik
DE102013202140A1 (de) Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
DE102019124301A1 (de) Vorrichtung und Verfahren zur Gewährleistung der Fail-Safe-Funktion eines autonomen Fahrsystems
DE102010041680B9 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines 1-Bit-Fehlers in einer codierten Bitsequenz, Vorrichtung und Verfahren zur Korrektur eines 1-Bit-Fehlers in einer codierten Bitsequenz und Decodierer und Verfahren zum Decodieren einer fehlerhaften, codierten Bitsequenz
DE102014117857A1 (de) Verfahren und System zur Kontrolle des Drucks eines Reifens
DE102012221253B4 (de) Verfahren zum Zählen von Ereignissen in einer elektronischen Einheit, Ereigniszähler für eine integrierte Schaltungseinheit sowie Computersystem und Computerprogrammprodukt hierfür
DE102015102363A1 (de) Anordnung und verfahren zum überprüfen der entropie einer zufallszahlenfolge
EP3442124B1 (de) Verfahren zum schützen der daten in einem datenspeicher vor einer unerkannten veränderung und datenverarbeitungsanlage
EP3698103B1 (de) Abschätzen der messgenauigkeit unterschiedlicher sensoren für dieselbe messgrösse
DE102011080659B4 (de) Vorrichtung und verfahren zum testen einer zu testenden schaltung
DE102019209536A1 (de) Verfahren und Vorrichtung zur Bewertung und Auswahl von Signal-Vergleichsmetriken
DE102015217724A1 (de) Vorrichtung und Verfahren zum Erstellen einer asymmetrischen Prüfsumme
EP3641137A1 (de) Verfahren und vorrichtung zum verarbeiten von daten
DE102020206321A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102014200493A1 (de) Verfahren und Vorrichtung zur Berechnung eines Ergebniswertes einer Division aus einem Dividenden und einem Divisor
DE102012007191B3 (de) Verbesserung des Integritätskonzepts eines Satellitennavigationssystems
DE102014200465A1 (de) Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße
DE4406391C1 (de) Elektronisches Rechenwerk
DE102015102773A1 (de) Verfahren, Vorrichtung und Einrichtung zur Datenverarbeitung
DE102021006207A1 (de) Verfahren zum Bestimmen eines Innenwiderstands einer Batteriezelle eines elektrischen Energiespeichers mittels einer elektronischen Recheneinrichtung, sowie elektronische Recheneinrichtung
DE102022210131A1 (de) Verfahren und Steuergerät zum Erzeugen von zusätzlichen Daten zum Trainieren und/oder Validieren eines Anomaliedetektor

Legal Events

Date Code Title Description
R012 Request for examination validly filed