カテゴリー
category_fr

émulateur JTAG

Qu’est-ce qu’un émulateur JTAG ?

Les émulateurs JTAG sont un type d’émulateur sur puce utilisé pour le débogage pendant le développement du logiciel de l’unité centrale.

Contrairement aux émulateurs in-circuit (ICE), qui émulent le fonctionnement de l’unité centrale telle qu’elle est en remplaçant l’unité centrale sur la carte par une sonde, les émulateurs JTAG permettent le débogage sans retirer l’unité centrale de la carte et avec l’unité centrale montée.

L’évaluation peut ainsi être effectuée dans un environnement dont les caractéristiques électriques sont équivalentes à celles de la carte du produit, ce qui contribue à une commercialisation rapide.

Utilisations des émulateurs JTAG

JTAG est une norme industrielle pour tester les LSI et les cartes. Sur la base de cette norme technique, les fabricants d’UC conçoivent des ports d’accès de test (TAP) et effectuent des tests de balayage de frontière (Boundary Scan Test).

Par conséquent, les spécifications des émulateurs JTAG diffèrent d’un fabricant de CPU à l’autre. Comme des spécifications qui diffèrent d’un fabricant à l’autre ne peuvent pas être appelées JTAG, une norme d’interface a été élaborée sur la base des spécifications d’origine en tant que conformité JTAG, et les émulateurs JTAG sont fabriqués en conséquence.

Principe des émulateurs JTAG

La norme JTAG a été normalisée en 1990 sous le nom de IEEE 1149.1.
Au fur et à mesure que les CPU et les LSI devenaient plus puissants et plus sophistiqués, le pas entre les broches devenait de plus en plus étroit, ce qui rendait difficile le débogage et le test en appliquant des sondes de test directement sur les broches des CPU et des LSI.

Pour résoudre ce problème, une méthode de balayage des limites a été mise au point pour analyser l’état des circuits internes en connectant les circuits à l’intérieur de la puce de manière dépendante et en lisant l’état des circuits de manière séquentielle.

Cette méthode peut être utilisée pour vérifier l’état interne du CPU ou du LSI sans avoir à placer des sondes de test sur chaque broche du CPU ou du LSI.

La norme JTAG a été conçue à l’origine comme une méthode de test des UC et des LSI, et a ensuite été utilisée comme méthode de débogage dans le développement de logiciels d’UC.

JTAG comporte cinq broches de signal – TCK (horloge), TDI (entrée de données), TDO (sortie de données), TMS (contrôle d’état) et TRST – mais les normes techniques ne définissent pas les caractéristiques électriques de ces signaux. Elles sont définies individuellement par le fabricant.

Le JTAG permet notamment de déboguer le processeur, d’inspecter la carte, de communiquer entre les circuits internes du circuit intégré et le PC hôte, ainsi que d’écrire des données dans le FPGA.

Méthodes de débogage avec les émulateurs JTAG

Cette section présente les méthodes utilisées pour vérifier le fonctionnement de la programmation conçue, identifier les défauts et améliorer les performances.

1. Exécution par étapes

Il s’agit de la méthode de débogage de base la plus couramment utilisée. Pour effectuer une exécution par étapes, le programme en cours d’exécution doit être arrêté une fois. La méthode utilisée pour arrêter le programme consiste à définir une condition appelée point d’arrêt ou à forcer une fonction d’arrêt. Une fois le programme arrêté, il est possible de vérifier l’état de la mémoire et des registres ainsi que le contenu des variables tout en exécutant le code source ligne par ligne ou fonction ou méthode par méthode.

2. Traçage en temps réel

Cette méthode est utilisée pour le débogage lorsque des conditions inattendues se produisent. Même si les conditions de branchement sont soigneusement prises en compte lors de la conception d’un programme, des erreurs inattendues se produisent souvent lors de la combinaison avec du matériel ou de la liaison avec d’autres systèmes. Lors de l’exécution par étapes, les erreurs causées par des conditions inconnues ne peuvent pas être analysées. L’historique de l’exécution du programme, les adresses et les types d’accès aux données (lecture/écriture), les interruptions, etc. sont stockés dans la mémoire de trace et analysés pour détecter les erreurs.

3. Mesure du temps

Il est possible de mesurer les temps d’exécution maximum, minimum et moyen du module de l’unité fonctionnelle spécifiée. Il est également possible de mesurer la relation entre la fonction appelée et la fonction appelante, ainsi que la fréquence des appels. Ces données peuvent être utilisées pour améliorer les performances du système en améliorant la variation du temps d’exécution et en revoyant la structure des fonctions.

Programmation avec des émulateurs JTAG

Les données peuvent être écrites dans le FPGA soit directement dans le FPGA, soit dans la mémoire de configuration via le FPGA. La mémoire de configuration, quant à elle, est écrite dans la mémoire volatile (RAM) du FPGA. La mémoire de configuration, quant à elle, est une mémoire non volatile (ROM), de sorte que le programme n’est jamais perdu une fois qu’il a été écrit.

Le choix de la méthode d’écriture se fait en fonction du nombre de connecteurs et du stade de développement du produit (en cours de conception ou en production de masse).

コメントを残す

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