WO2003046773A1 - Metodo y circuteria para analisis y test funcional de circuitos digitales de gran dimension mediante emuladores hardware - Google Patents

Metodo y circuteria para analisis y test funcional de circuitos digitales de gran dimension mediante emuladores hardware Download PDF

Info

Publication number
WO2003046773A1
WO2003046773A1 PCT/ES2002/000571 ES0200571W WO03046773A1 WO 2003046773 A1 WO2003046773 A1 WO 2003046773A1 ES 0200571 W ES0200571 W ES 0200571W WO 03046773 A1 WO03046773 A1 WO 03046773A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
event
events
signal
analysis
Prior art date
Application number
PCT/ES2002/000571
Other languages
English (en)
French (fr)
Inventor
Miguel Angel Aguirre Echanove
Jonathan Tombs
Antonio Torralba Silgado
Leopoldo Garcia Franquelo
Original Assignee
Universidad De Sevilla
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 Universidad De Sevilla filed Critical Universidad De Sevilla
Priority to AU2002360108A priority Critical patent/AU2002360108A1/en
Priority to EP02795299A priority patent/EP1462962A1/en
Priority to US10/497,421 priority patent/US20040268192A1/en
Publication of WO2003046773A1 publication Critical patent/WO2003046773A1/es

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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • 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/282Testing of electronic circuits specially adapted for particular applications not provided for elsewhere
    • 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
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/31835Analysis of test coverage or failure detectability
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318364Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
    • 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/261Functional testing by simulating additional hardware, e.g. fault simulation

Definitions

  • the present invention refers to a fully automated functional verification system for large digital circuits, based on three original blocks: first, a generic digital circuitry for the development of functional test systems based on programmable logic integrated circuits, oriented to the development of large-scale digital integrated circuits that make automation of the debugging process possible, secondly the guidelines for the development of a functional emulation system to perform the required debugging functions and, thirdly, a modification in the traditional method of development and debugging of digital systems.
  • the invention is applicable to the field of large digital circuits and allows the insertion of test and inspection circuitry into the prototype circuit to be generalized and systematized in a fully automatic way.
  • rapid prototyping rapid prototyping or rapid prototyping
  • a circuitry monitors deterministic and temporal events and their combinations simultaneously.
  • the user decides which signals are to be associated with an event by inserting comparators (detection of temporary events) to trigger the events. He User can in combination apply counters (detection of temporary events) that time the activity of the event.
  • Each event has an associated state machine that allows its deactivation from the outside with an additional signal. All the activation signals of the events are concentrated in an OR logic function that goes outside through an output in resistance to supply (pull-up). When an event occurs, the output is worth logical value 1 through the aforementioned pull-up, while otherwise the circuit works normally and the output is worth logical value 0. Logical value 1 allows two-way dialogue through the lines.
  • the method for both stopping the circuit and reactivating it consists, first of all, of activating a clock signal inhibition control on each sequential element of each circuit. This is accomplished by the "Clock Enable" signal.
  • the circuit When the circuit is in the detected event state, through the event activation signal it is possible, by means of a forced logical 0 to 1 transmission from the outside, to activate an edge detection circuit that generates a pulse of a single duration clock cycle, which connected to the clock enable control enables the transition during a single clock cycle of the sequential elements.
  • the use of a pull-up exit strategy allows the pad to have a bidirectional behavior and can be used as a clock control.
  • reading the internal configuration and the status of the circuit support emulator allows reading the status of the activation signal of each of the events and, therefore, knowing their status and identifying the event produced.
  • the method allows the introduction of practically unlimited event conditions, fully automatically and transparently for the user.
  • the aforementioned circuitry is introduced from high-level language, being therefore capable of being automated the entire insertion process on the original circuit. Since the number of events it is unlimited and only depends on the emulator capacity, the user can enter as many events as necessary through a simple description of them, and a program can automatically introduce all the changes.
  • Figure 1. Shows the architecture of the circuit necessary to meet the requirements of the method of the invention, for various events, associated or independent.
  • Figure 2. Shows the system clock control circuit.
  • Figure 3. Shows, finally, a block diagram corresponding to the methodology for the development system of digital integrated circuits.
  • COA The circuit under analysis
  • CPT The circuitry for carrying out the test, hereinafter CPT, which constitutes the essential part of the invention, has the mission of detecting certain situations, generally associated with values of the internal combinational signals and, where appropriate, combined with the variable time during operation. of the COA, which are of special interest to the designer. This is accomplished through event selection.
  • the events are situations of interest that are detected during the operation of the circuit programmed by the user. After the evolution produced due to its normal operation, the circuit, at the moment in which the event occurs, can react in two non-exclusive ways:
  • the proposed method does not impose any restriction on the number of events and their nature, more than those derived from the emulator chosen for the physical realization of the system.
  • circuit architecture is represented in figure 1 where the references (1), (1 ') ... (l n ) correspond to respective specific conditions or events,
  • the circuit architecture does not have a limitation in size and possibilities for monitoring events, that is, the CPT is generic and the limitations are imposed by the emulator's available resources.
  • the circuitry is described by means of high-level hardware languages, alphanumeric (HDLs), and they configure each comparator and each counter by their parametric description.
  • a block (6) detecting stop conditions, said external system control pad (5), and a block (7) positive edge detector participate.
  • generator of a cycle generating the signal (8) that enables the clock.
  • the step-by-step execution section is based on the use of the system control line as a signal to activate a clock cycle given its bidirectional nature.
  • the central circuit consists of a state machine that allows it to be activated by transmitting the system control signal.
  • circuits described in Figures 1 and 2 are complementary and share the external circuitry.
  • the current techniques use, for the design of the large-scale circuit, the previously mentioned high-level languages (HDLs). These describe the circuits with a certain level of abstraction and, through a process of synthesis and optimization, a description of the final circuits is generated. Thanks to the synthesis of digital circuit generation, it has been greatly accelerated by facilitating the development of highly parameterized and generalized circuits.
  • HDLs high-level languages
  • the CPT is naturally coupled to the COA if both are described in a similar way, that is, in a high-level language.
  • CE Emulator circuit of digital systems, such as one or more FPGA-s that meet the requirements established in the background section of the invention, that is, that has the ability to be programmed as many times as necessary, ability to read system configuration and status, ability to properly stop and control the system clock, and finally capable of offering performance high enough to emulate the
  • SN - Visualization system
  • CE is configured with both circuits (COA) and (CPT), it is inserted into the final system and sends a signal to the display system through the link circuit indicating that the system has reached a situation foreseen as an event. At this moment the emulator circuit: - It stops working and remains in a "frozen” state.
  • the next step is the transfer of the content of the emulator circuit to the display system, where the event is identified and the information collected from the emulator is processed to make it understandable, which is done through the link circuit.
  • the CPT naturally facilitates stop and continue mechanisms of the system and allows the introduction of control and trip mechanisms that facilitate the detection of errors during the operation of the system.
  • the circuitry can be introduced from a high-level description (HDL) of the circuit, and therefore from a software tool in the primary stages of the design flow. The description of the circuit is made by determining parameters.
  • HDL high-level description
  • the insertion of the CPT can be carried out in a fully automated way without requiring any manual intervention.
  • the aforementioned emulators can be inspected and allow signals that are in the high level description to be related to registers and signals physically present in the emulator and their values in operation, through careful control of the synthesis process.
  • This internal inspection process also requires the help of a map that relates the configuration to signs in the high-level description. This map is provided by the manufacturers.
  • the methodology is represented in the diagram of figure 3, where block (9) corresponds to the high-level verification modular simulation, block (10) with the high-level description of the circuit (HDL), block ( 11) with the technology for physical realization, block (12) is the synthesis block and block (13) is the methodology for physical realization.
  • block (14) corresponds to the insertion of the circuit for the test, block (15) the technology of the emulator, block (16) the synthesis, block (17) the methodology for the physical realization for the emulator, block (18) the display system (human-machine interface), and block (19) the final system with the emulator, arrows (20) and (21) corresponding respectively to the configuration and variable map.

Landscapes

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

Abstract

Parte de un número indefinido de eventos o condiciones (1), (1')... (1n), respectivos circuitos detectores (2), (2')... (2n), actuantes en combinación con un detector de flanco (3), que recibe información del 'pad externo de reactivación' (4), y mediante un 'pad externo (5) de control del sistema', es posible vigilar tanto eventos deterministas como eventos temporales, concretamente vigilar una condición determinista en tiempo de ejecución, vigilar una condición temporal en tiempo de ejecución, generar una señal o bandera que registre el evento, cualquiera que sea su naturaleza, congelar el circuito para facilitar su análisis desde un sistema gráfico o similar, y comunicar al sistema que se ha producido un evento e identifícar cuál de los eventos programados se ha producido.

Description

MÉTODO Y CLRCUITERIA PARA ANÁLISIS Y TEST FUNCIONAL
DE CIRCUITOS DIGITALES DE GRAN DIMENSIÓN MEDIANTE
EMULADORES HARDWARE
D E S C R I P C I Ó N
OB ETO DE LA INVENCIÓN
La presente invención se refiere a un sistema totalmente automatizado de verificación funcional de circuitos digitales de gran dimensión, basado en tres bloques originales: en primer lugar una circuitería digital genérica para la elaboración de sistemas de test funcionales basados en circuitos integrados de lógica programable, orientados al desarrollo de circuitos integrados digitales de gran dimensión que hace posible la automatización del proceso de depuración, en segundo lugar las directrices para el desarrollo de un sistema de emulación funcional para realizar las funciones de depuración requeridas y, en tercer lugar, una modificación en el método tradicional de desarrollo y depuración de sistemas digitales.
La invención es aplicable al ámbito de los circuitos digitales de gran dimensión y permite generalizar y sistematizar la inserción de circuitería de test e inspección en el circuito prototipo de forma totalmente automática.
ANTECEDENTESDELAINVENCIÓN
Las técnicas actuales, en el ámbito del análisis y test funcional de circuitos funcionales, se basan en sistemas "ad hoc", en las que los tests se realizan mediante sistemas basados en circuitos integrados lógica programable desarrollando un prototipo orientado a cada test.
De forma más concreta el flujo de diseño de circuitos integrados digitales tradicional utiliza para todas las tareas de verificación funcional programas de software que realizan simulaciones. Estas requieren dos elementos: un modelo de circuito y los estímulos necesarios para la verificación exhaustiva del mismo. En la actualidad las técnicas tradicionales de depuración comienzan a ser insuficientes, fundamentalmente debido a dos motivos:
- En primer lugar la funcionalidad es tan compleja que la simulación mediante software del circuito requiere tiempos de computación muy elevados y, en la mayoría de los casos, impracticables.
- En segundo lugar la elaboración de los estímulos de simulación resulta una labor que presenta grandes dificultades por tener que representar gran cantidad de situaciones del circuito final y esto resulta a menudo impracticable.
Las técnicas de realización rápida de prototipos (rapid prototyping o prototipado rápido) mediante emulación cobran ahora importancia, ya que se trabaja con un modelo hardware basado en un circuito integrado de lógica programable insertado en el sistema final con ligeras modificaciones.
Las técnicas basadas en emulación presentadas en la literatura tiene la particularidad de estar asociadas a cada aplicación y no existen en la actualidad ni un procedimiento ni los medios complementarios que permitan plantear una situación válida para todas las situaciones.
En lo que se refiere a los soportes para emulación de las técnicas de prototipado rápido, se basan en el uso de dispositivos avanzados de lógica programable tipo FPGA-SRAM. Dentro de los dispositivos que actualmente se ofrecen al mercado, los hay capaces de ofrecer las siguientes prestaciones:
- Capacidad de ser programados tantas veces como sea preciso.
- Capacidad para leer la configuración y estado de un sistema.
- Capacidad para detener un reloj de un sistema, de forma adecuada y ser controlado.
- Prestaciones suficientemente elevadas para poder emular un circuito objeto de análisis en las condiciones de diseño.
Estos son los requisitos o prestaciones exigibles para la puesta en práctica del método objeto de la invención, como se verá más adelante.
Desde el punto de vista metodológico en la actualidad, tras la generación del código en alto nivel del circuito, simulación y pruebas básicas, se puede elaborar un prototipo emulado del sistema. En el se pueden producir situaciones en tiempo real o, en el peor de los casos, casi real, dependiendo de las limitaciones del circuito emulador. Es posible verificar el sistema final, y es posible verificar el funcionamiento global.
DESCRIPCIÓN DE LA INVENCIÓN
Dentro del objeto de la invención una circuitería vigila eventos deterministas y temporales y sus combinaciones simultáneamente. El usuario decide qué señales se han de asociar a un evento mediante la inserción de comparadores (detección de eventos temporales) para activar los eventos. El usuario puede de forma combinada aplicar contadores (detección de eventos temporales) que temporicen la actividad del evento. Cada evento tiene asociada una máquina de estados que permite su desactivación desde del exterior con una señal adicional. Todas las señales de activación de los eventos se concentran en una función lógica OR que sale al exterior mediante una salida en resistencia a alimentación (pull-up). Cuando un evento se produce, la salida vale el valor lógico 1 mediante el mencionado pull-up, mientras que en caso contrario el circuito funciona normalmente y la salida vale el valor lógico 0. El valor lógico 1 permite un diálogo bidireccional a través de las líneas.
El método tanto para la parada de circuito como para su reactivación, consiste, en primer lugar, en la activación de un control de inhibición de la señal de reloj sobre cada elemento secuencial de cada circuito. Esto se consigue mediante la señal "Clock Enable". Cuando el circuito se encuentra en estado de evento detectado, a través de la señal de activación de evento se puede, mediante una transmisión de 0 a 1 lógico forzada desde el exterior, activar un circuito detector de flanco que genere un pulso de duración un único ciclo de reloj, que conectada al control de habilitación del reloj posibilita la transición durante un único ciclo de reloj de los elementos secuenciales. La utilización de una estrategia de salida pull-up permite que el pad tenga un comportamiento bidireccional y pueda utilizarse como control del reloj. En cuanto al método para la identificación del evento producido, la lectura de la configuración interna y del estado del emulador soporte del circuito permite leer el estado de la señal de activación de cada uno de los eventos y, por tanto, saber su estado e identificar el evento producido.
El método permite la introducción de manera prácticamente ilimitada de condiciones de eventos, de forma totalmente automática y transparente para el usuario. La mencionada circuitería se introduce desde lenguaje de alto nivel, siendo por tanto susceptible de ser automatizado todo el proceso de inserción sobre el circuito original. Dado que el número de eventos es ilimitado y solamente depende de la capacidad del emulador, el usuario puede introducir tantos eventos como sea preciso mediante una descripción simple de los mismos, y un programa puede introducir automáticamente todos los cambios.
La utilización de este sistema en el flujo de desarrollo tradicional de un circuito integrado, consiste en utilizar un emulador con capacidad para depurar el diseño mediante la introducción de los eventos y la inspección del mismo, y facilita la introducción de una nueva técnica de depuración de diseño de circuitos digitales mediante el uso de las capacidades avanzadas de los emuladores. Gracias a la inserción de las condiciones de evento es posible realizar la verificación del funcionamiento potenciando extraordinariamente el tradicional método de desarrollo de circuitos. Por tanto la inserción y la utilización de la circuitería propuesta posibilita el análisis en tiempo de ejecución, es decir, utilizando un sistema totalmente funcional.
DESCRIPCIÓN DE LOS DIBUJOS
Para complementar la descripción que se está realizando y con objeto de ayudar a una mejor comprensión de las características del invento, de acuerdo con un ejemplo preferente de realización práctica del mismo, se acompaña como parte integrante de dicha descripción, un juego de dibujos en donde con carácter ilustrativo y no limitativo, se ha representado lo siguiente:
La figura 1.- Muestra la arquitectura del circuito necesario para cumplir los requerimientos del método de la invención, para varios eventos, asociados o independientes.
La figura 2.- Muestra el circuito de control del reloj del sistema. La figura 3.- Muestra, finalmente, un diagrama de bloques correspondiente a la metodología para el sistema de desarrollo de circuitos integrados digitales.
REALIZACIÓN PREFERENTE DE LA INVENCIÓN
El circuito objeto de análisis, en adelante COA, es un compendio de señales y operaciones combinacionales y circuitería secuencial que trabaja en general, en paralelo. La circuitería para la realización de test, en adelante CPT, que constituye la parte esencial de la invención, tiene la misión de detectar determinadas situaciones, generalmente asociadas a valores de las señales internas combinacionales y en su caso combinadas con la variable tiempo durante el funcionamiento del COA, que resultan de especial interés para el diseñador. Esto se consigue mediante la selección de eventos. Los eventos son situaciones de interés que se detectan durante el funcionamiento del circuito programadas por el usuario. Tras la evolución producida debida a su funcionamiento normal, el circuito, en el instante en que se produce el evento, puede reaccionar de dos maneras no excluyentes:
- Se detiene y permanece "congelado".
Retiene el estado.
En ambos casos el diseñador puede inspeccionar los valores internos del sistema y analizarlo.
A partir de este concepto de "evento", el CPT debe soportar las siguientes tareas:
- Debe vigilar una combinación determinista en tiempo de ejecución, es decir, debe provocar un aviso ante un evento determinista.
- Debe vigilar la condición temporal en tiempo de ejecución, es decir, debe provocar una aviso ante un evento temporal.
- Debe generar una señal o bandera que registre el evento, cualquiera que sea su naturaleza.
- Debe congelar el circuito para facilitar su análisis desde un sistema gráfico o similar.
- Debe comunicar al sistema que se ha producido un evento e identificar cuál de los eventos programados se ha producido.
- Debe ser capaz de retomar la situación para continuar su ejecución.
De acuerdo con la misiones previstas para el CPT, que acaban de exponerse, dicho circuito debe incorporar los siguientes componentes:
- Comparadores para vigilar cada evento determinista.
- Contadores que registren ciclos de reloj para vigilar eventos temporales.
- Un circuito con la estructura de una máquina de estados finita por cada uno de los eventos, que permita que en un posterior análisis sea posible identificar que evento se ha disparado.
- Una señal que deshabilite el reloj del sistema y congela la actividad del COA.
- Una señal extema de control del sistema que se utiliza para comunicar la situación evento producido.
- Una señal externa de reactivación para deshabilitar el evento producido y reactivar el circuito objeto del análisis.
- Una señal para la ejecución paso a paso del mismo.
El método propuesto no impone restricción alguna al número de eventos y su naturaleza, más que las que se deriven del emulador escogido para la realización física del sistema.
De acuerdo con la relación de componentes que acaba de exponerse, la arquitectura del circuito está representada en la figura 1 donde las referencias (1), (1')... (ln ) corresponden a respectivas condiciones específicas o eventos,
(2), (2')... (2n ) los respectivos detectores, la referencia (3) a un detector de flanco y las referencias (4) y (5) respectivamente al pad externo de reactivación y el pad externo de control del sistema.
Como se desprende de la observación de la citada figura 1 la arquitectura del circuito no presenta limitación en tamaño y posibilidades de vigilancia de eventos, es decir, el CPT tiene un carácter genérico y las limitaciones están impuestas por los recursos disponibles del emulador. La circuitería se describe mediante lenguajes de hardware de alto nivel, alfanuméricos (HDLs), y configuran cada comparador y cada contador por su descripción paramétrica. En el circuito de control de reloj del sistema, representado en la figura 2, participa un bloque (6) detector de condiciones de parada, el citado pad externo (5) de control del sistema, y un bloque (7) detector de flanco positivo, generador de un ciclo, generando la señal (8) que habilita el reloj. Así pues, la sección de ejecución paso a paso se basa en la utilización de la línea de control del sistema como señal de activación de un ciclo de reloj dada su naturaleza bidireccional. El circuito central consiste en una máquina de estados que permite ser activada mediante una transmisión de la señal de control del sistema.
Los circuitos descritos en las figuras 1 y 2 son complementarias y comparten la circuitería extema.
En lo que se refiere al método de desarrollo las técnicas actuales utilizan, para el diseño del circuito de gran dimensión, los anteriormente mencionados lenguajes de alto nivel (HDLs). Mediante éstos se describen los circuitos con cierto nivel de abstracción y, a través de un proceso de síntesis y optimización, se genera una descripción de los circuitos finales. Gracias a la síntesis de generación de circuitos digitales se ha acelerado enormemente al facilitar la elaboración de circuitos altamente parametrizados y generalizados.
El CPT se acopla de modo natural al COA si ambos están descritos de una manera similar, es decir en un lenguaje de alto nivel. Una vez realizada la síntesis conjunta el circuito resultante contiene tanto la circuitería original como la específica para el análisis.
Una de las posibilidades del método es que se puede definir un sencillo lenguaje de especificación de eventos que facilite la automatización del sistema. El sistema de análisis utiliza los siguientes elementos:
- Circuito emulador (CE) de sistemas digitales, como por ejemplo una o varias FPGA-s que cumplan con los requisitos establecidos en el apartado de antecedentes de la invención, es decir que tenga capacidad de ser programado tantas veces como sea preciso, capacidad para leer la configuración y el estado del sistema, capacidad para detener el reloj del sistema de forma adecuada y ser controlado, y finalmente capaz de ofertar prestaciones suficientemente elevadas para poder emular el
COA en las condiciones del diseño.
- Sistema de visualización (SN) que permita hacer comprensible al usuario el contenido del sistema de emulación. Por lo común, este elemento será una computadora personal o una estación de trabajo y tiene como finalidad controlar y supervisar todo el proceso de emulación.
- Circuito de enlace (CL) entre el circuito emulador (CE) y el sistema de visualización (SN), que realizan las operaciones de transferencia de información entre los sistemas. Se encarga de hacer compatibles los protocolos de transferencia de información de ambos elementos. Normalmente se utilizará un circuito integrado de aplicación específica (ASIC) programable o no.
El funcionamiento del sistema es el siguiente: el circuito emulador
(CE) está configurado con ambos circuitos (COA) y (CPT), se inserta dentro del sistema final y envía una señal al sistema de visualización a través del circuito de enlace indicando que el sistema ha alcanzado una situación prevista como evento. En este instante el circuito emulador: - Deja de funcionar y queda en estado "congelado".
- Retiene el estado del sistema para su análisis.
El siguiente paso es la transferencia del contenido de circuito emulador al sistema de visualización, donde se identifica el evento y se procesa la información recogida del emulador para hacerla comprensible, lo que se realiza mediante el circuito de enlace.
Finalmente se genera la orden de continuación desde el sistema de visualización al circuito emulador, ya sea utilizando el sistema "paso a paso", o bien mediante la señal extema de reactivación.
Desde el punto de vista metodológico el CPT facilita de modo natural mecanismos de parada y continuación del sistema y permite la introducción de mecanismos de control y disparo que facilitan la detección de errores durante el funcionamiento del sistema. La circuitería puede ser introducida desde una descripción de alto nivel (HDL) del circuito, y por tanto desde una herramienta software en los estadios primarios del flujo de diseño. La descripción del circuito se realiza mediante la determinación de parámetros.
Por tanto se puede realizar la inserción del CPT de forma totalmente automatizada sin que se precise intervención manual alguna.
Los emuladores anteriormente mencionados pueden ser inspeccionados y permiten que se puedan relacionar señales que están en la descripción de alto nivel con registros y señales físicamente presentes en el emulador y sus valores en funcionamiento, mediante un cuidadoso control del proceso de síntesis. Este proceso de inspección interna precisa además de la ayuda de un mapa que relacione la configuración con señales en la descripción de alto nivel. Este mapa lo facilitan los fabricantes. La metodología aparece representada en el esquema de la figura 3, donde el bloque (9) se corresponde con la simulación modular de verificación de alto nivel, el bloque (10) con la descripción de alto nivel del circuito (HDL), el bloque (11) con la tecnología para la realización física, el bloque (12) es el bloque de síntesis y el bloque (13) la metodología para la realización física.
Paralelamente el bloque (14) se corresponde con la inserción del circuito para el test, el bloque (15) la tecnología del emulador, el bloque (16) la síntesis, el bloque (17) la metodología para la realización física para el emulador, el bloque (18) el sistema de visualización (Interface hombre-máquina), y el bloque (19) el sistema final con el emulador, correspondiéndose las flechas (20) y (21) respectivamente con la configuración y mapa de variables.
Por tanto, a partir de la inspección interna se permite relacionar el código de alto nivel con sus valores durante el funcionamiento real. La principal consecuencia de este hecho es que el sistema puede ser perfectamente caracterizado ante un evento y, lo que lo hace realmente potente, puede indentificarse el propio evento producido, además el número de eventos no está limitado.

Claims

R E I V I N D I C A C I O N E S
Ia.- Método para análisis y test funcional de circuito digitales de gran dimensión mediante emuladores hardware, caracterizado porque consistente en circuitos que vigilan eventos deterministas, temporales y sus combinaciones simultáneamente. El usuario decide en cada momento qué señales se han de monitorizar mediante la inserción comparadores para activar cada evento, o bien, de forma combinada, aplicar contadores que temporicen la activación del evento. Los eventos que pueden ser desactivados desde el exterior con una señal adicional.
2a.- Método para análisis y test funcional de circuito digitales de gran dimensión mediante emuladores hardware, según reivindicación Ia, caracterizado porque para parar el reloj y para su reactivación se introduce un control de inhibición de la señal de reloj sobre cada elemento secuencial del circuito, concretamente mediante la señal "Clock Enable". Se ha previsto que cuando el circuito se encuentra en estado de "evento producido" la señal identificada en la figura como "pad extemo de control del sistema" se pueda, mediante una transición 0 a 1 lógico forzada desde el exterior, activar un circuito detector de flanco. Se genera interiormente un pulso de duración un ciclo de reloj que, conectado al control de habilitación del reloj, hace la transición de un solo ciclo de reloj de los elementos secuenciales, con la particularidad de que la utilización de una estrategia en pull-up permite que el pad tenga un comportamiento bidireccional y pueda utilizarse como el control del reloj.
3a.- Método para análisis y test funcional de circuito digitales de gran dimensión mediante emuladores hardware, según reivindicaciones anteriores, caracterizado porque para la identificación del evento producido, la lectura de la configuración interna y del estado del emulador soporte del circuito, permite leer el estado de la señal de activación de cada uno de los eventos y, por tanto, conocer su estado y que evento se ha producido.
4a.- Método para análisis y test funcional de circuito digitales de gran dimensión mediante emuladores hardware, según reivindicaciones anteriores, caracterizado porque las condiciones de eventos, ilimitadas en número, se introducen de forma totalmente automática y transparente para el usuario, desde lenguaje de alto nivel, siendo susceptible de ser automatizado todo el proceso de inserción sobre el circuito original, sin más limitación en cuanto al número de eventos que la capacidad del emulador, efectuándose la introducción de los eventos mediante una descripción simple de los mismos, mientras que un programa permite producir automáticamente todos los cambios.
5a.- Circuitería para la puesta en práctica del método de las reivindicaciones anteriores, caracterizada porque en la misma participa comparadores para vigilar cada evento determinista, contadores que registren ciclos de reloj para vigilar eventos temporales, un circuito tipo máquina de estados finita por cada uno de los eventos, que permite que en un posterior análisis sea posible identificar que evento se ha disparado, una señal que deshabilita el reloj del sistema y congela la actividad del COA, una señal extema de control del sistema que se utiliza para comunicar la situación
"evento producido", una señal extema de reactivación para deshabilitar el evento producido y reactivar el circuito objeto de análisis y una señal para la ejecución paso a paso del mismo.
PCT/ES2002/000571 2001-11-29 2002-11-29 Metodo y circuteria para analisis y test funcional de circuitos digitales de gran dimension mediante emuladores hardware WO2003046773A1 (es)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2002360108A AU2002360108A1 (en) 2001-11-29 2002-11-29 Method and circuitry for the functional testing and analysis of large digital circuits using hardware emulators
EP02795299A EP1462962A1 (en) 2001-11-29 2002-11-29 Method and circuitry for the functional testing and analysis of large digital circuits using hardware emulators
US10/497,421 US20040268192A1 (en) 2001-11-29 2002-11-29 Method and circuitry for the functional testing and analysis of large digital circuits using hardware emulators

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES200102683A ES2188418B1 (es) 2001-11-29 2001-11-29 Metodo para analisis y test funcional de circuito digitales de gran dimension mediante emuladores hardware.
ESP200102683 2001-11-29

Publications (1)

Publication Number Publication Date
WO2003046773A1 true WO2003046773A1 (es) 2003-06-05

Family

ID=8499637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2002/000571 WO2003046773A1 (es) 2001-11-29 2002-11-29 Metodo y circuteria para analisis y test funcional de circuitos digitales de gran dimension mediante emuladores hardware

Country Status (5)

Country Link
US (1) US20040268192A1 (es)
EP (1) EP1462962A1 (es)
AU (1) AU2002360108A1 (es)
ES (1) ES2188418B1 (es)
WO (1) WO2003046773A1 (es)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0838772A2 (en) * 1996-10-17 1998-04-29 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6212491B1 (en) * 1998-11-09 2001-04-03 International Business Machines Corporation Automatic adjustment for counting instrumentation
US6298452B1 (en) * 1999-02-05 2001-10-02 Hewlett-Packard Company Hardware test coverage using inter-chip event filtering in multi-chip simulations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993016433A1 (en) * 1992-02-07 1993-08-19 Seiko Epson Corporation Hardware emulation accelerator and method
US5937179A (en) * 1995-12-14 1999-08-10 Texas Instruments Incorporated Integrated circuit design system with shared hardware accelerator and processes of designing integrated circuits
US5946472A (en) * 1996-10-31 1999-08-31 International Business Machines Corporation Apparatus and method for performing behavioral modeling in hardware emulation and simulation environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0838772A2 (en) * 1996-10-17 1998-04-29 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6212491B1 (en) * 1998-11-09 2001-04-03 International Business Machines Corporation Automatic adjustment for counting instrumentation
US6298452B1 (en) * 1999-02-05 2001-10-02 Hewlett-Packard Company Hardware test coverage using inter-chip event filtering in multi-chip simulations

Also Published As

Publication number Publication date
AU2002360108A1 (en) 2003-06-10
ES2188418B1 (es) 2004-11-16
US20040268192A1 (en) 2004-12-30
EP1462962A1 (en) 2004-09-29
ES2188418A1 (es) 2003-06-16

Similar Documents

Publication Publication Date Title
US6006022A (en) Cross-linked development and deployment apparatus and method
CN105224345B (zh) 一种可编程逻辑器件远程更新系统及其方法
WO2007016699A3 (en) Method and system for debug and test using replicated logic
Gil-Tomás et al. Injecting intermittent faults for the dependability assessment of a fault-tolerant microcomputer system
Posadas et al. POSIX modeling in SystemC
CN109726063A (zh) 一种基于指令行为对Verilog实现的MIPS处理器的自动化评判方法
Grinschgl et al. Modular fault injector for multiple fault dependability and security evaluations
CN101782626B (zh) 一种jtag端口控制器
US6131079A (en) Method and device for automatic simulation verification
WO2003046773A1 (es) Metodo y circuteria para analisis y test funcional de circuitos digitales de gran dimension mediante emuladores hardware
US20140089648A1 (en) Bifurcated processor chip reset architectures
Nyberg et al. Closing the gap between speed and configurability of multi-bit fault emulation environments for security and safety–critical designs
Frtunikj et al. Qualitative evaluation of fault hypotheses with non-intrusive fault injection
Tuzov et al. Accurately simulating the effects of faults in vhdl models described at the implementation-level
Lagadec et al. Software-like debugging methodology for reconfigurable platforms
Cekan et al. Software fault tolerance: the evaluation by functional verification
Zheng et al. Fitvs: A fpga-based emulation tool for high-efficiency hardness evaluation
Portela-García et al. Using an FPGA-based fault injection technique to evaluate software robustness under SEEs: A case study
Armstrong Chip level modeling and simulation
Acken et al. Part II: Logic circuit simulation
Velazco et al. THESIC: Una plataforma flexible para la validation funcional de circuitos integrados
CN117892661A (zh) 一种基于risc-v处理器验证的模拟器比对系统
Allwein et al. Spider for a Traffic Light
Parkkila et al. Incremental Updateable Control Systems on an FPGA
Floridia Design and Functional Test of Asynchronous Processor

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002795299

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10497421

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002795299

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP