ES2260474T3 - PROCEDURE FOR THE VERIFICATION OF A COMPUTER NUCLEUS OF A MICROPROCESSOR OR A MICRO CONTROLLER. - Google Patents

PROCEDURE FOR THE VERIFICATION OF A COMPUTER NUCLEUS OF A MICROPROCESSOR OR A MICRO CONTROLLER.

Info

Publication number
ES2260474T3
ES2260474T3 ES02762230T ES02762230T ES2260474T3 ES 2260474 T3 ES2260474 T3 ES 2260474T3 ES 02762230 T ES02762230 T ES 02762230T ES 02762230 T ES02762230 T ES 02762230T ES 2260474 T3 ES2260474 T3 ES 2260474T3
Authority
ES
Spain
Prior art keywords
computer
core
microprocessor
automatic test
verified
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 - Lifetime
Application number
ES02762230T
Other languages
Spanish (es)
Inventor
Klaus-Peter Mattern
Michael Hering
Werner Harter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2260474T3 publication Critical patent/ES2260474T3/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Abstract

Procedimiento para la creación de una prueba automática (7) para la verificación de la función correcta de un núcleo de ordenador (36) de un microprocesador (30) o de un microcontrolador, en el que el núcleo del ordenador (36) comprende varias puertas con varios transistores, respectivamente, en el que durante una ejecución correcta de un programa de ordenador (3) en el microprocesador (30) o microcontrolador se ejecuta cíclicamente una prueba automática (7) y en el marco de la prueba automática (7) se verifica la función correcta de puertas del núcleo del ordenador, caracterizado porque se verifican al menos aquellas puertas del núcleo del ordenador (36), cuyo estado tiene repercusiones sobre la ejecución correcta del programa de ordenador (3) en el microprocesador (30) o microcontrolador, durante la ejecución de la prueba automática (7), y se crea en este caso la prueba automática (4), de tal manera que - se crea (11) un proyecto de la prueba automática (7) para el núcleo del ordenador (36); - se verifica si el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, tiene repercusiones sobre el desarrollo correcto del programa de ordenador (3) sobre el microprocesador (30) o microcontrolador (14); - en el caso de que el estado de al menos una puerta del núcleo del ordenador, que no es verificado por el proyecto de la prueba automática (7) durante una operación, tenga repercusiones sobre el desarrollo correcto del programa de ordenador (3) en el microprocesador (30) o microcontrolador, se crea la prueba automática (7) acabada, siendo ampliado el proyecto de la prueba automática (7) de tal forma que se verifican adicionalmente al menos aquellas puertas del núcleo del ordenador (36), que no han sido verificadas por el proyecto de la prueba automática (7) y cuyo estado tiene repercusiones sobre el desarrollo correcto del programa de ordenador (3) sobre el microprocesador (30) o microcontrolador, y - en el caso de que el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, no tenga repercusiones sobre el desarrollo correcto del programa de ordenador (3) en el microprocesador (30) o microcontrolador, se utiliza (20) el proyecto de la prueba automática (7) como prueba automática acabada (7).Procedure for the creation of an automatic test (7) for the verification of the correct function of a computer core (36) of a microprocessor (30) or of a microcontroller, in which the computer core (36) comprises several doors with several transistors, respectively, in which during an correct execution of a computer program (3) in the microprocessor (30) or microcontroller an automatic test (7) is cyclically executed and within the framework of the automatic test (7) verifies the correct function of doors of the computer core, characterized in that at least those doors of the computer core (36) are verified, whose status has repercussions on the correct execution of the computer program (3) in the microprocessor (30) or microcontroller , during the execution of the automatic test (7), and in this case the automatic test (4) is created, such that - an automatic test project (7) is created (11) for the computer core (36); - it is verified if the state of those doors of the computer core (36), which are not verified by the automatic test project (7) during an execution, has repercussions on the correct development of the computer program (3) on the microprocessor (30) or microcontroller (14); - in the event that the status of at least one door of the computer core, which is not verified by the automatic test project (7) during an operation, has an impact on the correct development of the computer program (3) in the microprocessor (30) or microcontroller, the finished automatic test (7) is created, the project of the automatic test (7) being expanded in such a way that at least those doors of the computer core (36) are additionally verified, which do not have been verified by the automatic test project (7) and whose status has repercussions on the correct development of the computer program (3) on the microprocessor (30) or microcontroller, and - in the event that the state of those doors of the computer core (36), which are not verified by the automatic test project (7) during a run, has no impact on the correct development of the computer program (3) on the microprocessor (30) or microcontroller, the automatic test project (7) is used as the finished automatic test (7).

Description

Procedimiento para la verificación de un núcleo de ordenador de un microprocesador o de un microcontrolador.Procedure for verifying a kernel of a microprocessor or microcontroller computer.

La presente invención se refiere a un procedimiento para la creación de una prueba automática para la verificación de la función correcta de un núcleo de ordenador de un microprocesador o de un microcontrolador. El núcleo de ordenador comprende varias puertas con varios transistores, respectivamente. En el procedimiento se lleva a cabo de forma cíclica una prueba automática durante un ciclo correcto de un programa de ordenador en el microprocesador o microcontrolador. En el marco de la prueba automática se verifica la función correcta de las puertas del núcleo de ordenador.The present invention relates to a procedure for creating an automatic test for verification of the correct function of a computer core of a microprocessor or a microcontroller. The computer core It comprises several doors with several transistors, respectively. In the procedure a test is performed cyclically automatic during a correct cycle of a computer program in the microprocessor or microcontroller. In the framework of the test The correct function of the core doors is checked automatically of computer.

La invención se refiere, además, a una prueba automática para la verificación de la función correcta de un núcleo de ordenador de un microprocesador de un microcontrolador. El núcleo de ordenador comprende varias puertas con varios transistores, respectivamente. La prueba automática se puede llevar a cabo en operaciones cíclicas durante un ciclo correcto de un programa de ordenador en el microprocesador o en el microcontrolador. En este caso, la prueba automática verifica la función correcta de las puertas del núcleo del ordenador.The invention also relates to a test automatic to verify the correct function of a core of a microprocessor computer of a microcontroller. The nucleus The computer comprises several doors with several transistors, respectively. The automatic test can be carried out in cyclic operations during a correct cycle of a program computer in the microprocessor or in the microcontroller. In this In this case, the automatic test verifies the correct function of the Computer core doors.

Por último, la presente invención se refiere a un microprocesador o a un microcontrolador con un núcleo de ordenador con varias puertas con varios transistores, respectivamente. Sobre el núcleo del ordenador se puede llevar a cabo una prueba automática para la verificación de la función correcta del núcleo del ordenador. La prueba automática se puede realizar durante un ciclo correcto de un programa de ordenador en el microprocesador o microcontrolador en realizaciones cíclicas. En este caso, la prueba automática verifica la función correcta de las puertas del núcleo de ordenador.Finally, the present invention relates to a microprocessor or a microcontroller with a core of multi-door computer with several transistors, respectively. On the core of the computer can be taken to perform an automatic test for function verification Correct computer core. The automatic test can be perform during a correct cycle of a computer program in the microprocessor or microcontroller in cyclic embodiments. In In this case, the automatic test verifies the correct function of the Computer core doors.

Estado de la técnicaState of the art

La prueba automática de un núcleo de ordenador se designa también como prueba automática incorporada (BIST). Se conocen diferentes procedimientos de prueba automática a partir del documento DE 43 05 288 A1 y a partir del Artículo "The Fail-Stop Controller AE11" de Böhl, E. y col., International Test Conference, Paper 24.1, páginas 567 a 577, 0-7803-4209-7/97, 1997 IEEE. Se hace referencia expresa a estas publicaciones.The automatic test of a computer core It is also designated as a built-in automatic test (BIST). Be they know different automatic test procedures from document DE 43 05 288 A1 and from Article "The Fail-Stop Controller AE11 "by Böhl, E. et al., International Test Conference, Paper 24.1, pages 567 to 577, 0-7803-4209-7 / 97, 1997 IEEE. Express reference is made to these publications.

Por "ciclo correcto de un programa de ordenador en el microprocesador o microcontrolador" se entiende que se ejecuta, por ejemplo, en un microprocesador o un microcontrolador de un aparato de control un programa de control, a través del cual se desplaza el microprocesador o bien el aparato de control, en general, ya a la posición para poder cumplir su función de control. El núcleo del ordenador de un microprocesador o de un microcontrolador se designa también como Unidad Central de Procesamiento (CPU) o núcleo.By "correct cycle of a program of computer in the microprocessor or microcontroller "is understood that runs, for example, in a microprocessor or a microcontroller of a control device a control program, to through which the microprocessor moves or the control, in general, already in position to be able to fulfill its function of control. The computer core of a microprocessor or a microcontroller is also designated as Central Unit of Processing (CPU) or core.

Se conoce a partir del campo de los aparatos de control de automóviles, para la verificación de la función de un núcleo de ordenador del aparato de control durante el funcionamiento correcto del aparato de control, prever dos ordenadores con las mismas potencias de cálculo. Esto se designa también como concepto de ordenador redundante. En los dos ordenadores se ejecuta el algoritmo de control o bien el algoritmo de regulación. Los resultados del algoritmo de control o bien del algoritmo de regulación de los dos ordenadores se comparan continuamente entre sí. En el caso de desviaciones significativas de los resultados entre sí, se parte de un error en uno de los dos ordenadores y se desconecta todo el sistema con el fin de evitar un control o bien una regulación erróneos.It is known from the field of devices automobile control, for the verification of the function of a computer core of the control device during operation correct control device, provide two computers with Same powers of calculation. This is also designated as a concept of redundant computer. On both computers the control algorithm or the regulation algorithm. The results of the control algorithm or the algorithm of regulation of the two computers are continuously compared between yes. In the case of significant deviations from the results each other, it starts from an error in one of the two computers and it disconnect the entire system in order to avoid control or wrong regulation.

No obstante, en este procedimiento conocido a partir del estado de la técnica para la verificación de la función correcta del núcleo del ordenador de un microprocesador o de un microcontrolador de un aparato de control es un inconveniente que los errores que aparecen ya durante el funcionamiento correcto del aparato de control, es decir, durante el procesamiento de un programa de control o bien de un programa de regulación, conducen a una desconexión del aparato de control en un instante, en el que la función de control o bien la función de regulación sería especialmente importante. En el caso de una regulación de la estabilidad para un automóvil, por ejemplo, se activa la regulación cuando el vehículo amenaza con desviarse de la dirección. Cuando se detecta un error del núcleo del ordenador del aparato de control en una situación de este tipo y se desconecta el aparato de control y de esta manera se inactiva la regulación, entonces esto puede conducir a la desviación de la dirección del vehículo.However, in this procedure known to from the state of the art for the verification of the function correct from the computer core of a microprocessor or a Microcontroller of a control device is a drawback that the errors that appear already during the correct operation of the control apparatus, that is, during the processing of a control program or a regulation program, lead to a disconnection of the control apparatus in an instant, in which the control function or the regulation function would be especially important. In the case of a regulation of the stability for a car, for example, regulation is activated when the vehicle threatens to deviate from the direction. When detects an error in the computer core of the control device in such a situation and the control apparatus is disconnected and in this way the regulation is inactivated, so this can lead to deviation of vehicle direction.

Para contrarrestar estos inconvenientes, ha sido desarrollado un llamado concepto de ordenador de diversidad, conocido, por ejemplo, a partir del documento DE 195 00 188 A1, en el que el primer ordenador, el llamado ordenador de algoritmo, tiene una potencia mayor que el segundo ordenador, el llamado ordenador de monitor. En el ordenador de algoritmo se ejecuta el algoritmo de control o bien de regulación propiamente dicho y adicionalmente se ejecuta un cálculo de control. El cálculo de control es ejecutado sobre el mismo microprocesador o microcontrolador que el algoritmo de control o bien de regulación, pero en diferentes divisiones de tiempo. En cada llamada del cálculo de control se verifica una zona determinada, es decir, que se verifican la función correcta de determinadas puertas del ordenador de cálculo. Con el cálculo de control se pueden reconocer errores del núcleo de cálculo del ordenador de algoritmo también cuando éste no funciona de forma correcta, es decir, cuando no se ejecuta ningún programa de control o bien ningún programa de regulación. El cálculo de control se puede designar también como una especie de prueba automática.To counteract these inconveniences, it has been developed a so-called diversity computer concept, known, for example, from DE 195 00 188 A1, in the one that the first computer, the so-called algorithm computer, It has a power greater than the second computer, the so-called monitor computer In the algorithm computer the control or regulation algorithm itself and additionally a control calculation is executed. The calculation of control is executed on the same microprocessor or microcontroller than the control or regulation algorithm, but in different divisions of time. In each call of the control calculation a certain area is verified, that is, that the correct function of certain doors of the Calculation computer With the control calculation you can recognize algorithm computer calculation core errors too when it does not work correctly, that is, when it is not run any control program or any program of regulation. The control calculation can also be designated as A kind of automatic test.

En el ordenador de monitor se ejecuta el mismo cálculo de control. Los resultados de los cálculos de control se comparan entre sí y en el caso de desviaciones significativas de los resultados entre sí, se parte de un error en el núcleo del ordenador del algoritmo y éste es desconectado, con el fin de evitar un control o bien una regulación errónea. Con la ayuda del cálculo de control se puede conseguir una cobertura de la prueba entre el 80% y 85% de todas las puertas del núcleo del ordenador del algoritmo.The same is executed on the monitor computer control calculation The results of the control calculations are they compare each other and in the case of significant deviations of the results from each other, it starts from an error in the core of the algorithm computer and this one is disconnected, in order to avoid a control or a wrong regulation. With the help of calculation of control you can get a test coverage between the 80% and 85% of all computer core doors of the algorithm.

El 15% al 20% restante de las puertas del núcleo del ordenador de algoritmo debe verificarse con respecto a la función correcta como anteriormente con la ayuda de una modelación del algoritmo de control o bien de regulación en el ordenador de monitor y con la ayuda de una comparación del resultado modelado con el resultado real del ordenador de algoritmo. Para este 15% al 20% de las puertas del núcleo del ordenador existe, por lo tanto, como anteriormente el problema descrito más arriba, en el sentido de que los errores en determinadas circunstancias solamente pueden aparecer y reconocerse en el caso de un funcionamiento correcto del algoritmo, es decir, por ejemplo, durante la ejecución de un programa de ordenador o bien de un programa de regulación. Además, la modelación del algoritmo de control o bien del algoritmo de regulación en el ordenador de monitor conduce a que en el caso de una modificación del algoritmo de control o bien del algoritmo de regulación propiamente dicho, deba modificarse también el modelo. Por lo tanto, dos grupos de trabajo de desarrollos se dedican a desarrollar, por una parte, el algoritmo de control o bien de regulación propiamente dicho y, por otra parte, a desarrollar adicionalmente el modelo. Esto significa un gasto de personal y de costes considerable.The remaining 15% to 20% of core doors of the algorithm computer must be verified with respect to the correct function as before with the help of modeling of the control or regulation algorithm in the computer of monitor and with the help of a comparison of the result modeled with  The actual result of the algorithm computer. For this 15% to 20% of the doors of the computer core exists, therefore, as above the problem described above, in the sense that errors in certain circumstances can only appear and be recognized in the case of proper operation of the algorithm, that is, for example, during the execution of a computer program or a regulation program. Further, the modeling of the control algorithm or the algorithm of regulation on the monitor computer leads to that in the case of a modification of the control algorithm or the algorithm of regulation itself, the model must also be modified. Therefore, two development working groups are dedicated to develop, on the one hand, the control algorithm or regulation itself and, on the other hand, to develop additionally the model. This means an expense of personnel and of considerable costs.

La presente invención se define en la reivindicación 1.The present invention is defined in the claim 1.

La presente invención tiene el cometido de verificar la función correcta de un núcleo de ordenador de un microprocesador o de un microcontrolador, de tal forma que se evitan los inconvenientes mencionados anteriormente. En particular, debe poder detectarse precozmente la verificación de la función también de aquellos errores que aparecen ya durante el primer funcionamiento correcto del microprocesador o microcontrolador, y debe poder prescindirse, a ser posible, de modelos para los algoritmos de control o bien de regulación.The present invention has the task of verify the correct function of a computer core of a microprocessor or a microcontroller, so that they are avoided the above mentioned inconveniences. In particular, it must the function verification can also be detected early of those errors that appear already during the first correct operation of the microprocessor or microcontroller, and It should be possible to dispense, if possible, with models for control or regulation algorithms.

Para la solución de este cometido se propone, partiendo del procedimiento del tipo mencionado al principio, que al menos aquellas puertas del núcleo del ordenador, cuyo estado tiene repercusiones sobre el ciclo correcto del programa de ordenador, sean verificadas durante una ejecución de la prueba automática y se cree en este caso la prueba automática, de tal forma queFor the solution of this task it is proposed, starting from the procedure of the type mentioned at the beginning, which at least those doors of the computer core, whose status It has repercussions on the correct program cycle computer, be verified during a test run automatic and in this case the automatic test is created, in such a way that

--
se crea un proyecto de la prueba automática para el núcleo del ordenador;        an automatic test project is created for the core of the computer;

--
se verifica si el estado de aquellas puertas del núcleo del ordenador, que no son verificadas por el proyecto de la prueba automática durante una ejecución, tiene repercusiones sobre el desarrollo correcto del programa de ordenador sobre el microprocesador o microcontrolador;        it is verified if the state of those doors of the core of the computer, which are not verified by the test project automatic during an execution, it has repercussions on the correct development of the computer program on the microprocessor or microcontroller;

--
en el caso de que el estado de al menos una puerta del núcleo del ordenador, que no es verificado por el proyecto de la prueba automática durante una operación, tenga repercusiones sobre el desarrollo correcto del programa de ordenador en el microprocesador o microcontrolador, se crea la prueba automática acabada, siendo ampliado el proyecto de la prueba automática de tal forma que se verifican adicionalmente al menos aquellas puertas del núcleo del ordenador, que no han sido verificadas por el proyecto de la prueba automática y cuyo estado tiene repercusiones sobre el desarrollo correcto del programa de ordenador sobre el microprocesador o microcontrolador, y        in the case that the state of at least one core door of the computer, which is not verified by the test project automatic during an operation, have repercussions on the correct development of the computer program in the microprocessor or microcontroller, the finished automatic test is created, being extended the project of the automatic test in such a way that additionally verify at least those doors of the core of the computer, which have not been verified by the test project automatic and whose status has repercussions on development correct of the computer program on the microprocessor or microcontroller, and

--
en el caso de que el estado de aquellas puertas del núcleo del ordenador, que no son verificadas por el proyecto de la prueba automática durante una ejecución, no tenga repercusiones sobre el desarrollo correcto del programa de ordenador en el microprocesador (30) o microcontrolador, se utiliza el proyecto de la prueba automática como prueba automática acabada.        in the case that the state of those doors of the core of the computer, which are not verified by the test project automatic during execution, has no impact on the correct development of the computer program in the microprocessor (30) or microcontroller, the test project is used automatic as automatic test finished.
Ventajas de la invenciónAdvantages of the invention

De acuerdo con la invención, se ha reconocido que en un núcleo de ordenador existen algunas puertas, cuyo estado no repercute sobre un ciclo correcto de un programa de ordenador sobre el microprocesador o microcontrolador. Por errores de estas puertas, por ejemplo atasco en 0 o atasco en 1, no tienen ninguna repercusión sobre el desarrollo del programa de ordenador y, por lo tanto, sobre la función correcta del microprocesador o microcontrolador. Se ha reconocido, además, que estas puertas no tienen que ser verificadas por una prueba automática, para poder asegurar una función correcta del microprocesa-
dor.
According to the invention, it has been recognized that in a computer core there are some doors, the state of which does not affect the correct cycle of a computer program on the microprocessor or microcontroller. Due to errors in these doors, for example, a jam in 0 or a jam in 1, they have no impact on the development of the computer program and, therefore, on the correct function of the microprocessor or microcontroller. It has also been recognized that these doors do not have to be verified by an automatic test, in order to ensure a correct microprocessor function.
dor.

Es importante para la invención en primer lugar determinar todas las puertas que no son abarcadas por la prueba automática y verificar que el estado de estas puertas no es relevante, es decir, que no tiene repercusiones sobre un desarrollo correcto de un programa de ordenador determinado sobre el microprocesador o microcontrolador. En efecto, de acuerdo con la invención, no se consigue una cobertura de prueba completa de todas las puertas del núcleo del ordenador, pero se verifican todas las puertas relevantes. En la presente invención se puede prescindir de un modelado del programa de ordenador, por ejemplo de algoritmos de control o bien de regulación, para la verificación de las puertas no cubiertas por la prueba automática, puesto que estas puertas no tienen tampoco ninguna repercusión sobre el desarrollo correcto del programa de ordenador.It is important for the invention first determine all doors that are not covered by the test automatic and verify that the state of these doors is not relevant, that is, it has no impact on development correct of a particular computer program on the microprocessor or microcontroller. Indeed, according to the invention, complete test coverage of all is not achieved the doors of the computer core, but all the relevant doors. In the present invention you can do without a modeling of the computer program, for example algorithms of control or regulation, for the verification of the doors not covered by the automatic test, since these doors do not they also have no impact on the correct development of computer program.

De acuerdo con un desarrollo ventajoso de la presente invención se propone que antes de la verificación de si el estado de aquellas puertas del núcleo del ordenador, que no son verificadas por el proyecto de la prueba automática durante una ejecución, tiene repercusiones sobre el desarrollo correcto del programa de ordenador sobre el microprocesador o microcontrolador, se determina qué puertas del núcleo del ordenador no son verificadas por el proyecto de la prueba automática durante una ejecución.According to an advantageous development of the This invention proposes that before the verification of whether the state of those computer core doors, which are not verified by the automatic test project during a execution, has repercussions on the correct development of computer program on the microprocessor or microcontroller, it is determined which computer core doors are not verified by the automatic test project during a execution.

De acuerdo con una forma de realización preferida de la invención, se propone que la determinación de qué puertas del núcleo del ordenador no son verificadas por el proyecto de la prueba automática durante una ejecución, se lleve a cabo en un emulador, en el que se reproduce al menos parcialmente la estructura de las puertas del núcleo del ordenador.According to an embodiment preferred of the invention, it is proposed that the determination of what Computer core doors are not verified by the project of the automatic test during a run, be carried out in an emulator, in which the at least partially reproduces structure of the computer core doors.

De una manera más ventajosa, la verificación de si el estado de aquellas puertas del núcleo del ordenador, que no son verificadas por el proyecto de la prueba automática durante una ejecución, tiene repercusiones sobre el desarrollo correcto del programa de ordenador en el microprocesador o en el microcontrolador, se lleva a cabo en un emulador, en el que está reproducida al menos parcialmente la estructura de las puertas del núcleo del ordena-
dor.
In a more advantageous way, the verification of whether the state of those doors of the computer core, which are not verified by the automatic test project during an execution, has repercussions on the correct development of the computer program in the microprocessor or in The microcontroller is carried out in an emulator, in which the structure of the doors of the computer core is at least partially reproduced.
dor.

Dibujos Drawings

Otras características, posibilidades de aplicación y ventajas de la invención se deducen a partir de la descripción siguiente de ejemplos de realización de la invención, que están representados en el dibujo. En este caso, todas las características descritas o representadas, por sí o en combinación discrecional, son objeto de la invención, de una manera independiente de su redacción en las reivindicaciones de patente o su referencia así como independientemente de su formulación o bien representación en la descripción o bien en el dibujo. En este caso:Other features, possibilities of Application and advantages of the invention are deduced from the following description of embodiments of the invention, They are represented in the drawing. In this case, all characteristics described or represented, by themselves or in combination discretionary, are subject to the invention, in a manner independent of its wording in the patent claims or its reference as well as regardless of its formulation or representation in the description or in the drawing. In this case:

La figura 1 muestra un concepto de ordenador de diversidad para la realización de un procedimiento de acuerdo con la invención para la verificación de la función correcta de un microprocesador.Figure 1 shows a computer concept of diversity for performing a procedure in accordance with the invention for the verification of the correct function of a microprocessor.

La figura 2 muestra un concepto de ordenador de diversidad para la realización de un procedimiento conocido a partir del estado de la técnica para la verificación de la función correcta de un microprocesador.Figure 2 shows a computer concept of diversity for performing a known procedure to from the state of the art for the verification of the function correct of a microprocessor.

La figura 3 muestra el diagrama de flujo del procedimiento de acuerdo con la invención; yFigure 3 shows the flow chart of the method according to the invention; Y

La figura 4 muestra un microprocesador, en el que se puede realizar una prueba automática creada de acuerdo con el procedimiento de la invención.Figure 4 shows a microprocessor, in the that an automatic test created according to The process of the invention.

Descripción de los ejemplos de realizaciónDescription of the embodiments

En la figura 4 se designa un microprocesador de acuerdo con la invención en su totalidad con el signo de referencia 30. A través de una conexión de transmisión de datos 35 adecuada, el microprocesador 30 está conectado con una memoria principal 31 y con una unidad de entrada/salida 32. La memoria principal 31 sirve para la memorización de variables de cálculo y de programas de ordenador. A través de la unidad de entrada/salida 32 se introducen datos desde aparatos periféricos y se emiten a ellos.A microprocessor of according to the invention in its entirety with the reference sign 30. Through a suitable data transmission connection 35, the microprocessor 30 is connected to a main memory 31 and with an input / output unit 32. Main memory 31 serves for memorizing calculation variables and programs computer. Through input / output unit 32 are introduced data from peripheral devices and are emitted to them.

El microprocesador 30 dispone de un núcleo de ordenador 36, que se designa también como Unidad Central de Procesamiento (CPU) o como núcleo. El microprocesador 30 comprende un mecanismo de control 33 y un mecanismo de operación 34. El mecanismo de control 33 asume el control del desarrollo dentro del procesador 30 así como el control de la memoria principal 31 y de la unidad de entrada/salida 32. Provoca la lectura de instrucciones del programa de ordenador desde la memoria principal 31, las interpreta y controla su ejecución. Los operandos a procesar son leídos desde la memoria principal 31 o son introducidos a través de la unidad de entrada/salida 32 en el mecanismo de operación 34 y los resultados son escritos en la memoria principal 31 o son emitidos a través de la unidad de entrada/salida 32. El mecanismo de operación 34 asume en este caso la memorización intermedia de los operandos y de los resultados y ejecuta las operaciones lógicas y aritméticas con estos operandos.The microprocessor 30 has a core of computer 36, which is also designated as Central Unit of Processing (CPU) or as a core. The microprocessor 30 comprises a control mechanism 33 and an operation mechanism 34. The control mechanism 33 assumes control of development within the processor 30 as well as control of main memory 31 and of the input / output unit 32. Causes instruction reading of the computer program from main memory 31, the Interpret and control its execution. The operands to be processed are read from main memory 31 or are entered through the input / output unit 32 in the operating mechanism 34 and the results are written in main memory 31 or are issued to through the input / output unit 32. The operating mechanism 34 assumes in this case the intermediate memorization of the operands and of the results and executes the logical and arithmetic operations With these operands.

Además de la memoria principal externa 31, el microprocesador 30 propiamente dicho posee algunas áreas de la memoria. Algunas de ellas están previstas especialmente para ciclos especiales dentro del procesador 30 y no están disponibles de forma inmediata para la programación de máquinas o bien de ensambladores. Otras se pueden seleccionar de forma explícita como células de memoria de la memoria principal 31 y, por lo tanto, son "visibles" para el programador.In addition to external main memory 31, the microprocessor 30 itself has some areas of the memory. Some of them are specially designed for cycles specials within processor 30 and are not available so immediate for programming machines or assemblers. Others can be explicitly selected as cells of main memory memory 31 and therefore are "visible" to the programmer.

El circuito del núcleo del ordenador 36 está constituido principalmente por una pluralidad de transistores (no se representan). Varios transistores se pueden agrupar en puertas. Las salidas de las puertas son designadas como nudos. Un nudo se puede describir como un punto del circuito del núcleo del ordenador con un comportamiento unívoco en cada instante. Un núcleo de ordenador comprende, por ejemplo, aproximadamente 100.000 puertas con aproximadamente entre 10 y 100 transistores, respectivamente.The core circuit of the computer 36 is consisting mainly of a plurality of transistors (not are represented). Several transistors can be grouped in doors. The door exits are designated as knots. A knot is can describe as a point of the computer core circuit with a unique behavior at every moment. A core of computer comprises, for example, approximately 100,000 doors with approximately 10 to 100 transistors, respectively.

Un microcontrolador, en el que se puede realizar de la misma manera el procedimiento de acuerdo con la invención, se conoce a partir del Artículo "The Fail-Stop Controller AE11" de Böhl, E. y col., International Test Conference, Paper 24.1, páginas 567 a 577, 0-7803-4209-7/97, 1997 IEEE. Se hace referencia expresamente a esta publicación.A microcontroller, in which it can be performed in the same way the procedure according to the invention, known from the article "The Fail-Stop Controller AE11 "by Böhl, E. et al., International Test Conference, Paper 24.1, pages 567 to 577, 0-7803-4209-7 / 97, 1997 IEEE. Reference is expressly made to this publication.

En la figura 2 se representa un concepto de ordenador de diversidad, como se conoce por ejemplo a partir del documento DE 195 00 188 A1. Se hace referencia expresamente a esta publicación. Este concepto de ordenador sirve para la realización de un procedimiento conocido a partir del estado de la técnica para la verificación de la función correcta de un núcleo de ordenador 36 de un microcontrolador 30 de un aparato de control de automóvil.A concept of diversity computer, as is known for example from document DE 195 00 188 A1. Reference is expressly made to this publication. This computer concept is for the realization of a procedure known from the prior art for checking the correct function of a computer core 36 of a microcontroller 30 of a car control apparatus.

En el concepto de ordenador de diversidad están previstos dos ordenadores. Un primer ordenador, el llamado ordenador de algoritmo 1, tiene una potencia mayor que el segundo ordenador, el llamado ordenador de monitor 2. En el ordenador de algoritmo 1 se ejecuta un programa de ordenador con un algoritmo de control o bien de regulación 3 propiamente dicho. Además, en el ordenador de algoritmo se ejecuta un cálculo de control (CR) 4. En el cálculo de control 4 se ejecutan en una extensión limitada unos programas de prueba por el microprocesador 30 y se toman señales de salida a través de la unidad de salida 32 y son evaluadas. El cálculo de control 4 implementado como software como parte del programa de ordenador 4 es ejecutado por el ordenador de algoritmo 1 en línea en divisiones de tiempo en paralelo a la ejecución del algoritmo de control o bien de regulación propiamente dicho. En cada llamada del cálculo de control 4 en una división de tiempo se verifica una zona determinada, es decir, que se verifica la función correcta de puertas determinadas, del núcleo de ordenador 36. Para una ejecución completa del cálculo de control 4, éste es llamado en varias divisiones de tiempo. Después de una ejecución del cálculo de control no se verifican todas las puertas del núcleo del ordenador 36. Habitualmente, en el cálculo de control se consigue una cobertura de prueba entre el 80% y el 85% aproximadamente de todas las puertas del núcleo del ordenador 36 del ordenador de algoritmo 1.In the concept of diversity computer are planned two computers. A first computer, the so-called algorithm computer 1, has a power greater than the second computer, the so-called monitor computer 2. In the computer algorithm 1 runs a computer program with an algorithm of control or regulation 3 itself. Also, in the Algorithm computer runs a control calculation (CR) 4. In control calculation 4 are executed in a limited extent about test programs by microprocessor 30 and signals are taken from output through output unit 32 and are evaluated. He control calculation 4 implemented as software as part of the computer program 4 is executed by the algorithm computer 1 online in time divisions in parallel to the execution of the control or regulation algorithm itself. In each call of control calculation 4 in a time division is verify a certain area, that is, the function is verified correct of certain doors, of the computer core 36. To a complete execution of control calculation 4, this is called in Several divisions of time. After a calculation run of control not all the doors of the core of the computer 36. Usually, the calculation of control is achieved a test coverage between approximately 80% and 85% of all the doors of the computer core 36 of the computer algorithm 1.

En el ordenador de monitor 2 se ejecuta de la misma manera un cálculo de control (CR) 5. En este caso, se verifica la función correcta de puertas de un núcleo de ordenador 36 del ordenador modelo 2. Los resultados del cálculo de control 4 realizado en el ordenador de algoritmo 1 y del cálculo de control 5 realizado en el ordenador de modelo 2 se comparan entre sí. En el caso de desviaciones significativas de los resultados entre sí, se parte de un error en el núcleo del ordenador 36 del ordenador de algoritmo 1 y éste es desconectado, con el fin de evitar un control o regulación erróneos.On monitor computer 2 it runs from the same way a control calculation (CR) 5. In this case, it verify the correct function of doors of a computer core 36 of the model 2 computer. The results of the control calculation 4 performed on the computer of algorithm 1 and control calculation 5 performed on the model 2 computer are compared to each other. At case of significant deviations of the results from each other, it part of an error in the computer core 36 of the computer algorithm 1 and this one is disconnected, in order to avoid a control or wrong regulation.

Con el cálculo de control se pueden reconocer errores del núcleo del ordenador 36 del ordenador de algoritmo 1 también cuando éste no es accionado correctamente, es decir, cuando no se ejecuta ningún programa de control o bien de regulación. El cálculo de control se puede designar como una especie de prueba automática.With the control calculation you can recognize core errors of computer 36 of algorithm computer 1 also when it is not activated correctly, that is, when no control or regulation program is executed. He control calculation can be designated as a kind of test automatic

El 15% a 20% restante de las puertas del núcleo del ordenador 36 del ordenador de algoritmo 1, que no están abarcadas por el cálculo de control, deben verificarse en cuanto a la función correcta con la ayuda de un modelado 6 del programa de ordenador, por ejemplo del algoritmo de control o bien de regulación 3, en el ordenador de monitor 2 o con la ayuda de una comparación del resultado modelado del ordenador de monitor 2 con el resultado real del ordenador de algoritmo 1. En el ordenador de monitor 3 se reproduce el algoritmo de control o bien de regulación 3 en un modelo 6. Los resultados del algoritmo de control o bien de regulación 3 y del algoritmo de control o bien de regulación 6 modelado se comparan entre sí. En el caso de desviaciones significativas de los resultados entre sí, se parte de un error en el núcleo del ordenador 36 del ordenador de algoritmo 1 y éste es desconectado. En efecto, de esta manera se pueden verificar los errores de las puertas del microprocesador 30 no cubiertas por el cálculo de control. No obstante, para este 15% a 20% de las puertas del microprocesador 30 del ordenador de algoritmo 1 existe el problema de que los errores, en determinadas circunstancias, solamente aparecen y pueden ser reconocidos en el caso de un funcionamiento correcto del microprocesador 30, es decir, en el caso de la ejecución de un programa de control o bien de regulación. Además, el modelado 6 del algoritmo de control o bien de regulación en el ordenador de monitor 2 conduce a que en el caso de una modificación del algoritmo de control o bien de regulación 3, también debe modificarse el modelo 6. Por lo tanto, de acuerdo con la invención, se propone el concepto de ordenador de diversidad representado en la figura 1, en el que el cálculo de control conocido ha sido ampliado con una prueba automática 7, 8 completa, una llamada prueba automática incorporada (BIST). Como base de la BIST 7 se puede recurrir a vectores de prueba utilizados por un fabricante de semiconductores en el transcurso de la fabricación del núcleo de ordenador 36. En el BIST 7 se ejecutan programas de prueba por el ordenador de algoritmo 1 y lo resultados generados son (signaturas) son tomados como señales de salida en salidas del microprocesador 30 y son evaluados.The remaining 15% to 20% of core doors of computer 36 of algorithm computer 1, which are not covered by the control calculation, must be verified as to the correct function with the help of a modeling 6 of the program computer, for example of the control or regulation algorithm 3, on monitor computer 2 or with the help of a comparison of the modeled result of monitor computer 2 with the result real of algorithm computer 1. In monitor computer 3 you reproduces the control or regulation algorithm 3 in a model 6. The results of the control algorithm or of regulation 3 and control algorithm or regulation 6 modeling are compared to each other. In the case of deviations significant results from each other, it starts from an error in the core of computer 36 of algorithm computer 1 and this is disconnected. Indeed, in this way you can verify the Microprocessor 30 door errors not covered by the control calculation However, for this 15% to 20% of the doors of the microprocessor 30 of the algorithm 1 computer there is the problem that errors, under certain circumstances, they only appear and can be recognized in the case of a correct operation of microprocessor 30, that is, in the case of the execution of a control or regulation program. In addition, modeling 6 of the control or regulation algorithm  in monitor computer 2 leads to that in the case of a modification of the control or regulation algorithm 3, Model 6 should also be modified. Therefore, according to the invention, the concept of diversity computer is proposed represented in figure 1, in which the control calculation known has been extended with a full automatic test 7, 8, a so-called built-in automatic test (BIST). As the basis of the BIST 7 you can use test vectors used by a semiconductor manufacturer in the course of manufacturing of the computer kernel 36. In the BIST 7 programs are executed test by algorithm 1 computer and the results generated are (signatures) are taken as output signals at outputs of the microprocessor 30 and are evaluated.

Para la evaluación de los resultados de prueba, éstos son puestos a la disposición del ordenador de monitor 2 a través de una interfaz de datos en serie. Allí se comparan entre sí los resultados de prueba de la BIST 7 del ordenador de algoritmo 1 y de la BIST 8 del ordenador de monitor 2. En el caso de que se detecte un error, se ejecuta una desconexión de seguridad de la tensión de alimentación (reposición del hardware). En lugar de un ordenador de monitor 2 separado, el segundo componente de ordenador independientes podría estar integrado también con el ordenador de algoritmo 1 como ASIC (Application Specific Integrated Circuit; Circuito Integrado Específico de la Aplicación) en un módulo de hardware común.For the evaluation of the test results, these are made available to the monitor computer 2 a through a serial data interface. There they compare each other the test results of BIST 7 of the algorithm computer 1 and of the BIST 8 of the monitor computer 2. In the event that detects an error, a security disconnection of the supply voltage (hardware replacement). Instead of a 2 separate monitor computer, the second computer component independent could also be integrated with the computer's algorithm 1 as ASIC (Application Specific Integrated Circuit; Application Specific Integrated Circuit) in a module common hardware.

La BIST 7 implementada en cuanto al software como parte del programa de ordenador que se ejecuta en el microprocesador 30 se ejecuta por el ordenador de algoritmo 1 en línea en divisiones de tiempo en paralelo a la ejecución del algoritmo de control o bien de regulación 3 propiamente dicho. En cada llamada de la BIST 7 en una división de tiempo se verifica una zona determinada, es decir, que se verifica la función correcta de determinadas puertas, del núcleo de ordenador 36. Para una ejecución de la BIST 7, ésta debe ser llamada varias veces. Una ejecución de la BIST fuera aproximadamente varios milisegundos (por ejemplo, 3 ms). Después de la ejecución de la BIST, se calcula una cobertura de prueba entre aproximadamente 90% y 95% de todas las puertas del núcleo de ordenador 36 del ordenador de algoritmo 1.The BIST 7 implemented in terms of software as part of the computer program that runs on the microprocessor 30 is executed by algorithm computer 1 in line in time divisions in parallel to the execution of the control or regulation algorithm 3 itself. In each call of BIST 7 in a time division is verified a determined area, that is, the correct function of certain doors, of the computer core 36. For an execution of BIST 7, it must be called several times. An execution of the BIST was approximately several milliseconds (for example, 3 ms). After the execution of the BIST, a coverage is calculated test between approximately 90% and 95% of all doors of the Computer core 36 of the algorithm computer 1.

Para el 5% al 10% restante de las puertas, que no están abarcadas por la BIST, se puede verificar a través de simulación que el estado de estas puertas no tiene ninguna repercusión sobre la ejecución correcta de un programa de ordenador correcto, especialmente de un algoritmo de control o bien de regulación, sobre el microprocesador 30. Para asegurar una función correcta de este 5% a 10% de las puertas no tiene que emplearse, por lo tanto, un modelo 6 del programa de ordenador -como e el estado de la técnica-. Con el procedimiento según la invención se puede conseguir una verificación de la función del microprocesador 30 de una manera independiente de la aplicación y al mismo tiempo una verificación completa de todas las puertas relevantes del núcleo de ordenador 36.For the remaining 5% to 10% of the doors, which are not covered by BIST, can be verified through simulation that the state of these doors has no impact on the correct execution of a computer program correct, especially of a control algorithm or of regulation, on microprocessor 30. To ensure a function correct of this 5% to 10% of the doors does not have to be used, therefore, a model 6 of the computer program - such as the state of the art. With the process according to the invention, can get a verification of the microprocessor's function 30 independently of the application and at the same time a complete verification of all relevant doors of the computer core 36.

Para la realización del procedimiento de acuerdo con la invención debe determinarse en primer lugar la función correcta de las puertas del núcleo de ordenador 36 del ordenador de algoritmo 1 que han sido verificadas por la BIST 7 o bien qué puertas no han sido detectadas por la BIST 7. Para las puertas, que no son detectadas por la BIST 7, debe determinarse entonces para un programa de ordenador, que se ejecuta en el microordenador 30, si el estado de estas puertas tiene repercusiones sobre la ejecución correcta del programa de ordenador.To carry out the agreement procedure with the invention the function must first be determined correct of the doors of the computer core 36 of the computer algorithm 1 that have been verified by BIST 7 or what doors have not been detected by BIST 7. For the doors, which they are not detected by BIST 7, then it must be determined for a computer program, which runs on microcomputer 30, if the state of these doors has repercussions on the execution Correct computer program.

Ambos se pueden determinar por medio de un ordenador de simulación, un llamado emulador de silicio. En el ordenador de simulación se reproduce la estructura de las puertas del núcleo del ordenador 36 en circuitos de puerta programables (FPGA; Field Programmable Gate Arrays). El ordenador de simulación se programa por medio de listas de redes, que proceden desde el fabricante del núcleo del ordenador y que describen el comportamiento del núcleo del ordenador 36. Los circuitos de puertas se encuentran en una caja de emulación, que se controla y se manda desde un ordenador, especialmente desde un puesto de trabajo. La caja de emulación y el puesto de trabajo forman el ordenador de simulación.Both can be determined by means of a Simulation computer, a so-called silicon emulator. At simulation computer reproduces the structure of the doors of the computer core 36 in programmable door circuits (FPGA; Field Programmable Gate Arrays). Simulation computer It is programmed through network lists, which come from the computer core manufacturer and they describe the core behavior of the computer 36. The circuits of doors are in an emulation box, which is controlled and it is sent from a computer, especially from a post job. The emulation box and the workstation form the simulation computer

La actividad de la BIST es verificada a través de un procedimiento para la simulación de errores. La simulación proporciona, como variable porcentual, un índice para el grado de la cobertura de errores. En el caso de la simulación de errores se ejecuta, para el ensayo de instrucción el programa de ensayo de instrucción con un modelo libre de errores y con un modelo afectado de errores del núcleo de ordenador 36 del ordenador de algoritmo 1 en el ordenador de simulación. Cuando el programa de ensayo de errores establece una desviación, se reconoce un error. La totalidad de todos los programas de ensayo de instrucción forman la BIST 7 del núcleo de ordenador 36. Cada error individual no descubierto por la BIST es, en el desarrollo posterior, una variable de entrada de una emulación de error que debe realizarse en la etapa siguiente.BIST activity is verified through of a procedure for error simulation. Simulation provides, as a percentage variable, an index for the degree of error coverage. In the case of error simulation, executes, for the instructional trial the test program of instruction with an error-free model and with an affected model of errors from computer core 36 of algorithm computer 1 in the simulation computer. When the trial program of errors set a deviation, an error is recognized. The all of the instructional testing programs form the BIST 7 of the computer core 36. Each individual error does not discovered by BIST is, in subsequent development, a variable  input of an error emulation to be performed in the next stage

La emulación de error es ejecutada en el modelo de puerta del ordenador de simulación, con el fin de determinar las repercusiones del estado de una puerta sobre la ejecución correcta del programa de ordenador. En virtud del hecho de que el emulador de errores colabora con la periferia del ordenador de algoritmo 1, se pueden determinar las repercusiones de los errores no descubiertos a través de la BIST sobre el sistema general.The error emulation is executed in the model simulation computer door, in order to determine the repercussions of the state of a door on the correct execution of the computer program. Under the fact that the emulator error works with the periphery of the algorithm 1 computer, you can determine the impact of errors not discovered through the BIST about the general system.

En el caso de que en el marco de la simulación de errores y de la emulación de errores se descubra una puerta del núcleo de ordenador 36 del ordenador de algoritmo 1, que no es detectada, por una parte, por la BIST y que tiene, por otra parte, repercusiones sobre la ejecución correcta del programa de ordenador, se puede ampliar y modificar de una manera correspondiente la BIST, de tal forma que también esta puerta sea detectada por la BIST. La BIST 7 es ampliada, por lo tanto, en un proceso iterativo, hasta el punto de que se reconocen todos los errores residuales críticos y de esta manera se garantiza la seguridad del sistema.In the case that under the simulation of errors and of the emulation of errors a door of the computer core 36 of the algorithm 1 computer, which is not detected, on the one hand, by BIST and that has, on the other hand, repercussions on the correct execution of the computer program,  the BIST can be expanded and modified accordingly, so that this door is also detected by the BIST. The BIST 7 is extended, therefore, in an iterative process, until the point that all critical residual errors are recognized and This ensures system security.

En la figura 3 se representa un diagrama de flujo de un procedimiento de acuerdo con la invención. El procedimiento se inicia en un bloque funcional 10. En un bloque funcional 11 se crea un proyecto de una BIST para el núcleo de ordenador 36 del ordenador de algoritmo 1. Este proyecto se puede crear de una manera independiente de un programa de ordenador (por ejemplo, con un algoritmo de control o bien de regulación), que debe ejecutarse posteriormente en el microprocesador. No obstante, también es concebible que en el proyecto de la BIST se tenga en cuenta ya el programa de ordenador, que debe ejecutarse posteriormente en el microprocesador 30. La creación del proyecto se lleva a cabo, en general, en el fabricante del núcleo del ordenador 36.Figure 3 shows a diagram of flow of a process according to the invention. He procedure starts in a functional block 10. In a block functional 11 a BIST project is created for the core of computer 36 of algorithm computer 1. This project can be create independently of a computer program (by example, with a control or regulation algorithm), which must be run later on the microprocessor. However, it is also conceivable that in the BIST project you have in account already the computer program, which must be run later on microprocessor 30. The creation of the project it is carried out, in general, in the core manufacturer of the computer 36.

En un bloque funcional 12 se ejecuta la simulación de errores con el fin de determinar la actividad del proyecto para en proyecto de la BIST, es decir, para determinar qué puertas no son verificadas por el proyecto. Entonces se ejecuta en un bloque funcional 13 la emulación de errores. La simulación de errores y la emulación de errores son ejecutadas ambas en el ordenador de simulación en al creador del programa de ordenador, que se ejecuta en el microprocesador 30. En la emulación de errores se determina en cada caso para una puerta, que no es verificada por el proyecto de la BIST durante una ejecución, si el estado de la puerta tiene repercusiones sobre la ejecución correcta del programa de ordenador en el microprocesador 30. En caso afirmativo, se deriva desde un bloque de consulta 14 hacia un bloque funcional 15, donde la designación de la puerta actual es depositada en una memoria de errores. No obstante, en el caso de que el estado de la puerta considerada actualmente no tenga repercusiones sobre el desarrollo del programa de ordenador, se deriva hacia otro bloque de consulta 16, en el que se verifica si han sido verificadas todas las puertas, que no son detectadas por el proyecto de la BIST. En caso negativo, se deriva hacia un bloque funcional 17, en el que se selecciona la puerta siguiente como puerta actual. También desde el bloque funcional 15 se deriva hacia el bloque de consulta 16.In a functional block 12 the error simulation in order to determine the activity of the project for in BIST project, that is, to determine what Doors are not verified by the project. Then it runs on a functional block 13 the emulation of errors. The simulation of errors and error emulation are both executed in the simulation computer in the creator of the computer program, running on microprocessor 30. In error emulation is determined in each case for a door, which is not verified by the BIST project during a run, if the status of the door has repercussions on the correct execution of the program of computer in microprocessor 30. If yes, it drift from a query block 14 to a functional block 15, where the designation of the current door is deposited in a error memory However, in the event that the state of the door currently considered has no impact on the computer program development, it is drifting to another block of query 16, in which it is verified if all have been verified the doors, which are not detected by the BIST project. In negative case, it is derived towards a functional block 17, in which Select the next door as the current door. Also from the Function block 15 is derived to the query block 16.

En el caso de que sean verificadas todas las puertas, que no son detectadas por el proyecto de la BIST, se deriva hacia un bloque funcional 18, en el que se lee la memoria de errores. En el bloque de consulta 19 se verifica si la memoria de errores está vacía. En caso afirmativo, se deriva hacia un bloque funcional 20, en el que el proyecto actual de la BIST es utilizado como BIST 7 acabada. En un bloque funcional 21 se termina entonces el procedimiento según la invención.In the event that all the doors, which are not detected by the BIST project, are drifts to a functional block 18, in which the memory of mistakes. In the query block 19 it is verified if the memory of Errors is empty. If yes, it is derived towards a block Functional 20, in which the current BIST project is used as BIST 7 finished. In a functional block 21 it is then terminated the process according to the invention.

No obstante, en el caso de que el estado de al menos una puerta del núcleo de ordenador 36, que no ha sido verificado por el proyecto del BIST durante la ejecución, tenga repercusiones sobre la ejecución correcta del programa de ordenador en el microprocesador 30 (la memoria de errores está vacía), se deriva desde el bloque de consulta 19 hacia el bloque funcional 11, en el que se crea de nuevo un proyecto de una BIST teniendo en cuenta el contenido de la memoria de errores.However, in the event that the status of al least one door of computer core 36, which has not been verified by the BIST project during execution, have repercussions on the correct execution of the computer program in microprocessor 30 (error memory is empty), it drift from query block 19 to functional block 11, in which a BIST project is created again taking into Count the contents of the error memory.

Este procedimiento recursivo se ejecuta hasta que se cumple la condición en el bloque de consulta 19 (¿memoria de errores vacía?). De acuerdo con la presente invención se determina, por lo tanto, en un procedimiento recursivo una BIST óptima para el programa de ordenador respectivo.This recursive procedure runs until that the condition in query block 19 (memory of empty errors?). In accordance with the present invention it is determined, therefore, in a recursive procedure an optimal BIST for the respective computer program.

Claims (4)

1. Procedimiento para la creación de una prueba automática (7) para la verificación de la función correcta de un núcleo de ordenador (36) de un microprocesador (30) o de un microcontrolador, en el que el núcleo del ordenador (36) comprende varias puertas con varios transistores, respectivamente, en el que durante una ejecución correcta de un programa de ordenador (3) en el microprocesador (30) o microcontrolador se ejecuta cíclicamente una prueba automática (7) y en el marco de la prueba automática (7) se verifica la función correcta de puertas del núcleo del ordenador, caracterizado porque se verifican al menos aquellas puertas del núcleo del ordenador (36), cuyo estado tiene repercusiones sobre la ejecución correcta del programa de ordenador (3) en el microprocesador (30) o microcontrolador, durante la ejecución de la prueba automática (7), y se crea en este caso la prueba automática (4), de tal manera que1. Procedure for the creation of an automatic test (7) for the verification of the correct function of a computer core (36) of a microprocessor (30) or of a microcontroller, in which the computer core (36) comprises several doors with several transistors, respectively, in which during an correct execution of a computer program (3) in the microprocessor (30) or microcontroller an automatic test (7) is cyclically executed and within the framework of the automatic test (7 ) the correct function of doors of the computer core is verified, characterized in that at least those doors of the computer core (36) are verified, whose status has repercussions on the correct execution of the computer program (3) in the microprocessor (30) or microcontroller, during the execution of the automatic test (7), and in this case the automatic test (4) is created, in such a way that
--
se crea (11) un proyecto de la prueba automática (7) para el núcleo del ordenador (36);        an automatic test project (7) for the core is created (11) of the computer (36);
--
se verifica si el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, tiene repercusiones sobre el desarrollo correcto del programa de ordenador (3) sobre el microprocesador (30) o microcontrolador (14);        it is verified if the state of those doors of the core of the computer (36), which are not verified by the test project automatic (7) during an execution, it has repercussions on the correct development of the computer program (3) on the microprocessor (30) or microcontroller (14);
--
en el caso de que el estado de al menos una puerta del núcleo del ordenador, que no es verificado por el proyecto de la prueba automática (7) durante una operación, tenga repercusiones sobre el desarrollo correcto del programa de ordenador (3) en el microprocesador (30) o microcontrolador, se crea la prueba automática (7) acabada, siendo ampliado el proyecto de la prueba automática (7) de tal forma que se verifican adicionalmente al menos aquellas puertas del núcleo del ordenador (36), que no han sido verificadas por el proyecto de la prueba automática (7) y cuyo estado tiene repercusiones sobre el desarrollo correcto del programa de ordenador (3) sobre el microprocesador (30) o microcontrolador, y        in the case that the state of at least one core door of the computer, which is not verified by the test project automatic (7) during an operation, have repercussions on the correct development of the computer program (3) in the microprocessor (30) or microcontroller, the test is created automatic (7) finished, the test project being extended automatic (7) so that they are additionally verified at minus those computer core doors (36), which have not have been verified by the automatic test project (7) and whose state has repercussions on the correct development of the program computer (3) on the microprocessor (30) or microcontroller, Y
--
en el caso de que el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, no tenga repercusiones sobre el desarrollo correcto del programa de ordenador (3) en el microprocesador (30) o microcontrolador, se utiliza (20) el proyecto de la prueba automática (7) como prueba automática acabada (7).        in the case that the state of those doors of the core of the computer (36), which are not verified by the test project automatic (7) during an execution, has no impact on the correct development of the computer program (3) in the microprocessor (30) or microcontroller, the project is used (20)  of the automatic test (7) as finished automatic test (7).
2. Procedimiento según la reivindicación 1, caracterizado porque antes de la verificación (14) de si el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, tiene repercusiones sobre la ejecución correcta del programa de ordenador (3) en el microprocesador (30)’ o microcontrolador, se determina qué puertas del núcleo del ordenador (36) no son verificadas por el proyecto de la prueba automática (7) durante la ejecución.2. Method according to claim 1, characterized in that prior to verification (14) of whether the state of those doors of the computer core (36), which are not verified by the automatic test project (7) during execution, it has repercussions on the correct execution of the computer program (3) in the microprocessor (30) 'or microcontroller, it is determined which doors of the computer core (36) are not verified by the automatic test project (7) during execution . 3. Procedimiento según la reivindicación 2, caracterizado porque la determinación (11) de qué puertas del núcleo del ordenador (36) no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, se lleva a cabo en un emulador, en el que se reproduce al menos parcialmente la estructura de puerta del núcleo del ordenador (36).3. Method according to claim 2, characterized in that the determination (11) of which doors of the computer core (36) are not verified by the project of the automatic test (7) during an execution, is carried out in an emulator, in which the core structure of the computer core (36) is reproduced at least partially. 4. Procedimiento según una de las reivindicaciones 1 a 3, caracterizado porque la verificación (14) de si el estado de aquellas puertas del núcleo del ordenador (36), que no son verificadas por el proyecto de la prueba automática (7) durante una ejecución, tiene repercusiones sobre la ejecución correcta del programa de ordenador (3) en el microprocesador (30)’ o microcontrolador, se realiza en un emulador, en el que se reproduce al menos parcialmente la estructura de puerta del núcleo del ordenador (36).Method according to one of claims 1 to 3, characterized in that the verification (14) of whether the state of those doors of the computer core (36), which are not verified by the automatic test project (7) during a execution, it has repercussions on the correct execution of the computer program (3) in the microprocessor (30) 'or microcontroller, it is carried out in an emulator, in which at least partially the door structure of the computer core (36) is reproduced .
ES02762230T 2001-09-28 2002-07-30 PROCEDURE FOR THE VERIFICATION OF A COMPUTER NUCLEUS OF A MICROPROCESSOR OR A MICRO CONTROLLER. Expired - Lifetime ES2260474T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10148032 2001-09-28
DE10148032A DE10148032A1 (en) 2001-09-28 2001-09-28 Testing CPU of microprocessor or micro-controller, by checking gates of CPU that influence flow of computer program during self-test

Publications (1)

Publication Number Publication Date
ES2260474T3 true ES2260474T3 (en) 2006-11-01

Family

ID=7700735

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02762230T Expired - Lifetime ES2260474T3 (en) 2001-09-28 2002-07-30 PROCEDURE FOR THE VERIFICATION OF A COMPUTER NUCLEUS OF A MICROPROCESSOR OR A MICRO CONTROLLER.

Country Status (7)

Country Link
US (1) US7155351B2 (en)
EP (1) EP1433061B1 (en)
JP (1) JP4205583B2 (en)
CN (1) CN1311356C (en)
DE (2) DE10148032A1 (en)
ES (1) ES2260474T3 (en)
WO (1) WO2003032162A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004024386A1 (en) * 2004-05-17 2005-12-15 Siemens Ag Method and circuit arrangement for testing functions and / or algorithms implemented in electronic circuits
JP5509568B2 (en) * 2008-10-03 2014-06-04 富士通株式会社 Computer apparatus, processor diagnosis method, and processor diagnosis control program
DE102011005766A1 (en) * 2011-03-18 2012-09-20 Zf Friedrichshafen Ag Control device for a motor vehicle
CN110502378B (en) * 2019-08-16 2022-11-22 兆讯恒达科技股份有限公司 Method for configuring self-check of multi-algorithm coprocessor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4726024A (en) * 1986-03-31 1988-02-16 Mieczyslaw Mirowski Fail safe architecture for a computer system
DE3737713A1 (en) 1987-11-06 1989-05-18 Steve Cordell Method for carrying out a test and acceptance of an electronic device
US5195095A (en) * 1990-12-28 1993-03-16 General Electric Company Algorithm for identifying tests to perform for fault isolation
DE4139151A1 (en) * 1991-11-28 1993-06-03 Siemens Ag Self=test of microprogrammed processors - involves initialisation, one or more runs of combined microinstruction sequences, iterative use of previous results
DE4305288A1 (en) 1993-02-20 1994-08-25 Bosch Gmbh Robert Self-test procedure for non-regular CMOS switching structures with high defect detection
DE19500188B4 (en) * 1995-01-05 2006-05-11 Robert Bosch Gmbh Circuit arrangement for a brake system
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
US5963566A (en) * 1996-12-18 1999-10-05 Lsi Logic Corporation Application specific integrated circuit chip and method of testing same
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US6408413B1 (en) * 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
US6701476B2 (en) * 2001-05-29 2004-03-02 Motorola, Inc. Test access mechanism for supporting a configurable built-in self-test circuit and method thereof
US6948096B2 (en) * 2001-07-31 2005-09-20 Intel Corporation Functional random instruction testing (FRIT) method for complex devices such as microprocessors
KR100430074B1 (en) * 2002-01-08 2004-05-03 학교법인 한양학원 Wrapped core linking module for accessing system on chip test
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
US20040006729A1 (en) * 2002-07-03 2004-01-08 Pendurkar Rajesh Y. Hierarchical test methodology for multi-core chips
EP1496435A1 (en) * 2003-07-11 2005-01-12 Yogitech Spa Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor
US7818645B2 (en) * 2004-07-22 2010-10-19 Hewlett-Packard Development Company, L.P. Built-in self-test emulator
US20060020442A1 (en) * 2004-07-22 2006-01-26 Elias Gedamu Built-in self-test emulator
US20060031789A1 (en) * 2004-07-22 2006-02-09 Elias Gedamu Built-in self-test emulator
US20060020411A1 (en) * 2004-07-22 2006-01-26 Elias Gedamu Built-in self-test emulator

Also Published As

Publication number Publication date
WO2003032162A2 (en) 2003-04-17
JP4205583B2 (en) 2009-01-07
US7155351B2 (en) 2006-12-26
DE50206090D1 (en) 2006-05-11
CN1561488A (en) 2005-01-05
EP1433061A2 (en) 2004-06-30
DE10148032A1 (en) 2003-04-24
WO2003032162A3 (en) 2004-03-11
EP1433061B1 (en) 2006-03-15
CN1311356C (en) 2007-04-18
US20050033533A1 (en) 2005-02-10
JP2005505078A (en) 2005-02-17

Similar Documents

Publication Publication Date Title
US6678625B1 (en) Method and apparatus for a multipurpose configurable bus independent simulation bus functional model
US7756695B2 (en) Accelerated simulation and verification of a system under test (SUT) using cache and replacement management tables
US9015024B2 (en) Enabling reuse of unit-specific simulation irritation in multiple environments
JP2006059355A (en) Nonvolatile memory device controlled by microcontroller
ES2260474T3 (en) PROCEDURE FOR THE VERIFICATION OF A COMPUTER NUCLEUS OF A MICROPROCESSOR OR A MICRO CONTROLLER.
US20050154573A1 (en) Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design
Krieg et al. Power and fault emulation for software verification and system stability testing in safety critical environments
US8560987B2 (en) Test functionality integrity verification for integrated circuit design
US10528689B1 (en) Verification process for IJTAG based test pattern migration
JP4589255B2 (en) Hardware / software co-verification device
EP3734491A1 (en) Method, apparatus, device, and medium for implementing simulator
Gascón et al. Synthesis of a simple self-stabilizing system
KR0136379B1 (en) Development method of data processing system
Singh et al. Symbolic quick error detection for pre-silicon and post-silicon validation: Frequently asked questions
ES2947361T3 (en) System and method for the formal analysis of fault propagation
JPH1063704A (en) Semiconductor testing device
Ashwathnarayan et al. A methodology to validate the on-chip buses of a microcontroller
JP6761280B2 (en) Data retention device and data retention system
Hernández-Reyes Post-Silicon Functional Validation of a DDR5 Memory Controller
Mittal Control Register Validation and Debug Enhancement
Li et al. Synthesis for Human-in-the-Loop Control Systems
Pyle Methods for the design of control software
JP2531112B2 (en) Information processing device
Bamford et al. Verification of Low Power Designs using CPF
JPS63126043A (en) Logic simulator