カテゴリー
category_es

Emuladores JTAG

¿Qué es un Emulador JTAG?

Los emuladores JTAG se utilizan para depurar durante el desarrollo del software de la CPU y son un tipo de emulador en chip.

A diferencia de los emuladores en circuito (ICE), que emulan el funcionamiento de la CPU tal cual sustituyendo la CPU de la placa por una sonda, los emuladores JTAG permiten depurar sin retirar la CPU de la placa y con la CPU montada.

Esto tiene la ventaja de que la evaluación puede realizarse en un entorno con características eléctricas equivalentes a las de la placa del producto, lo que contribuye a una pronta comercialización.

Usos de los Emuladores JTAG

JTAG es un estándar industrial para probar LSI y placas, y los fabricantes de CPU diseñan puertos de acceso de prueba (TAP)     y realizan pruebas de escaneo de límites basándose en este estándar técnico.

Como resultado, las especificaciones de los Emuladores JTAG difieren de un fabricante de CPU a otro. Dado que las especificaciones que difieren de un fabricante a otro no pueden denominarse JTAG, se ha formulado un estándar de interfaz basado en las especificaciones originales como compatible con JTAG, y los emuladores JTAG se fabrican en consecuencia.

Principio de los Emuladores JTAG

La norma JTAG se estandarizó en 1990 como IEEE 1149.1.
La razón es que, a medida que las CPU y los LSI se hacían más potentes y sofisticados, el paso entre pines se hacía cada vez más estrecho, lo que dificultaba la depuración y las pruebas aplicando sondas de prueba directamente a los pines de las CPU y los LSI.

Para resolver este problema, se ideó un método de escaneo de límites para analizar el estado de los circuitos internos conectando los circuitos dentro del chip de forma dependiente y leyendo el estado de los circuitos secuencialmente.

Este método puede utilizarse para comprobar el estado interno de la CPU o LSI sin tener que colocar sondas de prueba en todos y cada uno de los pines de la CPU o LSI.

El estándar JTAG se concibió originalmente como un método para probar CPUs y LSIs, y posteriormente se utilizó como método de depuración en el desarrollo de software para CPUs.

JTAG tiene cinco pines de señal – TCK (reloj), TDI (entrada de datos), TDO (salida de datos), TMS (control de estado) y TRST – pero los estándares técnicos no definen las características eléctricas de estas señales. El fabricante las define individualmente.

Lo que se puede conseguir con JTAG incluye la depuración de la CPU, la inspección de la placa, la comunicación entre los circuitos internos del CI y el PC anfitrión, así como la escritura de datos en la FPGA.

Métodos de Depuración con Emuladores JTAG

Esta sección presenta los métodos utilizados para comprobar el funcionamiento de la programación diseñada, identificar fallos y mejorar el rendimiento.

Ejecución por Pasos
Es el método de depuración básico y más utilizado. Para realizar la ejecución por pasos, el programa en ejecución debe detenerse una vez. El método utilizado para detener el programa consiste en establecer una condición denominada punto de interrupción o forzar una función de interrupción.

Una vez detenido el programa, es posible comprobar el estado de la memoria y los registros y el contenido de las variables mientras se ejecuta el código fuente línea por línea o función o método por función o unidad de método.

Rastreo en Tiempo Real
Este método se utiliza para la depuración cuando se producen condiciones inesperadas. Aunque las condiciones de bifurcación se tengan muy en cuenta a la hora de diseñar un programa, a menudo se producen fallos inesperados al combinarlo con hardware o enlazarlo con otros sistemas.

En la ejecución por pasos, no se pueden analizar los fallos causados por condiciones desconocidas. El historial de ejecución del programa, las direcciones y tipos de acceso a los datos (lectura/escritura), las interrupciones, etc. se almacenan en la memoria de seguimiento y se analizan en busca de fallos.

Medición del Tiempo
Se pueden medir los tiempos de ejecución máximo, mínimo y medio (entre dos puntos de inicio a fin) del módulo de unidad de función especificado. También es posible medir la relación con la función llamada (función hija) y la función llamadora (función padre), así como la frecuencia de las llamadas.

Esto puede utilizarse para mejorar el rendimiento del sistema mejorando la variación del tiempo de ejecución y revisando la estructura de las funciones.

Programación con Emuladores JTAG

Los datos pueden escribirse en la FPGA directamente en la FPGA o en la memoria de configuración a través de la FPGA. En el caso de escritura directa en la FPGA, los datos se escriben en la memoria volátil (RAM), por lo que el programa debe escribirse cada vez que se apaga/enciende la alimentación.

La memoria de configuración, en cambio, se escribe en la memoria volátil (RAM) de la FPGA. La memoria de configuración, por otro lado, es memoria no volátil (ROM), por lo que el programa nunca se pierde una vez que ha sido escrito.

Seleccione el método de escritura en función del número de conectores y de la fase de desarrollo del producto (durante el diseño o la producción en serie).

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です