Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF INDUCING A STATE IN A HARDWARE EMULATION CIRCUIT
Document Type and Number:
WIPO Patent Application WO/2004/057352
Kind Code:
A1
Abstract:
The invention relates to a method of inducing a state in a hardware emulation circuit. The inventive method is based on user-programmable digital integrated circuits comprising different configuration mechanisms, which are configured, for example, using volatile memory cells (11 and 12). The method is used to manipulate specific points of a hardware emulator, such as to configure different elements locally without affecting the rest of the system. Using a circuit which is in a state that is insensitive to the activity of the clock together with the intensive use of a clock-enabling input, said method consists in inducing the initialisation value in the registry, equal to the desired value, by manipulating a volatile memory (12) which configures a decoder (10), changing the desired polarity value of the initialisation signal, manipulating another volatile memory (11) which configures a multiplexer (9), restoring the configuration conditions that existed prior to the manipulation and releasing the circuit from the frozen state, thereby activating the clock-enabling signal (3).

Inventors:
AGUIRRE ECHANOVE MIGUEL ANGEL (ES)
TOMBS JONATHAN NOEL (ES)
TORRALBA SILGADO ANTONIO (ES)
GARCIA FRANQUELO LEOPOLDO (ES)
Application Number:
PCT/ES2003/000633
Publication Date:
July 08, 2004
Filing Date:
December 15, 2003
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV SEVILLA (ES)
AGUIRRE ECHANOVE MIGUEL ANGEL (ES)
TOMBS JONATHAN NOEL (ES)
TORRALBA SILGADO ANTONIO (ES)
GARCIA FRANQUELO LEOPOLDO (ES)
International Classes:
G01R31/3185; (IPC1-7): G01R31/28; G01R31/317; G01R31/319
Foreign References:
US4719593A1988-01-12
US5644579A1997-07-01
US4205383A1980-05-27
US4583041A1986-04-15
US4945536A1990-07-31
Download PDF:
Description:
PROCEDIMIENTO PARA LA INDUCCIÓN DE UNESTADO EN UN CIRCUITO DE EMULACKN HARDWARE DESCRIPCIÓN OBJETO DE LA INVENCIÓN La presente invención se refiere a un procedimiento para realizar modificaciones en el comportamiento de un circuito digital que se emula sobre un sistema de emulación hardware comercial, también llamado FPGA's, mediante la inducción de valores en cualquier registro del circuito, en un instante cualquiera de su funcionamiento y mediante métodos diferentes a la propia evoluciái natural del circuito, la invenciái es vál ida para cualquiera de los emuladores hardware del mercado basados en memorias y se basa en la utilizaciónoriginal, y de forma no prevista por los fabricantes, de los elementos que conforman dichos emuladores.

El procedimiento permite la introducciál de un valor en cualquiera en registros no seleccionados previamente, en instantes de funcionamiento no previstos sobre un circuito digital bajo prueba (CDBP) que está soportado en el emulador y sin habilitar circuitería específi ca. Es decir, permite la introducción de valores no esperados o errores de funcionamiento mediante un adecuado control del propio emulador. La modificacióndel estado de un registro es un proceso describe el efecto de un "evento adverso en un único bit"o"single bit upset event"o SBUE. El modelo SBUE representa los posibles efectos que pueden ocurrir sobre un circuito integrado digital en condiciones ambientales extremas.

ANTECEDENTES DE LA INVENCI (N Uno de los puntos má s importantes y problemáticos en muchos de los circuitos integrados que son diserados para aplicaciones de gran responsabilidad (aplicaciones de soporte vital, ayuda en la conduccián de vehículos aeronaves, publicaciones espaciales...) es la realizaciál de la verificacin de los posibles errores debidos a causas originadas en las condiciones extremas de funcionamiento a las que son sometidos. En la actualidad los estudios realizados se basan en procedimientos estadísticos de insercin SBUE's en modelos simulados. La verificacin de todos los posibles eventos resulta en la prá ctica inviable.

Los emuladores hardware existentes en el mercado no facilitan de una manera directa una solucin a este problema.

En la actualidad, los estudios se realizan sobre los sistemas simulados utilizando computadoras de gran potencia. El número de simulaciones que hay que realizar es muy elevado, ya que cada introduccián de un solo SBUE requiere una simulaciái completa del circuito. Los sistemas actuales producen soluciones de manera ineficiente y en tiempos elevados, má s cuanto mayor sea la dimensin del circuito. Por tanto, la mayor complejidad del circuito incide negativamente en la eficiencia de tales métodos.

Por ello, la presente invencin no se refiere a cáno construir el sistema de emulacicn para producir SBUE sino a un procedimiento para realizar SBUE's en un emulador comercial cualquiera.

DESCRIPCIÓN DE LA INVENCIÓN Constituye el objeto de la presente invencicn una secuencia de operaciones que hay que realizar para la induccim de valores en los registros de un circuito digital bajo prueba (CDBP). El procedimiento se basa en la adecuada manipulaciái de la memorias de configuraciái de los elementos que forman parte de un bloque elemental programable de los que componen un emulador hardware.

El procedimiento de la presente invenciái puede usar la circuiterí a y el procedimiento descrito en la invenciái P200102683. En ella se describe cáno realizar un control de la evoluciál del circuito situá ndolo en estado"congelado". En esta situación se hace factible el procedimiento que se describe en la presente invención, con la posibilidad de inducir un valor inicial cualquiera en el registro y la posibilidad de que la seml de inicialización tenga una polaridad u otra. Ambas propiedades son absolutamente comunes en los emuladores existentes en el mercado.

El procedimiento de la invencin consiste en la inducción de los valores conocidos utilizando el mecanismo de inicializacin de un registro mediante la manipulación del valor inicial del registro, transformá ndolo en el valor que se desea inducir, y de la polaridad de la sera. l que habilita dicho valor inicial, realizando una activaciái local de esa sera. l.

DESCRIPCIÓN DE LOS DIBUJOS Para complementar la descripciái que se está realizando y con objeto de ayudar a una mejor comprensiái de las caracterí sticas del invento, de acuerdo con un ejemplo preferente de realizacin prá ctica del mismo, se

acompam como parte integrante de dicha descripción, una hoja única de planos en donde con cará cter ilustrativo y no limitativo, se ha representado el esquema correspondiente al diagrama de bloques determinan los recursos programables que se involucran en el procedimiento de la invención.

REALIZACIÓN PREFERENTE DE LA INVENCIÓN A la vista de las figuras resemdas puede observarse como el diagrama de bloques comentado incluye un registro (1) objeto de inducción de valor al que está n asociadas la señal de reloj del registro (2), la serval de habilitacin (3) del reloj, la serval correspondiente al valor futuro del contenido del registro posterior a la accin del reloj (4) y la sera. l de valor del contenido de registro (5). Al bloque de la sera. de registro (2) objeto de induccim de valor, accede la seial"reset" (6), activa a nivel bajo e inicializacin al valor cero, y la seral"set" (7), activa a nivel bajo e inicializacicn al valor uno, semples procedentes de la descomposicin de la señal global de inicializaciái (8) que se hace pasar a través de un multiplexor (9) cuyo estado es coherente con la polaridad de la septal de inicializacicn, existiendo a continuacin de ese multiplexor (9) un decodificador (10) cuyo estado indica el valor de ínícíalizaciái, estando asociados a los bloques del multiplexor (9) y del decodificador (10) sendos bloques (11) y (12) correspondientes a una célula de memoria de configuracix que determina el estado del multiplexor (9) y una célula de memoria de conñguracicn que determina un estado del decodificador (10), respectivamente.

Los circuitos emuladores hardware se caracterizan porque pueden adoptar la funcionalidad que se desee mediante la generacicn de un patrón de configuración adecuado. Estos circuitos se conocen en el mercado como Field Programmable Gate Arrays o FPGA's, y son circuitos integrados digitales programables por el usuario. Estos circuitos

dependiendo del modelo tienen diferentes mecanismo de configuracim. En particular nos referiremos a aquellos circuitos que se configuran mediante células de memoria volá til (o SRAM), (11) y (12), que representan má s del 80% del mercado mundial. La capacidad de configurarse infinitas veces o bien reconfigurarse y sufrir modificaciones en su estructura durante su funcionamiento normal, es una posibilidad que no es ignorada por los fabricantes.

Esto confiere a los emuladores hardware una gran flexibilidad en la estructura del circuito digital que emulan. Sin embargo, esta flexibilidad no es suficiente. Existen situaciones en las que es muy útil realizar cambio en el estado de un circuito, es decir, en los contenidos de registros internos en un instante dado. Estos cambios suponen la induccin de valores en los registros que no corresponden con los que debe hacer en el instante en que se realizan. Dada la generalidad con la que están construidos emuladores hardware, se dispone una capacidad para configura localmente los diferentes elementos sin afectar al resto del sistema. Esto significa que es posible manipular puntos concretos del circuito emulador.

En la presente invenciál nos aprovechamos de que normalmente los emuladores hardware disponen de : a) Una sepal de inicializacin global (8) de los registros, cuya polaridad activa es programable. Es decir, el registro se inicializa siempre de la misma manera, con la misma polaridad en las semles (6) y (7) pero el usuario puede indicar cuá 1 prefiere. Mediante un multiplexor y un inversor (9), el sistema se adapta a los requerimientos del diseiador. b) Un valor de inicializacin particular (set/reset) (7)- (6), a

cada registro, es decir, el registro puede ir incondicionalmente a cualquier valor programado en (12) por el disetador cuando se activa la señal inicialización (8).

La figura representa esquemá ticamente un registro, su valor de inicializacin y cáno se puede adaptar la serval de inicializacich. Normalmente estas serales tienen utilidad solamente cuando se realizan operaciones de arranque o reinicializacin del circuito.

Por lo tanto, la invencin consiste en un procedimiento o protocolo para que, explotando las posibilidades de éste sistema de inicializacin, se pueda modificar el valor contenido en cualquier registro del diseib emulado. El protocolo consiste en los siguientes pasos : 1. Mediante la utilización de un sistema en sí conocido, el circuito ha de ser insensible a la actividad del reloj (2) y permanecer está tico, sin evolucionar, es decir, "congelado". Para ello se propone el uso intensivo de la entrada de habilitaciál del reloj (Clock Enable) (3). Esta entrada está disponible en todos los emuladores existentes.

2. Induccin del valor de inicializacin en el registro igual al valor que se desea inducir. Manipulacicn de la memoria (12) que configura el decodificador (10).

3. Realizar un cambio en el valor de polaridad deseada en la septal de inicializaciál, manipulando la memoria (11), que configura el multiplexor (9). Este cambio fuerza al registro a evolucionar al estado de inicializacin, ya que esta señal de inicialización (8) permanece invariable.

4. Restaurar las condiciones de configuracin previas a la manipulación, escribiendo los valores originales en (11) y (12).

5. Liberar el circuito del estado congelado, activando la sefal de habilitaciái (3) del reloj.