ELE6306 : Test de systèmes électroniques Projet de cours Conception d’un multiplexeur JTAG Chi-Truc Dinh ; Kevin Peterson Professeur : A. Khouas Département de génie électrique École Polytechnique de Montréal
ELE6306 : Test de systèmes électroniques
Projet de cours
Conception d’un multiplexeur JTAG
Chi-Truc Dinh ; Kevin Peterson
Professeur : A. Khouas
Département de génie électrique
École Polytechnique de Montréal
2
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Plan de l’exposé
Introduction
Revue de littérature
Méthodologie
Résultats
Conclusion
Questions
3
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Introduction
4
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Définition de termes spécifiques
Chaîne locale : chaîne connectée a un des ports
JTAG du multiplexeur
Chaîne activée : chaîne locale faisant partie de la chaîne
JTAG
Chaîne JTAG : chaîne formée avec toutes les chaînes activées
5
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
ACT8997 de Texas Instruments
Caractéristiques:
Nombre de chaînes supportées : 4
Sélection :
- Select register de 8 bits
Configuration :
- circuit dédiée
- Dépend du Select register et du Control
register
Solution pour N > 4 : cascader des ACT8997
6
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
PSC110F (NSC)
Caractéristiques:
Nombre de chaînes supportées : 3
Sélection :
- transitions appropriées dans les machines a états
- instruction UNPARK
Configuration :
- Mode register
- Réseau de multiplexeur
Solution pour N > 3 : cascader des PSC110F
Particularité :
- BIST intégré (LFSR mais pas de MISR)
7
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Scan Ring Linker (Intellitech)
Caractéristiques :
Nombre de chaînes supportées : N
Sélection d’une chaîne locale : inconnue
Configuration de la chaîne active :
inconnue
Particularité :
- Supporte plusieurs tensions de référence,
plage d’opération entre 1.8 et 5 V
8
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Méthodologie
A. Définition de la fonctionnalité et de
l’architecture
B. Implantation des fonctions en VHDL
C. Génération des fichiers BSDL
D. Codage du banc d’essai et vérification du
multiplexeur
9
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Architecture du multiplexeur JTAG
Caractéristiques :
- Nombre de chaînes configurable
- Activation/désactivation s’effectue par les 4
pins JTAG lors d’un Scan-IR
- Registre IDCODE
- Mode Chain Select: gèle le TMS et le TCK des
chaînes actives
- Routage des TDI et TDO de sortie: de la
chaîne active d’index le plus bas -> l’index le
plus haut.
10
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Conception de l’architecture
Exemple de branchement
des ports JTAG :
Format des instructions envoyées au MUX
1 0 1 0 0/1 0/1 0/1 0/1 0/1 0/1 1 0 Activation/Désactivation de chaînes (1 = activée)0 1 0 1 X X X X X X 1 0 Mode Chain Select au prochain scan1 1 1 1 1 1 1 1 1 1 0 0 IDCODE au prochain Scan-DR1 1 1 1 1 1 1 1 1 1 1 1 Désactivation de toutes les chaînes
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0 1 Valeur copiée au registre d'instructionslors d'un Capture-IR
Mode Chaînes activées Clé
11
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Implémentation du multiplexeur en VHDL
Registre/Signal Fonction
wrk_cfg Registre servant à mémoriser le mode (Chain
Select ou autre) et les chaînes activées
wrk_dr Registre de Bypass
wrk_ir Registre d’instruction Boundary Scan
wrk_state Registre d’état du TAP Controller
wrk_tdo Registre servant à mémoriser la valeur du
TDO
wrk_mode Registre servant à mémoriser le mode Chain
Select
chselmode Signal servant à extraire le code du mode
Chain Select du registre wrk_cfg
versionmode Registre servant à mémoriser le mode IDCODE
versioncode Registre à décalage pour l’IDCODE
tdo_drive Signal servant à déterminer si le TDO doit être
actif ou en haute impédance, selon l’état de
wrk_state
tms_i(N à 0) Signaux se branchant au TDI des chaînes
locales
tms_ch(N à 0) Registre servant à mémoriser la dernière
valeur envoyée sur le TMS des chaînes
locales, pour la garder pendant le mode Chain
Select
12
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Exemple de fichier BSDL-- Jtag Mux 3 Chain 0 BSDL File
-- Updated: December 5, 2003
--**********************************************************************
-- entity chain0_3 is
generic(PHYSICAL_PIN_MAP : string:= "HYPERCHIP");
port ( TCK : in bit; TDI : in bit; TDO : out bit; TMS : in bit );
use STD_1149_1_1990.all;
attribute PIN_MAP of chain0_3 :
entity is PHYSICAL_PIN_MAP;
constant HYPERCHIP:PIN_MAP_STRING
:= "TCK : 36,"& "TDI : 33,"& "TDO : 34,"& "TMS : 35";
attribute Tap_Scan_In of TDI : signal is true;
attribute Tap_Scan_Mode of TMS : signal is true;
attribute Tap_Scan_Out of TDO : signal is true;
attribute Tap_Scan_Clock of TCK : signal is (1.0e7, BOTH);
-- attribute TAP_SCAN_RESET of TRST : signal is true;
attribute Instruction_Length of chain0_3: entity is 14;
attribute Instruction_Opcode of chain0_3: entity is
"BYPASS (101000110)," &
"SAMPLE (000000011)," &
"IDCODE (111111100)," &
"EXTEST (000000000)";
attribute Instruction_Capture of chain0_3 : entity is "XXXXXXX01";
attribute Boundary_Cells of chain0_3: entity is "BC_1";
attribute Boundary_Length of chain0_3: entity is 1;
attribute Boundary_Register of chain0_3: entity is "0 (BC_1, *, control, 0)";
end chain0_3;
13
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Résultats
Chronogramme du déplacement dans la machine à états du multiplexeur à 3 chaînes
Chronogramme de la lecture de l’IDCODE du multiplexeur à 3 chaînes
14
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Résultats
Chronogramme de l’activation des chaînes 0 et 2 dans le multiplexeur à 3 chaînes
15
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Résultats
Chronogramme de démonstration du routage des signaux TDI et TDO dans le multiplexeur à 3 chaînes
Chronogramme de démonstration du mode Chain Select dans le multiplexeur à 3 chaînes
16
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
RésultatsChronogramme de l’activation de toutes les chaînes dans le multiplexeur à 3 chaînes
Chronogramme de l’activation de toutes les chaînes dans le multiplexeur à 8 chaînes
17
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Conclusion
Travaux a compléter
- Vérifier toutes les configurations possibles
- Effet du déplacement dans tous les états du
TAP Controller
Futurs travaux possibles
- Implémenter de nouveaux modes
d’activation
- Génération automatisée des fichiers BSDL
18
Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal
Questions