DE19950810C1 - Error emulation device in digital logic circuits - Google Patents

Error emulation device in digital logic circuits

Info

Publication number
DE19950810C1
DE19950810C1 DE1999150810 DE19950810A DE19950810C1 DE 19950810 C1 DE19950810 C1 DE 19950810C1 DE 1999150810 DE1999150810 DE 1999150810 DE 19950810 A DE19950810 A DE 19950810A DE 19950810 C1 DE19950810 C1 DE 19950810C1
Authority
DE
Germany
Prior art keywords
register
error
registers
circuit
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1999150810
Other languages
German (de)
Inventor
Juergen Haufe
Christoph Fritsch
Volker Lueck
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Robert Bosch GmbH
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV, Robert Bosch GmbH filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE1999150810 priority Critical patent/DE19950810C1/en
Priority to CH18552000A priority patent/CH694928A5/en
Priority to ITMI20002237 priority patent/IT1319010B1/en
Priority to FR0013442A priority patent/FR2800877B1/en
Application granted granted Critical
Publication of DE19950810C1 publication Critical patent/DE19950810C1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • 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/2215Detection 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 error correction or detection circuits

Abstract

Circuit has a number of working registers (R1) associated with internal circuit nodes. These registers contain switching states of communication nodes dependent on input signals. Each working register has an associated image register (R2) enabling extraction of the switching state of the working register and a fault register (R3) connected so that the working register output is set to a fault value. The working register output is set to a fault value dependent on the fault register independent of an input signal applied to the working register.

Description

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Fehleremulation in digitalen Logikschaltungen und insbesondere eine Vorrichtung zur Fehleremulation in digitalen Logikschal­ tungen, die mit einem Hardware-Debugger versehen sind, bei dem jedem internen Nutzregister der digitalen Logikschaltung ein Schattenregister zugeordnet ist, um den Inhalt des zugeordneten Nutzregisters auszulesen bzw. einen vorgegebenen Wert in das zugeordnete Nutzregister zu schreiben.The present invention relates to a device for Error emulation in digital logic circuits and in particular a device for error emulation in digital logic scarf that are equipped with a hardware debugger in which each internal user register of the digital logic circuit Shadow register is assigned to the content of the assigned Read out the useful register or a predetermined value in the write assigned user registers.

Eine PLD (= Programmable Logic Device = programmierbares Logik­ element), die die Fähigkeit liefert, interne Knoten zu beobach­ ten, indem interne Knoten mit Schattenelementen versehen sind, ist in dem US-Patent 5,764,079 offenbart. Bei dieser Schaltung sind die Zustände der inneren Knoten, die in Nutzregistern der inneren Knoten gespeichert sind, zu den Schattenelementen kop­ pelbar, und können über Schieberegister an Eingangs/Ausgangsan­ schlüssen verfügbar gemacht werden.A PLD (= Programmable Logic Device = programmable logic element), which provides the ability to observe internal nodes by adding shadow elements to internal nodes, is disclosed in U.S. Patent 5,764,079. With this circuit are the states of the inner nodes that are in the useful registers of the inner nodes are stored, copied to the shadow elements pelbar, and can be connected to input / output via shift registers conclusions are made available.

Das US-Patent 5,870,410 offenbart ein Schnittstellensystem bei­ spielsweise für solche PLDs, wie sie in dem US-Patent 5,764,079 beschrieben sind. Das Schnittstellensystem soll dazu dienen, nicht nur die Zustände innerer Knoten zu beobachten, sondern dieselben auch mit Testvektoren zur Fehlerbeobachtung zu beauf­ schlagen. Werden die inneren Knoten hier jedoch mit Fehlern be­ aufschlagt, so ist ein gleichzeitiger normaler Hardware-Debug­ ging-Vorgang nicht mehr möglich.U.S. Patent 5,870,410 discloses an interface system for example for such PLDs as described in US Pat. No. 5,764,079 are described. The interface system is intended to not only to observe the states of inner nodes, but to apply the same to test vectors for error monitoring beat. However, the inner nodes here are filled with errors opens, so is a simultaneous normal hardware debug went process no longer possible.

Aus The Institute of Electrical and Electronics Engineers: IEEE Standard Test Access Port and Boundary-Scan Architecture. IEEE Standard 1149.1-1990, New-York, 1990, Seiten 1-1 bis 1-5, 4-1 bis 4-3, 5-1, 5-12 f., 10-13 und 10-19, ist eine genormte Boun­ dary-Scan-Struktur bekannt. Dabei wird eine Boundary-Scan-Zeile unter Verwendung von Steuersignalen gesteuert, die von einer Steuerung in der From eines Zustandsautomaten erzeugt werden.From The Institute of Electrical and Electronics Engineers: IEEE Standard Test Access Port and Boundary-Scan Architecture. IEEE Standard 1149.1-1990 , New-York, 1990, pages 1-1 to 1-5, 4-1 to 4-3, 5-1, 5-12 f., 10-13 and 10-19, is a standardized one Boun dary scan structure known. A boundary scan line is controlled using control signals that are generated by a controller in the form of a state machine.

In der US 5875197 A ist ein adressierbares, serielles Prüfsy­ stem bekannt, das ein serielles Zugriffsregister mit Adressen­ informationen und Dateninformationen besitzt. Die Adressenin­ formationen werden von Dekodierern ausgewertet, um die Zustände der internen logischen Schaltungsknoten zu beobachten, indem das zugehörige Bit im Datenteil des seriellen Zugriffsregisters entsprechend gesetzt wird, beziehungsweise zu steuern, indem das zugehörige Bit im Datenteil des seriellen Zugriffsregisters in die Speicherzelle übernommen wird.US 5875197 A is an addressable, serial test system stem known that a serial access register with addresses owns information and data information. The addressee Formations are evaluated by decoders to determine the states of the internal logic circuit nodes by the associated bit in the data part of the serial access register is set accordingly, or to control by the associated bit in the data part of the serial access register is transferred to the memory cell.

Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vor­ richtung zur Fehleremulation in digitalen Logikschaltungen zu schaffen, die die Nachbildung von Fehlern der Logikschaltung ermöglicht, während gleichzeitig ein Hardware-Debugging einer mit solchen Fehlern beaufschlagten Logikschaltung möglich ist. The object of the present invention is to provide a direction for error emulation in digital logic circuits create the replica of logic circuit errors enables while debugging a hardware logic circuit loaded with such errors is possible.  

Diese Aufgabe wird durch eine Vorrichtung nach Patentanspruch 1 gelöst.This object is achieved by a device according to claim 1 solved.

Die vorliegende Erfindung schafft eine Vorrichtung zur Fehler­ emulation in digitalen Logikschaltungen, die eine Mehrzahl in­ terner Schaltungsknoten mit zugeordneten Nutzregistern, in de­ nen Schaltungszustände der internen Schaltungsknoten, die von Eingangssignalen abhängen, gespeichert sind, aufweisen, wobei jedem Nutzregister ein Schattenregister, über das der Schal­ tungszustand des Nutzregisters ausgelesen werden kann, zugeord­ net ist, wobei einem oder mehreren der Nutzregister ferner ein Fehleraktivierungsregister zugeordnet ist, das derart mit dem Nutzregister verschaltet ist, das der Ausgang des Nutzregisters unabhängig von dem an demselben anliegenden Eingangssignal auf einen Fehlerwert festlegbar ist.The present invention provides a device for failure emulation in digital logic circuits that have a majority in ternal circuit node with assigned useful registers, in de NEN circuit states of the internal circuit nodes that of Depend on input signals, are stored, have, where a shadow register over which the scarf can be read out, assigned net, one or more of the useful registers also being a Error activation register is assigned, which with the User register is interconnected, which is the output of the user register regardless of the input signal present on the same an error value can be determined.

Das Vorsehen eines derartigen Fehleraktivierungsregisters zuge­ ordnet zu jeweiligen Nutzregistern in einer digitalen Logik­ schaltung ermöglicht die statische Manipulation einer vorgefer­ tigten Schaltung, um Fehler aus dem Fertigungsprozeß nachzubil­ den, um somit die Qualität von Tests bei der Produktion dieser integrierten Schaltungen zu beurteilen.Provided such an error activation register assigns to respective user registers in digital logic circuit enables the static manipulation of a prefabricated circuit to emulate errors from the manufacturing process to ensure the quality of tests in the production of these assess integrated circuits.

Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfin­ dung sind dem Nutzregister ferner ein Dynamikfehleraktivie­ rungsregister und ein Dynamikfehlerpegelregister zugeordnet, die derart mit dem Nutzregister und dem Fehleraktivierungsre­ gister verschaltet sind, daß der Ausgang des Nutzregisters für vorbestimmte Zeitdauern während des Betriebs der digitalen Lo­ gikschaltung unabhängig von dem an dem Nutzregister anliegenden Eingangssignal auf einen Fehlerwert festlegbar ist. Diese zu­ sätzlichen Register ermöglichen eine dynamische Manipulation einer vorgefertigten Schaltung, um verschiedene Fehlereinflüsse des Betriebs nachzubilden und zu analysieren.In preferred embodiments of the present invention are also a dynamic error activation the useful register assignment register and a dynamic error level register assigned, those with the user register and the error activation re are interconnected that the output of the useful register for predetermined periods of time during the operation of the digital lo gik circuit independent of that applied to the useful register Input signal can be set to an error value. This too additional registers allow dynamic manipulation a prefabricated circuit to different error influences reproduce and analyze the operation.

Die vorliegende Erfindung liefert eine Vorrichtung zur Fehler­ emulation in digitalen Logikschaltungen, in denen internen Schaltungsknoten mit zugeordneten Nutzregistern jeweils ein Schattenregister zugeordnet ist. Dieses Schattenregister ermög­ licht es, das interne Verhalten eines Schaltkreises, beispiels­ weise eines FPGA (FPGA = Field Programmable Gate Array) oder eines PLDs, beispielsweise während eines Prototyp-Tests oder während eines In-System-Tests zu beobachten und zu erfassen, um die erfaßten Daten bei einer späteren Analyse der Schaltungs­ funktionalität zu verwenden.The present invention provides a device for failure emulation in digital logic circuits in which internal  Circuit nodes with assigned user registers each Shadow register is assigned. This shadow register enables light it, the internal behavior of a circuit, for example example of an FPGA (FPGA = Field Programmable Gate Array) or a PLD, for example during a prototype test or to observe and capture during an in-system test the acquired data in a later analysis of the circuit functionality to use.

Die erfindungsgemäß zusätzlich zu den Schattenregistern vorge­ sehenen Fehleraktivierungsregister, Dynamikfehleraktivierungs­ register und Dynamikfehlerpegelregister ermöglichen es, sowohl solche Fehler bewußt nachzubilden, die im Fertigungsprozeß in­ tegrierter Schaltungen entstehen, als auch ein Fehlverhalten in der Schaltung zu modellieren, das zufällig den Störungen unter normalen Umgebungsbedingungen entspricht, wie sie beispielswei­ se bei im Weltraum verwendeten Schaltungen durch kosmische Strahlung entstehen können. Die erfindungsgemäße Vorrichtung zur Fehleremulation bietet somit die Möglichkeit, Entwicklungs­ fehler, Fertigungsfehler und Störungen im Normalbetrieb gemein­ sam zu analysieren. Die Notwendigkeit der kombinierten Analyse ergibt sich dabei aus der Aufgabe, die Funktion einer Schaltung so zu entwickeln, daß die Schaltung mit einem gewissen Maß an Fertigungsfehlern oder auch mit einer definierten Menge an Stö­ rungen im Normalbetrieb ihre Funktion erfüllt. Derartige Stö­ rungen sind durch die erfindungsgemäße Vorrichtung emulierbar.The invention featured in addition to the shadow registers seen error activation register, dynamic error activation register and dynamic error level register allow both to consciously reproduce such errors in the manufacturing process tegrated circuits arise, as well as a malfunction in to model the circuit that happens to be below the glitches corresponds to normal environmental conditions, such as se in cosmic circuits used in space Radiation can arise. The device according to the invention for error emulation thus offers the possibility of development Common errors, manufacturing errors and malfunctions in normal operation sam to analyze. The need for combined analysis arises from the task, the function of a circuit to develop so that the circuit to a certain extent Manufacturing errors or with a defined amount of interference functions in normal operation. Such disturbances stanchions can be emulated by the device according to the invention.

Somit ermöglicht die vorliegende Erfindung neben dem frei vor­ gebbaren Definieren interner Schaltungszustände sowie dem Aus­ lesen der internen Schaltungszustände durch ein oder mehrere Schattenregister auch das Positionieren von Fehlern in der di­ gitalen Logikschaltung, so daß gleichzeitig eine Fehlerpositionierung und ein Hardware-Debugging stattfinden kann. Dabei er­ gibt sich jeweils der momentane Schaltzustand der internen Nutzregister aus dem Echtzeitbetrieb der Schaltung, während sich die Zustände der Fehlerpositionierungsregister aus den spezifizierten Fehlern ergeben, die im Konfigurationsbetrieb in die Schaltung eingebracht worden sind. Die Positionierung der Fehler in der Schaltung wird durch eine Steuerung bewirkt, die die positionierten Fehler zu gewünschten Zeitpunkten aktivieren kann. Die erfindungsgemäße Vorrichtung ist vorteilhaft dahinge­ hend, daß dieselbe die Abtastung der hardware-internen Zustände einer digitalen Logikschaltung in Echtzeit ermöglicht, während gleichzeitig Fehler statisch oder dynamisch in der Schaltung positioniert werden können. Das Verfahren ist technologieunab­ hängig und an keine spezielle Hardware-Eigenschaft gebunden, wobei die in die digitale Logikschaltung eingebauten Schatten­ register, Fehleraktivierungsregister, Dynamikfehleraktivie­ rungsregister und Dynamikfehlerpegelregister nicht die Ge­ schwindigkeit und Funktion des integrierten Schaltkreises beeinflussen.Thus, the present invention enables in addition to the free Definable internal circuit states and the off reading the internal circuit states by one or more Shadow register also positioning errors in the di gital logic circuit, so that at the same time an error positioning  and hardware debugging can take place. Doing it there is the current switching state of the internal User register from the real time operation of the circuit while the states of the error positioning registers from the specified errors that occur in configuration mode in the circuit has been introduced. The positioning of the Circuit errors are caused by a controller that activate the positioned errors at the desired times can. The device according to the invention is advantageous that the sampling of the hardware internal states a digital logic circuit in real time while at the same time static or dynamic errors in the circuit can be positioned. The process is technology-independent dependent and not tied to any special hardware property, the shadows built into the digital logic circuit register, error activation register, dynamic error activation register and dynamic error level register not the Ge Speed and function of the integrated circuit influence.

Die Fehleraktivierungsregister, die Dynamikfehleraktivierungs­ register und/oder die Dynamikfehlerpegelregister können zusam­ men mit den Schattenregistern derart in einer Abtastkette (Scankette) verschaltet sein, daß während eines Konfigurations­ betriebs vorbestimmte Daten in dieselben geschoben werden kön­ nen, während dieselben außerhalb des Konfigurationsbetriebs aus der Abtastkette schaltbar sind.The error activation register, the dynamic error activation register and / or the dynamic error level register can be together men with the shadow registers in such a way in a scan chain (Scan chain) that are connected during a configuration predetermined data can be pushed into the same while they are out of configuration mode the scan chain are switchable.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung wer­ den nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:Preferred embodiments of the present invention the following with reference to the accompanying drawings explained in more detail. Show it:

Fig. 1 ein schematisches Schaltungsdiagramm einer Gesamtzelle, die das Nutzregister eines Knotens einer digitalen Lo­ gikschaltung enthält und ein bevorzugtes Ausführungs­ beispiel der erfindungsgemäßen Vorrichtung darstellt; Fig. 1 is a schematic circuit diagram of an overall cell, which contains the useful register of a node of a digital logic circuit and represents a preferred embodiment of the device according to the invention;

Fig. 2 eine schematische Darstellung, wie ein Nutzregister einer digitalen Logikschaltung durch eine Gesamtzelle nach Fig. 1 ersetzt wird; FIG. 2 shows a schematic illustration of how a useful register of a digital logic circuit is replaced by an overall cell according to FIG. 1;

Fig. 3a und 3b schematische Darstellungen zur Veranschauli­ chung, wie die erfindungsgemäße Vorrichtung zur Fehler­ emulation in einen Hardware-Debugger involviert ist; FIGS. 3a and 3b are schematic diagrams for Veranschauli monitoring how the device according to the invention for fault emulation in a hardware debugger is involved;

Fig. 4 eine schematische Darstellung, die eine Nutzschaltung mit eingebrachtem Fehleremulator/Hardware-Debugger zeigt; Fig. 4 is a schematic illustration showing a user circuit with an introduced error emulator / hardware debugger;

Fig. 5a bis 5c schematische Darstellungen zur Erläuterung des Einlesens von vorgegebenen Schaltungszuständen in ein Nutzregister einer digitalen Logikschaltung über ein Schattenregister; 5a to 5c are schematic diagrams for explaining the reading in predetermined circuit conditions in a Nutzregister a digital logic circuit via a shadow register.

Fig. 6a bis 6c schematische Darstellungen zur Erläuterung des Auslesens von Schaltungszuständen aus einem Nutzregi­ ster einer digitalen Logikschaltung über ein Schatten­ register; FIG. 6a to 6c are schematic diagrams for explaining the reading of circuit states from a Nutzregi most digital logic circuit via a shadow register;

Fig. 7a bis 7c schematische Darstellungen zur Erläuterung einer statischen Fehleremulation; und 7A to 7C are schematic diagrams for explaining a static error emulation. and

Fig. 8 und 9 schematische Darstellungen, die zusammen mit Fig. 1 zur Erläuterung einer dynamischen Fehleremulation dienen. Fig. 8 and 9 are schematic representations, which are used together with Fig. 1 to explain a dynamic error emulation.

In Fig. 1 ist ein Ausführungsbeispiel einer Gesamtzelle ge­ zeigt, die in einer digitalen Logikschaltung ein Nutzregister ersetzt, um eine erfindungsgemäße Vorrichtung zur Fehleremula­ tion zu implementieren. Gemäß Fig. 1 weist die Gesamtzelle ein Nutzregister R1, ein Schattenregister R2, ein Fehleraktivie­ rungsregister R3, ein Dynamikfehleraktivierungsregister R4 und ein Dynamikfehlerpegelregister R5 auf. Diese Register weisen bei bevorzugten Ausführungsbeispielen der vorliegenden Erfin­ dung einen identischen Aufbau auf und können durch D-Flip-Flops gebildet sein. Die Register R1 bis R5 sind über Demultiplexer MUX1 bis MUX6 mit einem Eingangssignal d, einem Ausgangssignal q, einem Abtastketteneingang scan_i, einem Abtastkettenausgang scan_o und einer Anzahl von Steuersignalen Fsim_e, Cpt_e, DFS_upd, DFS_e, Set_e und Scan_e derart verbunden, daß durch die Gesamtzelle die Funktionalität des erfindungsgemäßen Feh­ leremulators realisiert werden kann.In Fig. 1, an embodiment of an entire cell is shown ge, which replaces a useful register in a digital logic circuit in order to implement a device according to the invention for error emulation. Referring to FIG. 1, the total cell on a Nutzregister R1, a shadow register R2, a Fehleraktivie approximation register R3, a dynamic fault enable register R4 and a dynamic error level register R5. In preferred exemplary embodiments of the present invention, these registers have an identical structure and can be formed by D flip-flops. The registers R1 to R5 are connected via demultiplexers MUX1 to MUX6 to an input signal d, an output signal q, a scan chain input scan_i, a scan chain output scan_o and a number of control signals Fsim_e, Cpt_e, DFS_upd, DFS_e, Set_e and Scan_e in such a way that through the entire cell the functionality of the error emulator according to the invention can be realized.

Anders ausgedrückt zeigt Fig. 1 eine Zelle des erfindungsgemä­ ßen Fehleremulators, die jeweils ein Speicherelement in der Nutzschaltung ersetzt. Sämtliche neu eingebrachten Register sind einer Steuerung des Fehleremulators zugänglich, z. B. über eine oder mehrere getrennte Schiebeketten, wobei in Fig. 1 der einer Zelle zugeordnete Abschnitt (scan_i . . . scan_o) lediglich einer Schiebekette dargestellt ist. Das Nutzregister R1 über­ nimmt die Aufgabe des ursprünglichen Nutzregister der Nutz­ schaltung und wird mit dem Schaltungstakt C1 getaktet. Um den Betrieb der Schaltung nicht zu stören, ist dieses Register nicht in eine Kontrollschnittstelle zur Steuerung des Emula­ tors/Debuggers, im obigen Beispiel die Abtastkette, einbezogen. Das Schattenregister R2 dient im kontinuierlichen Emulationsbe­ trieb zur Fehleranalyse, wie nachfolgend auf die Fig. 3a und 3b beschrieben wird. Die Debugger-Steuerung steuert die Übernahme des Inhalts des Nutzregisters R1 in das Schattenregister R2 über das Steuersignal Cpt_e, so daß der Schaltungszustand des Nutzregisters R1 über das Schattenregister R2 und die Steue­ rungsschnittstelle, bei dem dargestellten Ausführungsbeispiel die Abtastkette, scan_i . . . scan_o, ausgelesen und gespeichert werden kann. Weiterhin kann über das Schattenregister R2 das Nutzregister R1 über das Steuersignal Set_e mit einem benutzer­ definierten Wert initialisiert werden.In other words, FIG. 1 shows a cell of the error emulator according to the invention, which in each case replaces a memory element in the useful circuit. All newly introduced registers are accessible to control the error emulator, e.g. B. via one or more separate sliding chains, wherein in Fig. 1 the section assigned to a cell (scan_i... Scan_o) only one sliding chain is shown. The payload register R1 takes on the task of the original payload register of the payload circuit and is clocked with the switching clock C1. In order not to disturb the operation of the circuit, this register is not included in a control interface for controlling the emulator / debugger, in the example above the scan chain. The shadow register R2 is used in continuous emulation operation for error analysis, as will be described below with reference to FIGS . 3a and 3b. The debugger control controls the transfer of the content of the useful register R1 into the shadow register R2 via the control signal Cpt_e, so that the circuit state of the useful register R1 via the shadow register R2 and the control interface, in the illustrated embodiment the scan chain, scan_i. , , scan_o, can be read out and saved. Furthermore, the user register R1 can be initialized with a user-defined value via the control signal Set_e via the shadow register R2.

Das Fehleraktivierungsregister R3 dient nun zur Positionierung eines Fehlers auf dem Nutzregister R1, indem über die Steue­ rungsschnittstelle die Steuerung einen Wert in das Fehlerakti­ vierungsregister R3 ablegen kann, der kontrolliert, ob das Schaltungsregister R1 normal betrieben wird, oder ob ein Fehler aktiviert wird. Dieses Einschreiben der Fehlerpositionierung geschieht dabei in einem Konfigurationsbetrieb vor der eigentlichen Fehleremulation, wobei anzumerken ist, daß ein störungs­ freier Betrieb der Nutzschaltung während der Positionierung von Fehlern in der Schaltung nicht möglich ist.The error activation register R3 is now used for positioning an error on the useful register R1 by using the control interface, the controller enters a value in the error acti filing register R3, which controls whether the Circuit register R1 is operated normally, or whether an error is activated. This registration of the error positioning happens in a configuration mode before the actual one  Error emulation, it should be noted that a fault free operation of the useful circuit during the positioning of Errors in the circuit is not possible.

Die Aktivierung eines Fehlers bedeutet, daß das Nutzregister R1 seinen Inhalt beibehält, beispielsweise über die in Fig. 1 ge­ zeigte Rückkopplung 2 und über das vorgeschaltete Element MUX2, und vom eigentlichen Dateneingang d isoliert wird. Das Fehler­ aktivierungsregister R3 dient zum Emulieren statischer Fehler, während zur Emulation dynamischer Fehler, um dynamisch, also während des normalen Systembetriebs der Schaltung, neue Fehler zu beliebigen Zeitpunkten an beliebigen Stellen zu positionie­ ren und zu aktivieren, bzw. zu deaktivieren, zusätzlich sowohl das Dynamikfehleraktivierungsregister R4 als auch das Dynamik­ fehlerpegelregister R5 erforderlich sind. An dieser Stelle sei angemerkt, daß bei Ausführungsbeispielen der vorliegenden Er­ findung, die lediglich eine statische Fehleremulation liefern sollen, das Vorsehen des Fehleraktivierungsregisters R3 ausrei­ chend ist, während bei alternativen Ausführungsbeispielen, die zusätzlich eine dynamische Fehleremulation liefern sollen, auch die beiden Register R4 und R5 vorgesehen sind.The activation of an error means that the useful register R1 retains its content, for example via the feedback 2 shown in FIG. 1 and via the upstream element MUX2, and is isolated from the actual data input d. The error activation register R3 is used for emulating static errors, while for emulating dynamic errors in order to position and activate or deactivate new errors dynamically, i.e. during normal system operation of the circuit, at any point in time at any point, in addition both Dynamic error activation register R4 and the dynamic error level register R5 are required. At this point it should be noted that in embodiments of the present invention, which are only intended to provide static error emulation, the provision of the error activation register R3 is sufficient, while in alternative embodiments which are also intended to provide dynamic error emulation, the two registers R4 and R5 are provided.

Bevor der genaue Aufbau der Gesamtzelle sowie der Betrieb der­ selben bezugnehmend auf die Fig. 1 und 5 bis 9 näher erläutert wird, wird zunächst die Anordnung der erfindungsgemäßen Fehler­ emulationsvorrichtung in einem Hardware-Debuggersystem näher erläutert.Before the exact structure of the overall cell and the operation of the same is explained in more detail with reference to FIGS. 1 and 5 to 9, the arrangement of the error emulation device according to the invention in a hardware debugger system is first explained in more detail.

Wie in Fig. 2 gezeigt ist und oben bereits bezugnehmend auf Fig. 1 angesprochen wurde, wird zur Realisierung der erfin­ dungsgemäßen Fehleremulationsvorrichtung das Nutzregister R1 mit einem Eingangssignal d, einem Ausgangssignal q und einem Takteingang C durch eine Gesamtzelle Z ersetzt, die ein Ein­ gangssignal d, ein Ausgangssignal q, einen Takteingang C1, ei­ nen Takteingang C2 sowie die oben bezugnehmend auf Fig. 1 ge­ nannten Steuersignale aufweist. Der Takteingang C2 dient zum Takten der Register R2 bis R5 durch die gebildete Abtastkette. Sind für unterschiedliche der Register R2 bis R5 unterschiedliche Abtastketten vorgesehen, so können die Register auch mit unterschiedlichen Takten getaktet werden.As shown in Fig. 2 and has already been mentioned above with reference to Fig. 1, the user register R1 with an input signal d, an output signal q and a clock input C is replaced by an overall cell Z which implements an input signal to implement the error emulation device according to the invention d, an output signal q, a clock input C1, egg NEN clock input C2 and the control signals referred to above with reference to FIG. 1. The clock input C2 is used to clock the registers R2 to R5 through the scan chain formed. If different scan chains are provided for different registers R2 to R5, the registers can also be clocked with different clocks.

Bezugnehmend auf die Fig. 3a und 3b wird nachfolgend die Bezie­ hung und Stellung des erfindungsgemäßen Fehleremulators im Ge­ samtsystem eines Hardware-Debuggers beschrieben, wie er in der parallelen deutschen Anmeldung mit dem Titel "Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschaltungen" be­ schrieben ist.Is Referring attributed to Figs. 3a and 3b, the rela is subsequently hung and position of complete system of the error emulator according to the invention in the Ge a hardware debugger described as be in the parallel German patent application with the title "Method and apparatus for fault analysis of digital logic circuits".

Fig. 3a zeigt eine Systemumgebung 10, in die ein zu testendes DUT 12 involviert ist. Das DUT 12 ist schnittstellenmäßig mit der Systemumgebung 10 über eine Schnittstelle 14 verbunden, über die Eingangs- und Ausgangs-Signale zwischen DUT und Sy­ stemumgebung übertragen werden. Das DUT ist ferner über eine Emulator/Debugger-Schnittstelle 16 mit einer Emulator-Debug­ ger-Steuerung 18 verbunden, die wiederum mit einem Speicher 20 verbunden ist. In Fig. 3a ist ferner schematisch ein Abschnitt 22 des DUT gezeigt, der die auf dem DUT enthaltenen Komponenten des Fehleremulators/Hardware-Debuggers enthält. Diese Komponen­ ten stellen beispielsweise die in Fig. 1 dargestellten Register R2 bis R5 dar. Die Steuerung 18 liefert die erforderlichen Steuersignale, wie sie beispielsweise in Fig. 1 gezeigt sind, um zum einen einen kontinuierlichen Debugger-Betrieb zu ermög­ lichen, und zum anderen die Steuersignale, die zur Fehleremula­ tion benötigt werden. FIG. 3a shows a system environment 10 , in which a DUT 12 to be tested is involved. The DUT 12 is interfaced with the system environment 10 via an interface 14 via which input and output signals are transmitted between the DUT and the system environment. The DUT is also connected via an emulator / debugger interface 16 to an emulator / debugger controller 18 , which in turn is connected to a memory 20 . FIG. 3a also schematically shows a section 22 of the DUT which contains the components of the error emulator / hardware debugger contained on the DUT. These components, for example, represent the registers R2 to R5 shown in FIG. 1. The controller 18 supplies the necessary control signals, as shown for example in FIG. 1, on the one hand to enable continuous debugging operation, and on the other hand the control signals required for error emulation.

Zum Zweck des kontinuierlichen Debugger-Betriebs liest die Steuerung 18 vorzugsweise zyklisch sämtliche internen Schal­ tungszustände des DUT 12 über die Schattenregister aus und speichert dieselben in dem Speicher 20. Die Steuerung 18 ist ferner über eine Host-Schnittstelle 24 mit einem Computer 26 verbunden, der in der Lage ist, ausgehend von Schaltungszu­ standsdiagrammen des DUT 12, wie sie von der Steuerung 18 er­ faßt und in dem Speicher 20 gespeichert werden, sowie von er­ faßten Eingangssignalvektoren eine Softwaresimulation des Ver­ haltens des DUT 12 durchzuführen. Das Schaltungsmodell für die Softwaresimulation in dem Computer 26 liegt vorzugsweise als Gatternetzliste vor, so daß die durch die Steuerung 18 ausgele­ senen und in dem Speicher 20 gespeicherten Schaltungszustands­ diagramme ohne Transformation zur Simulation durch den Host- Computer 26 verwendet werden können.For the purpose of continuous debugger operation, the controller 18 preferably cyclically reads out all internal circuit states of the DUT 12 via the shadow registers and stores them in the memory 20 . The controller 18 is also connected via a host interface 24 to a computer 26 which is able, based on circuit state diagrams of the DUT 12 as it is captured by the controller 18 and stored in the memory 20 , and by it summarized input signal vectors to perform a software simulation of the behavior of the DUT 12 . The circuit model for the software simulation in the computer 26 is preferably in the form of a gate network list, so that the circuit state diagrams read out by the controller 18 and stored in the memory 20 can be used for simulation by the host computer 26 without transformation.

Bezugnehmend auf Fig. 3b wird nun ein Beispiel eines Verfahrens zum kontinuierlichen Hardware-Debugging mit nachfolgender Soft­ ware-Simulation beschrieben. Die obere in Fig. 3b dargestellte Achse ist eine Echtzeitachse, während die untere Achse eine virtuelle Simulationszeit darstellt. Das DUT 12 wird in Echt­ zeit unter Anlegen von Eingangssignalen über die Schnittstelle 14, die den Einfluß einer Systemumgebung auf das DUT 12 dar­ stellen können, betrieben. Während des Betriebs des DUT 12, das beispielsweise ein FPGA oder ein PLD sein kann, werden nun die Schaltungszustände aller internen Schaltungsknoten des DUT 12 zyklisch durch einen Hardware-Debugger 30 ausgelesen, was durch einen Pfeil 31 in Fig. 3b angedeutet ist. Der Hardware-Debugger 30 ist über eine Debugger-Schnittstelle 32 mit dem DUT 12 ver­ bunden. Obwohl der Hardware-Debugger 30 und das DUT 12 in Fig. 3b als durch eine Schnittstelle 32 getrennt dargestellt sind, ist ein Teil des Hardware-Debuggers 30, nämlich zumindest je­ weilige Schattenregister desselben, auf der integrierten Schal­ tung, die das DUT 12 darstellt, gebildet. Das Betreiben der Lo­ gikschaltung, beispielsweise zum Durchführen eines Prototyp-Te­ stens oder eines In-System-Testens wird während des Hardware- Debuggens fortgesetzt, bis zu einem Zeitpunkt t1 ein Fehlerzu­ stand 33 in dem DUT 12 auftritt. Dieser Fehlerzustand 33 stellt eine Unterbrechungsbedingung dar.Referring to Fig. 3b shows an example of a method of continuous hardware debugging followed by soft ware simulation will now be described. The upper axis shown in FIG. 3b is a real-time axis, while the lower axis represents a virtual simulation time. The DUT 12 is operated in real time by applying input signals via the interface 14 , which can represent the influence of a system environment on the DUT 12 . During operation of the DUT 12 , which can be, for example, an FPGA or a PLD, the circuit states of all internal circuit nodes of the DUT 12 are now read out cyclically by a hardware debugger 30 , which is indicated by an arrow 31 in FIG. 3b. The hardware debugger 30 is connected to the DUT 12 via a debugger interface 32 . Although the hardware debugger 30 and the DUT 12 are shown in FIG. 3b as being separated by an interface 32 , part of the hardware debugger 30 , namely at least some shadow registers of the same, is on the integrated circuit that represents the DUT 12 , educated. The operation of the logic circuit, for example for carrying out a prototype test or in-system testing, continues during hardware debugging until an error state 33 occurs in the DUT 12 until a time t 1 . This error state 33 represents an interrupt condition.

Beim Auftreten einer solchen Unterbrechungsbedingung 33 wird, basierend auf den durch den Hardware-Debugger 30 zyklisch aus­ gelesenen Schaltungszuständen sowie auf dem DUT 12 gelieferten Eingangssignalen eine Softwaresimulation durchgeführt, um die dem Fehlerzustand 33 zugrundeliegende Ursache zu erforschen. Die Übergabe der oben genannten Daten ist in Fig. 3b schema­ tisch durch einen Pfeil 34 dargestellt. An dieser Stelle sei angemerkt, daß die in Fig. 3b oberhalb des Pfeils 12 darge­ stellten Verfahrensabläufe als eine Echtzeitumgebung zu betrachten sind, während die unterhalb des Pfeils 12 dargestellte Zeitachse eine virtuelle Simulationszeit darstellt.When such an interruption condition 33 occurs , a software simulation is carried out based on the circuit states read cyclically from the hardware debugger 30 and on the DUT 12 in order to research the cause underlying the fault state 33 . The transfer of the above data is shown schematically in Fig. 3b by an arrow 34 . At this point it should be noted that the process sequences shown in FIG. 3b above arrow 12 are to be regarded as a real-time environment, while the time axis shown below arrow 12 represents a virtual simulation time.

Wie in Fig. 3b zu erkennen ist, wird zur Simulation, um die Fehlerursache herauszufinden, von dem Zeitpunkt t1 zu einem Zeitpunkt t2 zurückgesprungen, um zu diesem Zeitpunkt t2 die Simulation zu beginnen. Das Rücksprungintervall wird vorzugs­ weise derart gewählt, daß das zum Zeitpunkt t2 gespeicherte Schaltungszustandsdiagramm einen ordnungsgemäßen Betrieb des DUT anzeigt. Dadurch ergibt sich ein Softwaresimulationsinter­ vall 35 zur Fehlerursachenanalyse, das zum Zeitpunkt t2 be­ ginnt. Somit kann der Zeitverbrauch für das Fehlerursachenana­ lyseverfahren, das beginnt, nachdem ein Fehlerzustand 33 erfaßt wurde, erheblich verkürzt werden. Wie durch den Pfeil 34 sche­ matisch dargestellt ist, werden die zyklisch ausgelesenen Daten für eine folgende Analyse des Schaltungsverhaltens verwendet, wobei die Hardware-internen Zustände das interne Verhalten des DUT 12 beschreiben, während die Eingangssignale die entspre­ chenden Umgebungsdaten darstellen, die zu dem beobachteten Ver­ halten führen.As can be seen in FIG. 3b, in order to find out the cause of the error, the simulation jumps back from the time t 1 to a time t 2 in order to start the simulation at this time t 2 . The return interval is preferably chosen such that the circuit state diagram stored at time t 2 indicates proper operation of the DUT. This results in a software simulation interval 35 for failure cause analysis, which begins at time t 2 . Thus, the time consumption for the failure cause analysis process that begins after an error condition 33 has been detected can be significantly reduced. As schematically represented by the arrow 34 , the cyclically read out data are used for a subsequent analysis of the circuit behavior, the hardware internal states describing the internal behavior of the DUT 12 , while the input signals represent the corresponding environmental data that were observed Conduct conduct.

Das beschriebene kontinuierliche Debugging durch das zyklische Auslesen der Schattenregister in den Speicher 20 bietet die Möglichkeit, Fehlerursachen zeitsparend zu analysieren, da ausgehend von einem aufgetretenen Fehler um eine vorbestimmte Zeit zurückgesprungen werden kann, um dann die Softwaresimula­ tion basierend auf dem für diesen Zeitpunkt gespeicherten Schaltungszustandsdiagramm und den zugehörigen Eingangssignal­ vektoren durchzuführen.The described continuous debugging by cyclically reading out the shadow registers in the memory 20 offers the possibility of analyzing the causes of faults in a time-saving manner, since, based on an error that has occurred, it is possible to jump back by a predetermined time, and then the software simulation based on the circuit state diagram stored for this point in time and perform the associated input signal vectors.

Die erfindungsgemäße Fehleremulationsvorrichtung ist nun durch die Fehleraktivierungsregister R3, die Dynamikfehleraktivie­ rungsregister R4 sowie die Dynamikfehlerpegelregister R5 in dem Abschnitt 22 des Emulator/Debuggers, der auf dem DUT 12 angeor­ dnet ist, realisiert. Die für die Fehleremulation erforderli­ chen Steuersignale, die nachfolgend näher erläutert werden, werden vorzugsweise durch eine gemeinsame Emulator/Debugger- Steuerung 18 geliefert. Alternativ zu dem in Fig. 3a beschriebenen Ausführungsbeispiel können weitere Komponenten der Emula­ tor/Debugger-Vorrichtung, beispielsweise der RAM 20, Kernele­ mente der Steuerung 18 oder die gesamte Steuerung 18 je nach Platzverhältnissen auf der Platine des DUT 12 angeordnet sein. Diesbezüglich ist anzumerken, daß das Vorsehen weiterer Kompo­ nenten auf der Schaltungsplatine des DUT 12 Vorteile beim Aus­ lesen der Schaltungsregister aufgrund kürzerer Signallaufzeiten liefern kann, jedoch das beschränkte Platzangebot auf der Pla­ tine zu einer eingeschränkten Speicherkapazität des Speichers 20 führen kann.The error emulation device according to the invention is now implemented by the error activation register R3, the dynamic error activation register R4 and the dynamic error level register R5 in the section 22 of the emulator / debugger which is arranged on the DUT 12 . The control signals required for error emulation, which are explained in more detail below, are preferably provided by a common emulator / debugger control 18 . As an alternative to the exemplary embodiment described in FIG. 3a, further components of the emulator / debugger device, for example the RAM 20 , kernel elements of the controller 18 or the entire controller 18 can be arranged on the circuit board of the DUT 12 , depending on the space available. In this regard, it should be noted that the provision of further components on the circuit board of the DUT 12 can provide advantages when reading out the circuit registers due to shorter signal delays, but the limited space available on the circuit board can lead to a limited memory capacity of the memory 20 .

In Fig. 4 ist nun schematisch die Verschaltung einer Mehrzahl von erfindungsgemäßen Gesamtzellen Z in einer Abtastkette 40 gezeigt. Wie in Fig. 4 zu sehen ist, liefert die Steuerung 18 den Satz von Eingangssignalen, der beispielsweise bezugnehmend auf Fig. 1 beschrieben wurde, über Steuerleitungen 42 zu den entsprechenden Anschlüssen der Gesamtzellen Z, die auch als Emulator/Debuggerzellen bezeichnet werden können. Es sei ange­ merkt, daß die Gesamtzellen Z zu besseren Veranschaulichung in Fig. 4 vergrößert dargestellt sind, wobei die jeweilige Vergrö­ ßerung durch die schematische Darstellung einer Lupe gezeigt ist. Wie in Fig. 4 zu erkennen ist, sind die Gesamtzellen Z in einer Abtastkette verschaltet, wobei jeweilige Abtasteingänge der Gesamtzelle in Fig. 4 mit dem Bezugszeichen 44 bezeichnet sind, während jeweilige Abtastausgänge der Gesamtzellen in Fig. 4 mit dem Bezugszeichen 46 bezeichnet sind. Ferner empfängt je­ de Gesamtzelle ein Nutzeingangssignal d und gibt ein Nutzaus­ gangssignal q zu einer Nutzschaltung aus, wie durch den Pfeil 48 in Fig. 4 schematisch angezeigt ist. Wie ebenfalls in Fig. 4 zu sehen ist, sind der Eingang und der Ausgang der Abtastkette mit der Steuerung 18 verbunden. Die Steuerung 18 steht wiederum schnittstellenmäßig mit einem Speicher und/oder einem Host-Com­ puter in Verbindung, wie in Fig. 4 schematisch durch den Pfeil 50 gezeigt ist. Die in Fig. 4 dargestellte Umrandung 52 soll die durch die Mehrzahl der in den Gesamtzellen Z enthaltenen Nutzregistern gebildete Nutzschaltung anzeigen.In FIG. 4, the interconnection is now shown schematically according to the invention a plurality of whole cells in a scan Z 40th As can be seen in FIG. 4, the controller 18 delivers the set of input signals, which has been described with reference to FIG. 1, for example, via control lines 42 to the corresponding connections of the total cells Z, which can also be referred to as emulator / debugger cells. It should be noted that the total cells Z are shown enlarged for better illustration in Fig. 4, the respective enlargement is shown by the schematic representation of a magnifying glass. As can be seen in FIG. 4, the total cells Z are interconnected in a scan chain, respective scanning inputs of the overall cell being designated by reference numeral 44 in FIG. 4, while respective scanning outputs of the overall cells are designated by reference numeral 46 in FIG. 4. Furthermore, each de total cell receives a useful input signal d and outputs a useful output signal q to a useful circuit, as indicated schematically by arrow 48 in FIG. 4. As can also be seen in FIG. 4, the input and the output of the scan chain are connected to the controller 18 . The controller 18 is in turn connected in terms of interface to a memory and / or a host computer, as shown schematically in FIG. 4 by the arrow 50 . The border 52 shown in FIG. 4 is intended to indicate the useful circuit formed by the plurality of useful registers contained in the total cells Z.

Die oben beschriebenen Gesamtzellen Z liefern somit sowohl die Möglichkeit eines kontinuierlichen Hardware-Debuggings durch zyklisches Auslesen der internen Schaltungszustände des DUT als auch einer gleichzeitigen Fehleremulation durch entsprechendes Steuern der erfindungsgemäßen Fehleraktivierungsregister, Dyna­ mikfehleraktivierungsregister und Dynamikfehlerpegelregister. Nachdem nunmehr die Stellung des erfindungsgemäßen Fehleremula­ tors in einem Hardware-Debugger erläutert wurde, erfolgt nach­ folgend bezugnehmend auf die Fig. 1 und 5 bis 8 eine Erläute­ rung sowohl des Aufbaus als auch des Betriebs des bevorzugten Ausführungsbeispiels einer Gesamtzelle, die eine erfindungsge­ mäße Vorrichtung zur Fehleremulation darstellt. Es sei jedoch darauf hingewiesen, daß die folgende Beschreibung sich ledig­ lich auf ein derzeit als bevorzugt betrachtetes Ausführungsbei­ spiel einer Fehleremulationsvorrichtung bezieht, wobei für Fachleute klar ist, daß davon abweichende Schaltungsanordnungen existieren können, die die erfindungsgemäße Funktionalität ei­ ner Fehleremulationsvorrichtung liefern.The total cells Z described above thus provide both the possibility of continuous hardware debugging by cyclically reading out the internal circuit states of the DUT and simultaneous error emulation by correspondingly controlling the error activation register, dynamic error activation register and dynamic error level register according to the invention. Now that the position of the error emulator according to the invention has been explained in a hardware debugger, an explanation of both the structure and the operation of the preferred exemplary embodiment of an overall cell, which is a device according to the invention, is given below with reference to FIGS . 1 and 5 to 8 for error emulation. However, it should be pointed out that the following description relates only to an exemplary embodiment of a fault emulation device which is currently regarded as preferred, it being clear to those skilled in the art that different circuit arrangements may exist which provide the functionality of a fault emulation device according to the invention.

Wie in Fig. 1 gezeigt ist, umfaßt die Gesamtzelle des bevorzug­ ten Ausführungsbeispiels das Nutzregister R1, das Schattenregi­ ster R2, das Fehleraktivierungsregister R3, das Dynamikfehler­ aktivierungsregister R4 und das Dynamikfehlerpegelregister R5. Ferner sind sechs Demultiplexer MUX1 bis MUX6 vorgesehen, über die die Register R1 bis R5 miteinander, mit Steuersignalen, ei­ ner Abtastkette und Eingangs- und Ausgangs-Signalen verbunden sind, um die erfindungsgemäße Funktionalität zu liefern. Im einzelnen ist der Dateneingang 100 des Nutzregisters R1 mit dem Datenausgang des Demultiplexers MUX2, verbunden. Der Datenaus­ gang 104 des Nutzregisters R1 ist über die Rückkopplung 2 mit einem Dateneingang von MUX2 verbunden, über eine Leitung 106 mit einem Dateneingang des Demultiplexers MUX1 verbunden, und ferner mit dem Datenausgang q der Gesamtzelle verbunden. Der Dateneingang 108 des Schattenregisters R2 ist mit dem Datenaus­ gang des Demultiplexers MUX1 verbunden. Der Datenausgang 112 des Schattenregisters R2 ist mit jeweils einem Dateneingang der Demultiplexer MUX1, MUX2, MUX3 und MUX4 verbunden. Der Daten­ eingang 114 des Fehleraktivierungsregisters R3 ist mit dem Da­ tenausgang des Demultiplexers MUX3 verbunden. Der Datenausgang 116 des Fehleraktivierungsregisters R3 ist mit jeweils einem Dateneingang der Demultiplexer MUX3 und MUX4 und ferner mit ei­ nem Steuereingang des Demultiplexers MUX2 verbunden. An dieser Stelle sei angemerkt, daß die jeweils als Dateneingänge der De­ multiplexer bezeichneten Anschlüsse jeweils die in den Zeich­ nungen an der längeren linken Seite der Demultiplexer angeord­ neten Anschlüsse sind. Dagegen sind die Steuereingänge der De­ multiplexer jeweils an den kurzen Seiten der Demultiplexer an­ geordnet.As shown in FIG. 1, the overall cell of the preferred embodiment includes the payload register R1, the shadow register R2, the error activation register R3, the dynamic error activation register R4 and the dynamic error level register R5. Furthermore, six demultiplexers MUX1 to MUX6 are provided, via which the registers R1 to R5 are connected to one another, to control signals, a scan chain and input and output signals in order to provide the functionality according to the invention. Specifically, the data input 100 of the useful register R1 is connected to the data output of the demultiplexer MUX2. The data output 104 of the useful register R1 is connected via the feedback 2 to a data input of MUX2, via a line 106 to a data input of the demultiplexer MUX1, and also connected to the data output q of the entire cell. The data input 108 of the shadow register R2 is connected to the data output of the demultiplexer MUX1. The data output 112 of the shadow register R2 is connected to a data input of the demultiplexers MUX1, MUX2, MUX3 and MUX4. The data input 114 of the error activation register R3 is connected to the data output of the demultiplexer MUX3. The data output 116 of the error activation register R3 is connected to a data input of the demultiplexers MUX3 and MUX4 and also to a control input of the demultiplexer MUX2. At this point it should be noted that the connections designated as data inputs of the de multiplexers are the connections in the drawings on the longer left side of the demultiplexers. In contrast, the control inputs of the de multiplexers are each arranged on the short sides of the demultiplexers.

Der Dateneingang 118 des Dynamikfehleraktivierungsregisters R4 ist mit dem Datenausgang von MUX5 verbunden. Der Datenausgang 120 des Dynamikfehleraktivierungsregisters R4 ist mit Datenein­ gängen der Demultiplexer MUX3, MUX4 und MUX5 sowie einem Steu­ ereingang von MUX2 verbunden. Der Dateneingang 122 des Daten­ fehlerpegelregisters R5 ist mit dem Datenausgang von MUX6 ver­ bunden. Der Datenausgang 124 des Registers R5 ist mit einem je­ weiligen Dateneingang der Demultiplexer MUX2, MUX5 und MUX6 verbunden.The data input 118 of the dynamic error activation register R4 is connected to the data output of MUX5. The data output 120 of the dynamic error activation register R4 is connected to data inputs of the demultiplexers MUX3, MUX4 and MUX5 and to a control input of MUX2. The data input 122 of the data error level register R5 is connected to the data output of MUX6. The data output 124 of the register R5 is connected to a respective data input of the demultiplexers MUX2, MUX5 and MUX6.

Der Dateneingang d der Gesamtzelle ist mit einem Dateneingang von MUX2 verbunden. Der Abtastketteneingang scan_i der Gesamt­ zelle ist mit einem Dateneingang von MUX1 und einem Datenein­ gang von MUX6 verbunden. Der Abtastkettenausgang scan_o ist mit dem Datenausgang des Demultiplexers MUX4 verbunden.The data input d of the entire cell is with a data input connected by MUX2. The scan chain input scan_i the total cell is with a data input from MUX1 and a data gang connected by MUX6. The scan chain output scan_o is with connected to the data output of the demultiplexer MUX4.

Das Steuersignal Fsim_e ist mit jeweiligen Steuereingängen der Demultiplexer MUX1, MUX2 und MUX4 verbunden. Das Steuersignal Cpt_e ist mit einem Steuereingang von MUX1 verbunden. Das Steu­ ersignal DFS_upd ist mit einem Steuereingang von MUX3 und einem Steuereingang von MUX2 verbunden. Das Steuersignal DFS_e ist mit jeweiligen Steuereingängen der Demultiplexer MUX1, MUX3, MUX4, MUX5 und MUX6 verbunden. Das Steuersignal Set_e ist mit einem Steuereingang des Demultiplexers MUX2 verbunden. Das Steuersignal scan_e ist mit jeweiligen Steuereingängen der De­ multiplexer MUX1, MUX2, MUX3, MUX5 und MUX6 verbunden.The control signal Fsim_e with the respective control inputs Demultiplexers MUX1, MUX2 and MUX4 connected. The control signal Cpt_e is connected to a control input of MUX1. The tax ersignal DFS_upd has one control input from MUX3 and one Control input of MUX2 connected. The control signal is DFS_e with respective control inputs of the demultiplexers MUX1, MUX3, MUX4, MUX5 and MUX6 connected. The control signal Set_e is with connected to a control input of the demultiplexer MUX2. The Control signal scan_e with the respective control inputs is the De multiplexer MUX1, MUX2, MUX3, MUX5 and MUX6 connected.

Zur Erläuterung der Funktion des nunmehr bezugnehmend auf Fig. 1 beschriebenen Schaltungsaufbaus wird im folgenden auf unter­ schiedliche Betriebsmodi der Schaltung eingegangen, wobei diese unterschiedlichen Betriebsmodi nachfolgend bezugnehmend auf Be­ triebszustände (Zustände) der Schaltung erläutert werden. Dies­ bezüglich sei angeführt, daß in den Fig. 5b, 6b und 7b jeweils nur die Elemente und Leitungen dargestellt sind, die zur Erläu­ terung des jeweiligen Betriebsmodus erforderlich sind, während die restlichen Elemente im Sinne einer verbesserten Deutlich­ keit weggelassen sind. In den Fig. 5a, 6a, 7a und 8 der folgen­ den Figuren sind jeweils Zustandsdiagramme gezeigt, die den Übergang in unterschiedliche Zustände bei unterschiedlichen Be­ legungen der Steuersignale angeben. In den Fig. 5c, 6c, 7c und 9 sind jeweils die Zustände, in denen sich die Schaltung befin­ det, sowie die Ausgangssignale der jeweiligen Demultiplexer, die in den jeweiligen Zuständen vorliegen, dargelegt. Soweit im folgenden hinsichtlich bestimmter Zustände bzw. Signalbelegun­ gen keine Erläuterung im einzelnen erfolgt, da dies für das Verständnis der Funktionsweise der Schaltung nicht notwendig ist, wird auf die oben genannten Zustandsdiagramme und Tabellen in den Figuren verwiesen.To explain the function of the circuit construction now described with reference to FIG. 1, different operating modes of the circuit will be dealt with below, these different operating modes being explained below with reference to operating states (states) of the circuit. This should be noted that only the elements and lines are shown in FIGS . 5b, 6b and 7b that are required to explain the respective operating mode, while the remaining elements are omitted in the sense of improved clarity. In FIGS. 5a, 6a, 7a and 8 of figures follow the state diagrams of the control signals are respectively shown, the considerations the transition in different states at different loading state. In the Fig. 5c, 6c, 7c and 9 are respectively the states in which the circuit is det befin, as well as the outputs of the respective demultiplexer, which are present in the respective states, explained. Insofar as no detailed explanation is given below with regard to certain states or signal assignments, since this is not necessary for understanding the functioning of the circuit, reference is made to the above-mentioned state diagrams and tables in the figures.

Bezugnehmend auf Fig. 5a bis 5c wird nunmehr zunächst ein "Set"-Betriebsmodus beschrieben, der dazu dient, die Nutzschal­ tung in einen vorgegebenen Zustand zu versetzen. Dies bedeutet, daß alle Nutzregister R1 auf einen vordefinierten Wert gesetzt werden können. Zu diesem Zweck wird zunächst das Steuersignal Scan_e auf 1 gesetzt, so daß der Demultiplexer MUX1 den Abtast­ ketteneingang scan_i an seinen Ausgang schaltet, so daß der vordefinierte Wert in das Schattenregister R2 geschoben wird, was mit der Taktfrequenz C2 erfolgt. Dieser Zustand 200 ist in Fig. 5a mit "Scan in" bezeichnet. Die Belegung des Registers R2 kann dabei über eine serielle Abtastkette, wie sie in Fig. 4 gezeigt ist, in der alle oder einige Emulatorzellen enthalten sind, erfolgen. Daneben sind aber auch Busstrukturen oder ande­ re Mechanismen denkbar, um die Schattenregister R2 mit entspre­ chenden Werten zu belegen.With reference to FIGS. 5a to 5c, a "set" operating mode is now first described, which is used to set the useful circuit device in a predetermined state. This means that all user registers R1 can be set to a predefined value. For this purpose, the control signal Scan_e is first set to 1, so that the demultiplexer MUX1 switches the scanning chain input scan_i to its output, so that the predefined value is shifted into the shadow register R2, which occurs at the clock frequency C2. This state 200 is designated "scan in" in FIG. 5a. Register R2 can be assigned via a serial scan chain, as shown in FIG. 4, in which all or some emulator cells are contained. In addition, bus structures or other mechanisms are also conceivable to assign corresponding values to the shadow register R2.

Sind die Schattenregister R2 mit entsprechenden Werten belegt, springt der Betrieb zu einem Zustand 202, der mit "Set"-Zustand bezeichnet ist, was dadurch bewirkt wird, daß das Steuersignal Scan_e auf 0 gesetzt wird, während das Steuersignal Set_e auf 1 gesetzt wird, wie in dem Zustandsdiagramm von Fig. 5a zu erken­ nen ist. In diesem Zustand schaltet, wie in Fig. 5c zu sehen ist, MUX2 den Dateneingang, der mit dem Datenausgang des Schat­ tenregisters R2 verbunden ist, auf seinen Ausgang, so daß der in dem Schattenregister R2 gespeicherte Wert in das Nutzregi­ ster R1 gelesen werden kann. Somit wurde das Nutzregister R1 mit einem vordefinierten Wert geladen, woraufhin der Betrieb zu einem Zustand 204, der mit "sim"-Zustand bezeichnet ist, springt, in dem das Steuersignal Set_e auf 0 gesetzt wird. Der "sim"-Zustand 204 stellt dabei den normalen Betrieb der Nutz­ schaltung einer Fehleremulation bzw. eines Hardware-Debuggings dar.If the shadow registers R2 are assigned corresponding values, the operation jumps to a state 202 , which is denoted by the "set" state, which is caused by the control signal Scan_e being set to 0 while the control signal Set_e is set to 1, as can be seen in the state diagram of FIG. 5a. In this state, as can be seen in FIG. 5c, MUX2 switches the data input, which is connected to the data output of the shadow register R2, to its output, so that the value stored in the shadow register R2 can be read into the useful register R1 . Thus, the useful register R1 has been loaded with a predefined value, whereupon the operation jumps to a state 204 , which is denoted by the "sim" state, in which the control signal Set_e is set to 0. The "sim" state 204 represents the normal operation of the user circuit of an error emulation or hardware debugging.

Alle weiteren Steuersignale der in Fig. 1 gezeigten Gesamtzelle bleiben bei diesem Betriebsmodus inaktiv, d. h. sind bei der ge­ wählten Polarität, bei der eine 1 ein aktives Signal anzeigt, während eine 0 ein deaktives Signal anzeigt, auf 0 gesetzt.All other control signals of the overall cell shown in FIG. 1 remain inactive in this operating mode, ie are set to 0 at the selected polarity, in which 1 indicates an active signal while 0 indicates a deactivated signal.

Bezugnehmend auf die Fig. 6a bis 6c wird nachfolgend ein De­ bug-Betriebsmodus beschrieben, während dem das Nutzregister im Normalfall ungestört betrieben wird. Im Debug-Betriebsmodus werden die jeweiligen Schaltungszustände der Nutzregister über die Schattenregister ausgelesen.A debug operating mode is described below with reference to FIGS. 6a to 6c, during which the user register is normally operated without being disturbed. In the debug operating mode, the respective circuit states of the useful registers are read out via the shadow register.

Wie in Fig. 6a bei dem Bezugszeichen 206 gezeigt ist, geht dem Debug-Modus üblicherweise ein Set-Betriebsmodus, wie er oben erläutert wurde, voraus. Für den Debug-Modus wird ein zusätzli­ ches Steuersignal Ctp_e benötigt, das ausgehend von dem norma­ len Betrieb (sim-Zustand 204) auf einen aktiven Pegel gesetzt wird, woraufhin ein Capture-Zustand 208 betreten wird. Durch das Aktivieren des Steuersignals Cpt_e schaltet MUX1 den Daten­ eingang desselben, der mit dem Datenausgang des Nutzregisters R1 verbunden ist, auf seinen Ausgang, so daß der in dem Nutzre­ gister R1 gespeicherte Wert bei der nächsten Taktflanke von C2 in das Schattenregister R2 geladen wird. Nachfolgend wird das Steuersignal Cpt_e deaktiviert und das Steuersignal Scan_e ak­ tiviert, so daß ein Austast-Zustand 210, der mit "Scan-out"-Zu­ stand bezeichnet ist, betreten wird. In diesem Betriebszustand 210 wird der Inhalt des Schattenregisters R2 durch die Abtast­ kette ausgetastet und beispielsweise in dem RAM 20 abgelegt, wie oben bezugnehmend auf Fig. 3a erläutert wurde. Diese Vor­ gänge geschehen ohne Beeinflussung der Nutzschaltung. Wiederum werden alle beim Debug-Betriebsmodus nicht beteiligten Steuer­ signale als 0 angenommen.As shown in FIG. 6a at reference numeral 206 , the debug mode is usually preceded by a set mode of operation, as explained above. An additional control signal Ctp_e is required for the debug mode, which is set to an active level based on normal operation (sim state 204 ), whereupon a capture state 208 is entered. By activating the control signal Cpt_e, MUX1 switches its data input, which is connected to the data output of the useful register R1, to its output, so that the value stored in the useful register R1 is loaded into the shadow register R2 at the next clock edge from C2. The control signal Cpt_e is subsequently deactivated and the control signal Scan_e activated, so that a blanking state 210 , which is denoted by the "scan-out" state, is entered. In this operating state 210 , the content of the shadow register R2 is blanked out by the scan chain and stored, for example, in the RAM 20 , as was explained above with reference to FIG. 3a. These operations take place without influencing the useful circuit. Again, all control signals not involved in the debug mode are assumed to be 0.

Der Debug-Betriebsmodus stellt somit das zyklische Auslesen der Schaltungszustände interner Schaltungsknoten einer digitalen Logikschaltung dar. Wie im folgenden klar wird, kann dieser De­ bug-Betriebsmodus ohne Störung durch die erfindungsgemäße Feh­ leremulation durchgeführt werden.The debug operating mode thus represents the cyclical reading of the Circuit states of internal circuit nodes of a digital Logic circuit. As will become clear below, this De bug operating mode without interference by the mistake according to the invention leremulation.

Ein erstes Ausführungsbeispiel einer erfindungsgemäßen Fehler­ emulation, das sich auf eine Emulation eines statischen Fehlers bezieht, wird nun bezugnehmend auf die Fig. 7a bis 7c erläu­ tert. Zur Emulation eines statischen Fehlers werden, wie in Fig. 7b gezeigt ist, zusätzlich das Fehleraktivierungsregister R3 sowie zwei weitere Demultiplexer MUX3 und MUX4 benötigt. Die statischen Fehler werden über das Fehleraktivierungsregister R3 vor der eigentlichen Emulation in der Schaltung positioniert, was auf dem Wege eines Set-Betriebsmodus erfolgt, wie durch die Zustände 212 und 214 in Fig. 7a gezeigt ist. In Fig. 7b ist ei­ ne Verschaltung gezeigt, bei der die Register R2 und R3 in ei­ ner Abtastkette verknüpft sind, so daß eine gleichzeitige Kon­ figuration der Register R1 und R3 mit einem benutzerdefinierten Wert während des Set-Betriebsmodus erfolgt, da das Steuersignal Scan_e während des Zustands 212 (Scan in) an den Steuereingän­ gen der drei Demultiplexer MUX1 bis MUX3 aktiv ist. Im nachfol­ genden Set-Zustand 214 wird der in dem Schattenregister R2 ge­ speicherte Wert auf Aktivierung des Steuersignals Set_e hin in das Nutzregister R1 gelesen. Somit befindet sich im Fehlerakti­ vierungsregister R3 nunmehr ein Wert, der anzeigt, ob bei einer späteren Emulation ein Fehler des Nutzregisters R1 emuliert werden soll, was bei dem dargestellten Ausführungsbeispiel der Fall ist, wenn in dem Fehleraktivierungsregister R3 eine 1 ge­ speichert ist, da in diesem Fall der Demultiplexer MUX2 durch den Ausgang des Fehleraktivierungsregisters R3 gesteuert wird, um seinen Dateneingang, der mit dem Ausgang des Nutzregisters R1 verbunden ist, auf seinen Datenausgang zu legen. Somit ist das Nutzregister R1 über die Rückkopplungsleitung 2 und den Demultiplexer MUX2 auf einen festen Fehlerwert geklemmt.A first embodiment of an error emulation according to the invention, which relates to an emulation of a static error, will now be explained with reference to FIGS . 7a to 7c. In order to emulate a static error, as shown in FIG. 7b, the error activation register R3 and two further demultiplexers MUX3 and MUX4 are additionally required. The static errors are positioned in the circuit via the error activation register R3 before the actual emulation, which takes place in a set operating mode, as shown by the states 212 and 214 in FIG. 7a. In Fig. 7b ei ne circuit is shown in which the registers R2 and R3 are linked in a scan chain, so that a simultaneous configuration of the registers R1 and R3 with a user-defined value takes place during the set operating mode, since the control signal Scan_e is active on the control inputs of the three demultiplexers MUX1 to MUX3 during state 212 (scan in). In the subsequent set state 214 , the value stored in the shadow register R2 is read into the useful register R1 upon activation of the control signal Set_e. Thus, there is now a value in the error activation register R3 which indicates whether an error of the useful register R1 is to be emulated in a later emulation, which is the case in the illustrated embodiment if a 1 is stored in the error activation register R3 since in In this case, the demultiplexer MUX2 is controlled by the output of the error activation register R3 in order to put its data input, which is connected to the output of the useful register R1, to its data output. The useful register R1 is thus clamped to a fixed error value via the feedback line 2 and the demultiplexer MUX2.

Aus dem Set-Betriebsmodus, der die Zustände 212 und 214 ent­ hält, gelangt der Betrieb in den sim-Zustand 216, wobei die Fehleremulation mit einem gesetzten Signal fsim_e beginnt. Löst nun die Steuerung durch Aktivieren des Steuersignals Cpt_e ein zyklisches Auslesen, d. h. einen Debug-Betriebsmodus, aus, wer­ den Zustände Capture und Scan-Out 218 und 220 durchlaufen, die im wesentlichen den oben beschriebenen Zuständen 208 und 210 entsprechen, in denen die jeweiligen Inhalte der Nutzregister über die Schattenregister und die Abtastkette ausgelesen wer­ den. Nach dem Auslesen der Schattenregister im Zustand 220 ge­ langt der Betrieb durch Deaktivieren des Steuersignals Scan_e wiederum in den sim-Zustand 216, aus dem dann wiederum durch Aktivieren des Signals Cpt_e erneut ein Schnappschuß der inter­ nen Schaltungszustände gewonnen werden kann.From the set operating mode, which contains the states 212 and 214 , the operation goes into the sim state 216 , the error emulation starting with a set signal fsim_e. Now, by activating the control signal Cpt_e, the controller triggers a cyclic readout, that is to say a debug operating mode, who goes through the capture and scan-out states 218 and 220 , which essentially correspond to the states 208 and 210 described above, in which the respective Contents of the useful register are read out via the shadow register and the scan chain. After the shadow registers have been read out in state 220, the operation reaches the sim state 216 again by deactivating the control signal Scan_e, from which a snapshot of the internal circuit states can then be obtained again by activating the signal Cpt_e.

Das Laden der Register R1 und R3 mit benutzerdefinierten Wer­ ten, wie oben bezüglich der Zustände 212 und 214 beschrieben wurde, kann als Konfigurationsbetrieb betrachtet werden. Nach Abschluß dieses Konfigurationsbetriebs wird durch das Aktivie­ ren des Steuersignals Fsim_e der Ausgang des Schattenregisters R2 über den Demultiplexer MUX4 direkt auf den Abtastkettenaus­ gang scan_o geschaltet, so daß während der Zustände 216, 218 und 220 das Fehleraktivierungsregister R3 aus der Abtastkette geschaltet ist. Der Demultiplexer MUX4 stellt somit ein Schal­ tungselement für das interne Umschalten der Abtastkette dar, um die Abtastkette für den Debugging-Betrieb, d. h. das zyklische Auslesen der Schaltungszustände der Nutzregister, wieder zu verkürzen, um lediglich das Schattenelement R2 zu enthalten.Loading registers R1 and R3 with user-defined values, as described above with regard to states 212 and 214 , can be considered a configuration operation. After completion of this configuration operation by activating the control signal Fsim_e the output of the shadow register R2 is switched directly to the scan chain output scan_o via the demultiplexer MUX4, so that the error activation register R3 is switched out of the scan chain during states 216 , 218 and 220 . The demultiplexer MUX4 thus represents a circuit element for the internal switching of the scan chain in order to shorten the scan chain for debugging operation, ie the cyclical reading of the circuit states of the useful registers, in order to contain only the shadow element R2.

Wie der Tabelle hinsichtlich MUX2 in Fig. 7c zu entnehmen ist, erfolgt hierbei eine Fehleremulation dahingehend, daß abhängig vom in dem Fehleraktivierungsregister R3 gespeicherten Wert R3 über den Demultiplexer MUX2 entweder das Eingangssignal d in das Nutzregister R1 getaktet wird, oder das Register über die Rückkopplung 2 auf einen Fehlerwert festgelegt wird, wenn der in dem Fehleraktivierungsregister R3 gespeicherte Wert 1 be­ trägt.As can be seen from the table with regard to MUX2 in FIG. 7c, an error emulation takes place in such a way that, depending on the value R3 stored in the error activation register R3, either the input signal d is clocked into the useful register R1 via the demultiplexer MUX2, or the register is fed back via the feedback 2 is set to an error value when the value stored in the error activation register R3 is 1.

Neben der in Fig. 7b gezeigten Verschaltung der Abtastkette gibt es alternative Verschaltungen der Emulatorzellen unterein­ ander und mit der Steuerung, um die erfindungsgemäße Funktiona­ lität zu erreichen. Beispielsweise kann weiterhin nur das Schattenregister in einer Abtastkette gehalten werden, wobei dann in einem ersten Schritt der Wert für die Initialisierung der Nutzregister in der Schaltung positioniert werden kann. In einem zweiten Schritt kann dann genauso die Initialisierung für das Fehleraktivierungsregister R3 eingestellt werden. Wiederum alternativ können beide Register gleichzeitig über getrennte Zugänge der Steuerung zugänglich gemacht werden, was beispiels­ weise über zwei getrennte Abtastketten erfolgen kann. Bei dem oben beschriebenen Ausführungsbeispiel wurde sozusagen ein Mit­ telweg gewählt, bei dem beide Register R2 und R3 in eine Ab­ tastkette aufgenommen sind, wobei jedoch das Fehleraktivie­ rungsregister R3 im Debugging-Betrieb aus der Abtastkette herausgeschaltet werden kann, so daß das Auslesen der Schatten­ register R2 keine verlängerte Zeit in Anspruch nimmt, um da­ durch die Zeit zwischen zwei folgenden Schnappschüssen des Schaltungszustandes während des Debugging-Betriebs nicht zu vergrößern.In addition to the interconnection of the scan chain shown in FIG. 7b, there are alternative interconnections of the emulator cells with one another and with the controller in order to achieve the functionality according to the invention. For example, only the shadow register can still be kept in a scan chain, in which case the value for the initialization of the useful registers can then be positioned in the circuit. In a second step, the initialization for the error activation register R3 can then also be set. Again, alternatively, both registers can be made accessible to the controller simultaneously via separate accesses, which can be done, for example, via two separate scan chains. In the embodiment described above, a medium was chosen, so to speak, in which both registers R2 and R3 are included in a scan chain, but the error activation register R3 can be switched out of the scan chain in debugging mode, so that the reading of the shadow register R2 does not take an extended time in order not to increase the time between two subsequent snapshots of the circuit state during the debugging operation.

Die nunmehr beschriebene Emulation statischer Fehler kann zwar parallel zu einem Debugger-Verfahren durchgeführt werden, ohne dasselbe zu stören, liefert jedoch keine Möglichkeit, veränder­ liche Fehler während eines Debugging-Verfahrens zu emulieren.The emulation of static errors now described can indeed to be performed in parallel with a debugger procedure without disrupting the same, however, provides no way of changing emulate errors during a debugging process.

Um eine solche Emulation dynamischer Fehler zu ermöglichen, sind bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, wie es in Fig. 1 dargestellt ist, das zusätzliche Dynamikfehleraktivierungsregister R4 und das zusätzliche Dyna­ mikfehlerpegelregister R5 vorgesehen. Der Betrieb der Schal­ tung, die diese beiden zusätzlichen Register enthält, wird nun­ mehr bezugnehmend auf die Fig. 1, 8 und 9 erläutert.In order to enable such a dynamic error emulation, the additional dynamic error activation register R4 and the additional dynamic error level register R5 are provided in the preferred embodiment of the present invention, as shown in FIG. 1. The operation of the scarf device, which contains these two additional registers, will now be explained with reference to FIGS. 1, 8 and 9.

Bei der dynamischen Fehleremulation kann für jedes Nutzregister sowohl ein neuer Fehlerwert im Dynamikfehlerpegelregister R5 als auch ein Signal zur dynamischen Fehleraktivierung im Dyna­ mikfehleraktivierungsregister R4 positioniert werden. Ein Steu­ ersignal DFS_upd ist vorgesehen, bei dessen Aktivierung die neu geladene Fehlerpositionierung gültig wird. Wenn dieses Steuer­ signal DFS_upd aktiv ist, übernimmt das Nutzregister R1 den neuen Fehlerwert aus R5, falls der in dem Dynamikfehleraktivie­ rungsregister R4 gespeicherte Wert anzeigt, daß eine neue Feh­ lerpositionierung aktiviert werden soll. Dabei wird der Inhalt des Dynamikfehleraktivierungsregisters R4 in das Register R3 übernommen, um diese Fehlerpositionierung dann zu aktivieren.With dynamic error emulation, for each user register both a new error value in the dynamic error level register R5 as well as a signal for dynamic error activation in the Dyna micro error activation register R4 are positioned. A tax ersignal DFS_upd is provided, when activated the new loaded error positioning becomes valid. If this tax signal DFS_upd is active, the user register R1 takes over new error value from R5, if that in the dynamic error activation R4 stored value indicates that a new error positioning should be activated. The content the dynamic error activation register R4 into the register R3 accepted to then activate this error positioning.

Um weder den Normalbetrieb noch die aktuelle Fehlerpositionie­ rung zu stören, wird die Abtastkette bei dem in Fig. 1 darge­ stellten Ausführungsbeispiel durch das Signal DFS_e derart ge­ schaltet, daß eine neue Fehlerpositionierung in die Register R4 und R5 geladen wird, ohne das Nutzregister R1 und die Register R2 und R3 zu verändern. Weiterhin bestehen Fehlerpositionierun­ gen grundsätzlich aus einem Fehlerwert, auf den das Nutzregis­ ter R1 gesetzt bleibt. Ebenfalls weiterhin ist die Information wesentlich, ob ein Fehler für die betreffende Zelle, d. h. das betreffende Nutzregister R1, aktiviert werden soll, oder ob das Nutzregister im Normalbetrieb betrieben werden soll. Grundle­ gend bei einer Emulation dynamischer Fehler ist weiterhin die Notwendigkeit, daß neue Fehlerpositionierungen während des Be­ triebs der Nutzschaltung, d. h. des DUTs, eingebracht werden können, ohne den normalen Betrieb zu stören, oder daß ein be­ reits positionierten Fehler vorübergehend verändert werden kann, wobei vorzugsweise der Debugging-Vorgang nicht unterbro­ chen wird. Grundsätzlich muß hierbei ein separater Zugang der Steuerung zu den Registern R4 und R5 gegeben sein. Dies kann zum einen durch einen vollständig separierten Zugang realisiert sein oder, wie bei dem in Fig. 1 dargestellten Ausführungsbei­ spiel, durch eine entsprechende Verschaltung der Abtastkette.In order not to disturb normal operation or the current error positioning, the scanning chain in the embodiment shown in FIG. 1 is switched by the signal DFS_e such that a new error positioning is loaded into the registers R4 and R5 without the user register R1 and to change registers R2 and R3. Furthermore, error positioning basically consists of an error value to which the useful register R1 remains set. Also important is the information as to whether an error should be activated for the relevant cell, ie the relevant user register R1, or whether the user register should be operated in normal operation. Grundle Legend with an emulation of dynamic errors is still the need that new error positions can be introduced during the operation of the useful circuit, ie the DUT, without disturbing normal operation, or that an already positioned error can be temporarily changed, whereby preferably the debugging process is not interrupted. Basically, the controller must have separate access to registers R4 and R5. This can be realized on the one hand by a completely separate access or, as in the case of the embodiment shown in FIG .

Wie in Fig. 8 gezeigt ist, beginnt auch die Emulation dynami­ scher Fehler mit der Initialisierung der Schaltung, also dem Setzen von Startwerten für die Nutzregister und der anfängli­ chen Fehlerpositionierung in Zuständen 222 (Scan in) und 224 (Set), die den Zuständen 212 und 214 in Fig. 7a entsprechen. Nach diesem Konfigurationsbetrieb folgt wiederum der Emula­ tions- und Debugging-Zyklus, der in Fig. 8 als Zustand 226, der wiederum mit "sim" bezeichnet ist, gezeigt ist. Ausgehend von diesem Zustand 226 ist in Fig. 8 wiederum ein zyklisches Ausle­ sen der inneren Schaltungszustände über Zustände 228 und 230 gezeigt, die im wesentlichen den Betriebszuständen 218 und 220 in Fig. 7a entsprechen.As shown in FIG. 8, the emulation of dynamic errors also begins with the initialization of the circuit, i.e. the setting of start values for the useful register and the initial error positioning in states 222 (scan in) and 224 (set), which correspond to the states 212 and 214 in Fig. 7a correspond. This configuration operation is followed in turn by the emulation and debugging cycle, which is shown in FIG. 8 as state 226 , which in turn is labeled "sim". Starting from this state 226 , FIG. 8 in turn shows a cyclic reading of the internal circuit states via states 228 and 230 , which essentially correspond to the operating states 218 and 220 in FIG. 7a.

Alternativ zu diesem Auslesen in den Zuständen 228 und 230 kann nun jedoch eine neue Fehlerpositionierung durchgeführt werden, die mit dem Setzen des Steuersignals DFS_e beginnt, um in den Zustand 232, der mit "scan in fp" bezeichnet ist, überzugehen. In diesem Zustand werden über die Abtastkette, in die die Regi­ ster R4 und R5 geschaltet sind, benutzerdefinierte Werte in diese Register geladen. Die Register R1 bis R3 bleiben davon unberührt. Nach dem Einlesen der neuen Fehlerpositionierungen in die Register R4 und R5 während des Betriebszustands 232 geht der Betrieb in den Zustand 234, der mit "update" bezeichnet ist, über, indem das Steuersignal DFS_upd gesetzt wird. Dadurch wird die vorher eingelesene neue Fehlerpositionierung akti­ viert.As an alternative to this reading in the states 228 and 230 , however, a new error positioning can now be carried out, which begins with the setting of the control signal DFS_e in order to transition to the state 232 , which is designated "scan in fp". In this state, user-defined values are loaded into these registers via the scan chain in which the registers R4 and R5 are connected. The registers R1 to R3 remain unaffected. After the new error positions have been read into the registers R4 and R5 during the operating state 232 , the operation changes to the state 234 , which is denoted by “update”, in that the control signal DFS_upd is set. This activates the previously read in new error positioning.

Da bei dem in Fig. 1 gezeigten Ausführungsbeispiel nur eine einzige Abtastkette zwischen den Zellen des Emulators/Debuggers und dem Steuerwerk verwendet ist, kann das neue Positionieren von Fehlern durch das Durchlaufen der Zustände 232 und 234 nur alternativ zum Durchführen eines Auslesens durch das Durchlau­ fen der Zustände 228 und 230 durchgeführt werden. Es ist jedoch klar, daß beim Vorsehen getrennter Zugänge zu den Register R4 und R5 der Übergang in die Zustände "Capture" 228 und "scan in fp" 232 gleichzeitig geschehen kann, wenn die Steuerung und die Schnittstellen entsprechend ausgebildet sind.Since only a single scan chain is used between the cells of the emulator / debugger and the control unit in the exemplary embodiment shown in FIG. 1, the new positioning of errors by going through states 232 and 234 can only be used as an alternative to carrying out a readout by going through of states 228 and 230 are performed. However, it is clear that if separate accesses to the registers R4 and R5 are provided, the transition to the "Capture" 228 and "scan in fp" 232 states can take place simultaneously if the control and the interfaces are designed accordingly.

Die vorliegende Erfindung schafft somit eine Vorrichtung zur Fehleremulation, die gleichzeitig zu einer Hardware-Fehlerana­ lyse durch das zyklische Auslesen von internen Schaltungszu­ ständen mittels Schattenregistern eine Fehleremulation jeweili­ ger interner Schaltungsknoten ermöglicht. Die erfindungsgemäße Vorrichtung ermöglichst sowohl das Positionieren statischer Fehler als auch das Positionieren dynamischer Fehler.The present invention thus provides an apparatus for Fault emulation that simultaneously leads to a hardware fault lysis by cyclical reading of internal circuit error emulation using shadow registers ger internal circuit node enabled. The invention Device enables both the positioning of static Errors as well as positioning dynamic errors.

Die obigen Ausführungsbeispiel der vorliegenden Erfindung wur­ den jeweils bezugnehmend auf Schattenregister bzw. Fehlerposi­ tionierungsregister beschrieben, die eine FIFO-Tiefe von eins aufweisen. Alternativ ist es möglich, insbesondere die Register R2, R4 und R5 durch Register mit einer höheren FIFO-Tiefe zu realisieren, was die Emulation dynamischer Fehler ermöglicht, wobei einzelne Fehler nur über eine kurze Zeit hinweg in einer Zelle positioniert werden, wie aus den folgenden Erläuterungen klar wird.The above embodiment of the present invention has been each referring to shadow register or error posi tioning registers described, the FIFO depth of one exhibit. Alternatively, it is possible, especially the registers R2, R4 and R5 through registers with a higher FIFO depth realize what enables dynamic error emulation, with individual errors only in a short time Cell can be positioned as from the following explanations becomes clear.

Konfiguriert man das Schattenregister R2 als ein einzelnes Re­ gister mit einer FIFO-Tiefe von eins, kann nur in jedem zweiten Takt des Registers ein Wert aus der Schaltung ausgelesen wer­ den, wohingegen ab einer FIFO-Tiefe von zwei in jedem Takt C2 ein Wert aus der Schaltung ausgelesen und der Steuerung zur Verfügung gestellt werden kann. Dies ermöglicht eine lückenlose Beobachtung der Schaltung.Configure the shadow register R2 as a single Re gister with a FIFO depth of one, can only in every second Clock of the register a value read from the circuit who whereas, from a FIFO depth of two in every clock C2 a value is read from the circuit and sent to the controller Can be made available. This enables a complete Observation of the circuit.

Bei einer Ausgestaltung des Dynamikfehleraktivierungsregisters R4 mit einer FIFO-Tiefe von eins können lediglich Informationen dahingehend gespeichert werden, ob ein neuer Fehler bei insge­ samter Aktivierung der Fehleremulation aktiviert werden soll, oder ob die Zelle normal betrieben werden soll. Wird dieses Re­ gister R4 hingegen als FIFO-Speicher konfiguriert, der konti­ nuierlich die gespeicherten Informationen bei einer aktiven Fehleremulation ausgibt, ist es möglich, Fehler für eine vorge­ gebene Zeit zu aktivieren und anschließend wieder zu deaktivieren, unabhängig von anderen Debugger/Emulator-Zellen. Bei einer beispielhaften FIFO-Tiefe von vier und dem Auffüllen dieses FI­ FO-Registers mit der Sequenz [1,1,1,0] kann erreicht werden, daß nach dem Aktivieren der Fehleremulation für drei Zellentak­ te C2 eine 1 in dem Register R3 gespeichert wird, was bei dem dargestellten Ausführungsbeispiel das Aktivieren des Fehlers bedeutet. Die im folgenden Takt geschriebene 0, die eine Deak­ tivierung des Fehlers darstellt, schaltet den Fehler nach den drei Takten wieder aus.When the dynamic error activation register is configured R4 with a FIFO depth of one can only provide information be saved whether a new error in total entire activation of the error emulation should be activated, or whether the cell should be operated normally. Will this re gister R4, however, configured as a FIFO memory, the cont only the information stored when it is active Error emulation outputs, it is possible to pre-error for a activate the given time and then deactivate it again,  independent of other debugger / emulator cells. At a exemplary FIFO depth of four and filling this FI FO registers with the sequence [1,1,1,0] can be achieved that after activating the error emulation for three cell clock te C2 a 1 is stored in the register R3, which at the illustrated embodiment, the activation of the error means. The 0 written in the following bar, which is a deak activation of the error, switches the error according to the three bars out.

Vergleichbar zu dem Register R4 kann auch in das Register R5 eine Sequenz von Fehlerpegeln abgelegt werden, wenn das Regi­ ster 5 als eine FIFO-Speicher ausgestaltet ist. In jedem Takt kann hier die Möglichkeit geboten werden, das Register auf ei­ nen definierten Wert einzustellen. Somit ist es zum einen mög­ lich, eine Sequenz von unterschiedlichen Fehlerpegeln zu erzeu­ gen. Zum anderen kann auch innerhalb der Schaltung eine Sequenz von Stimulierungen nachfolgender Schaltungsteile erzeugt wer­ den. Auf diese Weise lassen sich dann bestimmte Schaltungsteile innerhalb der Nutzschaltung gezielt simulieren.Comparable to the register R4, a sequence of error levels can also be stored in the register R5 if the register 5 is designed as a FIFO memory. The possibility of setting the register to a defined value can be offered here in each cycle. Thus, on the one hand, it is possible to generate a sequence of different error levels. On the other hand, a sequence of stimulations of subsequent circuit parts can also be generated within the circuit. In this way, certain circuit parts within the useful circuit can then be specifically simulated.

Claims (6)

1. Vorrichtung zur Fehleremulation in digitalen Logikschaltun­ gen (12), die eine Mehrzahl interner Schaltungsknoten mit zugeordneten Nutzregistern (R1), in denen Schaltungszustände der internen Schaltungsknoten, die von Eingangssignalen ab­ hängen, gespeichert sind, aufweisen, wobei jedem Nutzregi­ ster (R1) ein Schattenregister (R2), über das der Schal­ tungszustand des Nutzregisters (R1) ausgelesen werden kann, zugeordnet ist, wobei einem oder mehreren der Nutzregister (R1) jeweils ein eigenes Fehleraktivierungsregister (R3) zu­ geordnet ist, das derart mit dem zugehörigen Nutzregister (R1) verschaltet ist, daß der Ausgang des zugehörigen Nutz­ registers (R1) unabhängig von dem an demselben anliegenden Eingangssignal auf einen Fehlerwert festlegbar ist. 1. Device for error emulation in digital logic circuits ( 12 ) which have a plurality of internal circuit nodes with associated useful registers (R1) in which circuit states of the internal circuit nodes which depend on input signals are stored, each useful register (R1) A shadow register (R2), via which the circuit state of the user register (R1) can be read out, is assigned, one or more of the user registers (R1) each being assigned its own error activation register (R3), which is associated with the associated user register ( R1) is connected so that the output of the associated useful register (R1) can be set to an error value independently of the input signal present at the same. 2. Vorrichtung nach Anspruch 1, bei der die Schattenregister (R2) und die Fehleraktivierungsregister (R3) in einer Ab­ tastkette (40) angeordnet sind, derart, daß in einem Konfi­ gurationsbetrieb vorbestimmte Werte in die Schattenregister (R2) und Fehleraktivierungsregister (R3) schiebbar sind, wobei die Fehleraktivierungsregister (R3) außerhalb des Konfigurationsbetriebs aus der Abtastkette (40) schaltbar sind.2. Device according to claim 1, in which the shadow registers (R2) and the error activation registers (R3) are arranged in a scan chain ( 40 ), such that, in a configuration operation, predetermined values in the shadow registers (R2) and error activation registers (R3) can be shifted, the error activation register (R3) being switchable outside of the configuration mode from the scan chain ( 40 ). 3. Vorrichtung nach Anspruch 1 oder 2, bei der einem oder meh­ reren der Nutzregister (R1), denen ein Fehleraktivierungsre­ gister (R3) zugeordnet ist, ferner ein Dynamikfehleraktivie­ rungsregister (R4) und ein Dynamikfehlerpegelregister (R5) zugeordnet ist, die derart mit dem Nutzregister (R1) und dem Fehleraktivierungsregister (R3) verschaltet sind, daß der Ausgang des Nutzregisters für vorbestimmte Zeitdauern wäh­ rend des Betriebs der digitalen Logikschaltung (12) unabhän­ gig von dem an dem Nutzregister (R1) anliegenden Eingangssi­ gnal auf einen Fehlerwert festlegbar ist. 3. Apparatus according to claim 1 or 2, in which one or more of the useful registers (R1), to which an error activation register (R3) is assigned, furthermore a dynamic error activation register (R4) and a dynamic error level register (R5) which is associated with it the useful register (R1) and the error activation register (R3) are connected such that the output of the useful register can be set to an error value for predetermined periods of time during the operation of the digital logic circuit ( 12 ) independently of the input signal applied to the useful register (R1) . 4. Vorrichtung nach Anspruch 3, bei der über das Dynamikfehler­ aktivierungsregister (R4) definiert wird, ob der Ausgang des Nutzregisters (R1) auf einen über das Dynamikfehlerpegelre­ gister (R5) definierten Fehlerwert festgelegt werden soll.4. The device according to claim 3, wherein the dynamic error activation register (R4) defines whether the output of the User register (R1) to one above the dynamic error level gister (R5) defined error value should be set. 5. Vorrichtung nach Anspruch 3 oder 4, bei der das Dynamikfeh­ leraktivierungsregister (R4) und das Dynamikfehlerpegelre­ gister (R5) in einer Abtastkette (40) angeordnet sind, der­ art, daß in einem Dynamikfehlerkonfigurationsbetrieb vorbe­ stimmte Werte in dieselben schiebbar sind, wobei das Dyna­ mikfehleraktivierungsregister (R4) und das Dynamikfehlerpe­ gelregister (R5) außerhalb des Dynamikfehlerkonfigurations­ betriebs aus der Abtastkette (40) schaltbar sind.5. Apparatus according to claim 3 or 4, in which the dynamic error activation register (R4) and the dynamic error level register (R5) are arranged in a scan chain ( 40 ), such that predetermined values can be shifted into the same in a dynamic error configuration operation, the Dynamic error activation register (R4) and the dynamic error level register (R5) can be switched out of the scan chain ( 40 ) outside the dynamic error configuration mode. 6. Vorrichtung nach einem der Ansprüche 1 bis 5, bei dem das Schattenregister (R2) und/oder das Dynamikfehleraktivie­ rungsregister R4 und/oder das Dynamikfehlerpegelregister (R5) als FIFO-Speicher ausgebildet sind.6. Device according to one of claims 1 to 5, in which the Shadow register (R2) and / or the dynamic error activation R4 register and / or the dynamic error level register (R5) are designed as a FIFO memory.
DE1999150810 1999-10-21 1999-10-21 Error emulation device in digital logic circuits Expired - Fee Related DE19950810C1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE1999150810 DE19950810C1 (en) 1999-10-21 1999-10-21 Error emulation device in digital logic circuits
CH18552000A CH694928A5 (en) 1999-10-21 2000-09-21 Device for error emulation in digital logic circuits.
ITMI20002237 IT1319010B1 (en) 1999-10-21 2000-10-17 DEVICE FOR THE EMULATION OF ERRORS IN DIGITAL LOGIC CIRCUITS
FR0013442A FR2800877B1 (en) 1999-10-21 2000-10-20 DEVICE FOR EMULATING DEFECTS IN DIGITAL LOGIC CIRCUITS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999150810 DE19950810C1 (en) 1999-10-21 1999-10-21 Error emulation device in digital logic circuits

Publications (1)

Publication Number Publication Date
DE19950810C1 true DE19950810C1 (en) 2001-06-13

Family

ID=7926468

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999150810 Expired - Fee Related DE19950810C1 (en) 1999-10-21 1999-10-21 Error emulation device in digital logic circuits

Country Status (4)

Country Link
CH (1) CH694928A5 (en)
DE (1) DE19950810C1 (en)
FR (1) FR2800877B1 (en)
IT (1) IT1319010B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764079A (en) * 1996-03-11 1998-06-09 Altera Corporation Sample and load scheme for observability of internal nodes in a PLD
US5870410A (en) * 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development
US5875197A (en) * 1995-05-15 1999-02-23 Motorola Inc. Addressable serial test system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568380A (en) * 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
US5859657A (en) * 1995-12-28 1999-01-12 Eastman Kodak Company Led printhead and driver chip for use therewith having boundary scan test architecture
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875197A (en) * 1995-05-15 1999-02-23 Motorola Inc. Addressable serial test system
US5764079A (en) * 1996-03-11 1998-06-09 Altera Corporation Sample and load scheme for observability of internal nodes in a PLD
US5870410A (en) * 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The Institute of Electrical and Electronics Engineers: IEEE Standard Test Access Port and Boundary-Scan Architecture, IEEE Standard 1149.1-1990, New-York, 1990, S.1-1 - 1-5, S.4-1 - 4-3, S.5-1, S. 5-12f, S. 10-13, S. 10-19 *

Also Published As

Publication number Publication date
CH694928A5 (en) 2005-09-15
FR2800877A1 (en) 2001-05-11
IT1319010B1 (en) 2003-09-19
FR2800877B1 (en) 2003-08-29
ITMI20002237A1 (en) 2002-04-17

Similar Documents

Publication Publication Date Title
DE60009856T2 (en) CONVERTIBLE INTEGRATED CIRCUIT WITH BUILT-IN TROUBLESHOOTING SYSTEM FOR A SIMULATION SYSTEM
DE69835106T2 (en) Embedded logical analyzer
DE2346617C3 (en) Method for checking the unilaterally limited propagation delay of a functional unit
DE3903835C2 (en)
DE2729053C2 (en) Test procedure for a monolithically integrated step-sensitive, one-sided delay-dependent logical unit
DE69914864T2 (en) CONTROL OF CONFIGURATION IN A PROGRAMMABLE LOGIC UNIT BY NON-VOLATILE COMPONENTS
DE69533275T2 (en) A control device for performing the scanning test
DE602005003225T2 (en) METHOD AND SYSTEM FOR SIMULATING A MODULAR TEST SYSTEM
DE4420610A1 (en) Method and device for configuring memory circuits
DE10034405B4 (en) Method and system for programming FPGAs on PC cards without additional hardware
EP0186724B1 (en) Test and diagnostic device for a digital calculator
DE19814415A1 (en) Logic analysis subsystem in a time slice emulator
DE60309931T2 (en) CONNECTING MULTIPLE TEST ACCESS PORTS CONTROL UNITS THROUGH A RETAIL ACCESS PORT
EP1720100A1 (en) Method and apparatus for emulating a programmable unit
DE2349324A1 (en) METHOD AND DEVICE FOR TESTING FUNCTIONAL LOGICAL CIRCUITS
DE19510902A1 (en) Multi-port memory emulation using marker registers
DE4434927A1 (en) Powerful testing of mixed standard / boundary scan logic
EP1565825A2 (en) Device and method for analysing embedded systems
DE2902375A1 (en) LOGIC BLOCK FOR INTEGRATED DIGITAL CIRCUITS
DE19950810C1 (en) Error emulation device in digital logic circuits
DE10052721B4 (en) Integrated circuit and method for testing an integrated circuit
DE19950838C2 (en) Method and device for error analysis of digital logic circuits
DE19781563C2 (en) Pattern generator
DE112019007386T5 (en) IMPROVED JTAG REGISTERS WITH SIMULTANEOUS INPUTS
EP3739479B1 (en) Method for detecting errors in the program logic of a system of distributed programmable gate assemblies

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130501