La firme allemande Lauterbach, spécialiste des outils de débogage, a récemment publié un code VHDL en open source pour la conception d’un commutateur JTAG intégré dans des systèmes multiprocesseurs.... L’objectif de cette technologie est de connecter les interfaces de débogage de plusieurs processeurs ou cœurs de processeur disparates, souvent incompatibles entre elles, avec en particulier des exigences de tension différentes. Sur ce type d’environnement multitraitement, un système peut intégrer plusieurs processeurs chacun se concentrant sur une tâche de traitement particulière.
Avec les processeurs modernes capables de passer en mode très basse consommation, l'interface de débogage peut alors être mise hors tension à tout moment, ce qui rompt la chaîne JTAG et empêche le débogage de tous les périphériques connectés. Le commutateur JTAG conçu par Lauterbach est pensé pour résoudre ces problèmes puisqu’il peut fonctionner avec des cœurs de processeur qui utilisent différentes tensions et peut s’adapter de manière transparente au fur et à mesure que les cœurs entrent et sortent de leur état à très faible consommation.
Les applications potentielles incluent la possibilité pour les développeurs de tester diverses combinaisons multiprocesseurs sur une carte et divers périphériques individuels dont les entrées/sorties peuvent être analysées à la volée dans la chaîne JTAG. Ainsi, plusieurs cibles peuvent être connectées à un seul débogueur pour les tests de régression. Le code, référencé JTAG Switcher, peut également être directement inclus dans un fichier de conception de circuits où des problèmes similaires peuvent survenir au sein d'une même puce.
Le code source écrit en langage VHDL du commutateur JTAG est accessible sans restriction et disponible gratuitement. Il comprend des exemples prédéfinis pour certains FPGA, comme ceux d’Intel (Altera) et de Lattice. Le système peut être configuré une fois pour toutes au démarrage ou de manière dynamique lors de l'exécution des opérations de débogage, pour inclure ou exclure des processeurs de l’analyse. Et, une fois le système configuré, il est invisible pour tout outil JTAG utilisant cette interface avec l'API logicielle ouverte, disponible dans le package proposé par Lauterbach.