Vous êtes sur la page 1sur 17

PROGRAMMATION

D'UN PLD PAR


LIAISON JTAG ET
UTILISATION D'UN
ANALYSEUR
LOGIQUE
SAISIE DE MACHINES A ETATS COMPLEXES, SIMULATION SOUS WARP,
IMPLEMENTATION D'UN FICHIER JEDEC DANS UN PLD PAR LIAISON JTAG ET
VALIDATION EXPERIMENTALE A L'AIDE D'UN ANALYSEUR LOGIQUE

1 INTRODUCTION
Cette seconde journée de formation va vous permettre de vous familiariser avec la liaison
normalisée de type JTAG. A travers différents exercices, vous allez utiliser une carte d'interface
JTAG pour programmer un PLD de type ISPGAL22V10 puis un CPLD Cypress.
Ensuite, vous procéderez à la validation expérimentale de vos différents travaux à l'aide
d'un module d'analyse logique par liaison USB sur ordinateur de type PC.

2 RAPPELS SUR L'ISP-GAL22V10


2.1 BROCHAGE
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

2.2 OU TROUVER DES ISP-GAL22V10 ?

Chez Radiospares, le code commande d'un ISPGAL22LV10-15LJ est le 414-2007 et son


prix unitaire est de 5,74€.

3 LA LIAISON JTAG NORMALISEE


3.1 PRESENTATION SUCCINCTE

L’interface JTAG peut se targuer d’un certain nombre de caractéristiques marquantes. La


caractéristique la plus remarquable est que cette interface travaille, si on le désire, vu depuis le
composant, de façon totalement transparente et asynchrone. Cela signifie qu’il est possible de
tester le composant concerné en cours de fonctionnement sans que cela n’ait la moindre
influence néfaste sur son fonctionnement. Les dépanneurs de service ne manqueront pas
d’apprécier cette caractéristique à toute sa valeur. L'’interface JTAG permet donc la
programmation ISP (In Site Programming) des composants, le débogage de DSP…

3.2 SYNOPTIQUE DE L'INTERFACE JTAG

Le synoptique ci-dessous est extrait du numéro de septembre 2002 de la revue Elektor.


On retrouve les 4 signaux TDI, TMS, TCK et TDO nécessaires à la programmation d'un PLD
par liaison JTAG.

Page 2/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

3.3 LES QUATRE SIGNAUX NORMALISES

TCK représente le signal d’horloge nécessaire à la logique JTAG. Ce signal est


parfaitement indépendant du signal d’horloge propre au circuit intégré, ce qui explique que ces
deux éléments soient totalement asynchrones l’un par rapport à l’autre. Tous les autres signaux
de l’interface JTAG sont en synchronisme avec cette entrée d’horloge.
L’entrée TMS commande le contrôleur JTAG. Elle permet, entre autres choses, de choisir
entre le registre d’instruction et les autres registres. En fonction de l’état du contrôleur JTAG et
du contenu du registre d’instruction on a, en permanence, sélection d’un registre qui se trouve
pris en registre à décalage entre TDI et TDO. TDI permet de charger une donnée dans un
registre, sachant que simultanément TDO permet la lecture du contenu d’un registre.

3.4 SCHEMA STRUCTUREL

Le schéma structurel ci-dessous, extrait de la revue Elektor de septembre 2002 met en


évidence la simplicité de réalisation d'une interface JTAG.

3.5 OU SE PROCURER UN KIT JTAG A PRIX RAISONNABLE

La société Santel (54, Grande rue 77580 GUERARD ; tél : 01 64 65 62 65) commercialise
l’interface JTAG représentée ci-dessous en Kit pour environ 17 € TTC.

Page 3/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

3.6 INTERFAÇAGE DU KIT SANTEL AVEC UN ISPGAL22V10

Comme vous pouvez le constater ci-dessous, un simple connecteur mâle de type HE10
permet de programmer un PLD in-situ par liaison JTAG normalisée.

4 REALISATION D'UN COMPTEUR BINAIRE A 8 ETAGES PAR


MACHINE A ETATS
4.1 CAHIER DES CHARGES

La fonction à réaliser est un compteur binaire à huit étages. Le chiffre binaire disponible
en sortie doit s'incrémenter à chaque front montant du signal d'horloge CLK.
Votre compteur devra disposer d'une entrée d'initialisation RAZ active à l'état logique bas.
Lorsque cette dernière sera à l'état logique haut, le compteur pourra avancer au rythme des
fronts montants du signal d'horloge. Lorsqu'elle sera à l'état logique bas, toutes les sorties
seront à l'état logique bas.
Le comptage sera conditionné à l’action sur un inverseur nommé STOP: lorsque STOP
sera à l'état logique haut, le compteur pourra avancer au rythme des fronts montants du signal
d'horloge. Lorsque STOP sera à l’état bas, le comptage s’arrêtera et maintiendra le dernier état
en sortie.
Les sorties seront regroupées en un registre de 8 bits appelé Q.

Page 4/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

Les actions associées aux "bulles" seront des instructions évoluées du type : Q <= Q+1.
Pour ce faire, vous devrez utiliser une nouvelle bibliothèque en insérant la ligne :
use work.std_arith.all;
après la déclaration des bibliothèques par défaut.

4.2 CORRESPONDANCE 22V10 ET ISP22V10 SUR LA CARTE FOURNIE

4.3 TRAVAIL A REALISER

Démarrez Galaxy et paramétrez un nouveau projet nommé "COMPTEUR8" pour un


PALCE22V10-15JC.
Dessinez une machine à états permettant de réaliser un compteur binaire 8 étages.
Compilez votre machine à états et rattachez le fichier VHDL généré à votre projet.
Compilez votre projet (F7) et procédez à l'analyse des différents fichiers "rapports" :
brochage, taux d'occupation dans le CPLD, etc….
Démarrez le logiciel de simulation "Active HDL Sim" depuis le gestionnaire de projets
Galaxy. Définissez les différents "stimulis" et lancez la simulation.

Page 5/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

Procédez à l'affectation des broches du PLD, recompilez votre projet puis


implémentez le fichier jedec généré par WARP dans un ISPGAL-22V10 à l'aide du
câble Jtag fourni.
Procédez à la vérification du contenu de votre PLD à l'aide de l'analyseur logique.

5 MODERNISATION D'UN CARILLON SOL SI RE


5.1 DECOMPOSITION FONCTIONNELLE DU CARILLON VERSION CPLD
5.1.1 SCHEMA FONCTIONNEL PARTIEL

Dans le schéma fonctionnel ci-dessous, les quatre fonctions à implémenter dans le CPLD
sont contenues dans le cadre en pointillés.

Multimelo
Synchronisation
BP et
choix des LED
cycles
Circuit RAZ
d'initialisation

Finmelo VcV
A0 à
A16 Restitution du
Génération des carillon
adresses 17 numérisé

8 Dcar
H123
Division de Conversion
fréquence Numérique
par 325 Analogique

Ucar
Référence Division de H400 Vcar
temporelle CLK fréquence Filtrage
de 4 MHz par 10

Page 6/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

5.1.2 DESCRIPTION DES DIFFERENTS SIGNAUX UTILES A L'INTEGRATION DANS UN CPLD

BP est un signal logique compatible TTL qui est en permanence à l'état logique haut
sauf durant l'action sur le bouton poussoir permettant le lancement de la mélodie SOLSIRE.
RAZ est un signal logique compatible TTL qui est à l'état logique bas seulement
pendant une durée très brève à la mise sous tension du système. Ce signal permet
d'initialiser toutes les fonctions intégrées dans le CPLD et ainsi d'éviter le démarrage de la
mélodie à la mise sous tension du système.
CLK est un signal logique compatible TTL de fréquence 4MHz. Les quatre machines à
états permettant la réalisation des fonctions intégrées dans le CPLD sont synchronisées sur
les fronts montants de cette même horloge.
Multimelo est une entrée logique compatible TTL qui, lorsqu'elle est forcée au niveau
logique bas permet la génération de mélodies SOLSIRE successives et ce, jusqu'à ce qu'elle
soit à nouveau forcée au niveau logique haut.
Finmelo est un signal logique compatible TTL qui passe au niveau haut pendant un
court instant dès la fin de l'émission de la mélodie SOLSIRE.
LED est un signal logique compatible TTL actif au niveau bas. Il permet la commande
d'une diode électroluminescente intégrée au bouton poussoir. Cette dernière s'allume dès
l'action sur le bouton poussoir et s'éteint automatiquement dès la fin de la mélodie.
VcV est un signal logique compatible TTL qui est au niveau logique bas durant
l'émission de la mélodie. Il permet d'activer la fonction "Génération des adresses".
H123 est un signal logique compatible TTL de fréquence 12,3 kHz. La mélodie SOLSIRE
stockée dans la mémoire EPROM réalisant la fonction "Restitution du carillon numérisé" étant
échantillonnées à la fréquence de 12,3 kHz, H123 sert de signal d'horloge à la fonction
"Génération des adresses".
A0 à A16 est un bus d'adresses de 17 fils permettant de lire les 131072 octets
sauvegardés dans la mémoire EEPROM réalisant la fonction "Restitution du carillon numérisé".
H400 est un signal logique compatible TTL de fréquence 400kHz. Il sert de signal
d'horloge au filtre à capacités commutées réalisant partiellement la fonction "Filtrage".

5.2 SCHEMA STRUCTUREL PARTIEL DE LA CARTE CARILLON VERSION CPLD

Le carillon SOLSIRE version CPLD a connu de nombreux changements au niveau de sa


conception. En effet, le signal d'horloge n'est plus généré par un montage de type astable à
NAND Trigger mais par une horloge intégrée de 4MHz. Toute la logique classique a été
remplacée par un CPLD Cypress de référence CY37064P44-125JC. Enfin, la mémoire de type
EPROM M27C512 a été remplacée par une mémoire EEPROM de référence AM29F010B
fabriquée par AMD. Cette dernière, d'une capacité de 1Mégabit nous permettra d'y intégrer
différentes mélodies ou un fichier de type Wave d'une durée d'environ 16 secondes lorsqu'il est
échantillonné à la fréquence de 8kHz.

Page 7/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

Page 8/9
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 11 mai 2005 au Lycée Georges Cabanis

5.3 TRAVAIL A REALISER

Dans la mesure où vous devez réaliser quatre fonctions logicielles synchronisées sur la
même entrée d'horloge, vous devrez dessiner les quatre machines à états correspondantes sur
la même feuille.
Le travail ci-dessous devra bien entendu être réalisé en quatre étapes avec des
simulations, voire des phases expérimentales de vérification sur une carte cible différente de
celle du carillon.

Démarrez Galaxy et paramétrez un nouveau projet nommé "Carillon" pour un


CY37064P44-125JC.

Dessinez les quatre machines à états permettant de réaliser les quatre fonctions à
implémenter dans le CPLD.

Procédez à l'affectation des broches du CPLD, recompilez votre projet puis


implémentez le fichier jedec généré par WARP dans un CY37064P44-125JC à l'aide du
câble Jtag fourni.

Procédez au test définitif.

Page 9/9
ANALYSEUR LOGIQUE USB ANT16
NOTICE SIMPLIFIEE

I. Introduction

Qu’est-ce qu’un analyseur logique ?


Pour simplifier, on peut considérer qu’un analyseur logique est équivalent à un oscilloscope
numérique comprenant de nombreuses voies.
Cependant l’analyseur logique ne travaille qu’avec des niveaux logiques 0 et 1.
De plus, il possède des possibilités de déclenchements complexes portant sur l’ensemble des
voies.

II. Description

Principe d’utilisation de l’analyseur logique USB ANT16

CARTE EN
TEST MODULE
SIGNAUX A PC
USB CABLE
ANALYSER
USB
SONDES
DE
MESURE

MODULE USB

SONDES DE
MESURE

LR- Notice simplifiée Analyseur logique USB ANT 16 1


L’analyseur est constitué d’un module USB interfacé à un PC.
Un câble à plusieurs conducteurs est fourni avec l’analyseur. Chaque conducteur est équipé à
chaque extrémité d’un grip fil
Le PC est équipé d’un logiciel nommé ANT16. Celui ci permet d’afficher tous les signaux
mesurés par les sondes.

Câblage

Voie 0 : Rouge
Voie 1 : Orange
Voie 2 : Jaune
Voie 3 : Vert
Voie 4 : Bleu
Voie 5 : Violet
Voie 6 : Gris
Voie 7 : Blanc

Voie 8 : Marron
Voie 9 : Rouge
Voie 10 : Orange
Voie 11 : Jaune
Voie 12 : Vert
Voie 13 : Bleu
Voie 14 : Violet
Voie 15 : Gris

Entrée Trigger/Clock : Blanc

Sortie Trigger out : Noir

Les voies 0 à 15 sont équipés de grips-fils rouges

Masse : Conducteur marron extérieur (sur le bord de la limande) + conducteur central noir :
les deux conducteur de masse sont équipés de grip-fils noirs.

L’entrée Trigger/Clock est équipée d’un grip-fil jaune

La sortie Trigger out est équipée d’un grip-fil bleu.

LR- Notice simplifiée Analyseur logique USB ANT 16 2


III. Utilisation du logiciel

Le lancement du programme ANT16 entraîne l’affichage de la fenêtre suivante :

L’utilisation du logiciel est assez intuitive et ne doit pas poser de problèmes particuliers.
On a récapitulé ici les différentes commandes.

Commandes :

Menu File

Le menu File permet de Lire (Read), ou de Sauver (Save) une configuration de mesure ou des
données (relevé de mesures) ,d’imprimer (Print) un résultat de mesure ou de quitter le
programme (Exit).

LR- Notice simplifiée Analyseur logique USB ANT 16 3


Les icônes situés en dessous permettent respectivement de :

- lire une configuration de mesure


- sauver une configuration de mesure
- imprimer un résultat de mesure.

Menu Analyzer

Le menu analyzer permet :


- d’effectuer des mesures en mono-coup ou en continu (Continuous)
- de démarrer ou d’arrêter une mesure ( Start ou Stop)

les icônes situés au dessous permettent d’effectuer les mêmes commandes :

Menu View

Le menu View permet d’effectuer différents Zoom. Agrandissement (Zoom In ou +),


réduction (Zoom out ou -) , Zoom plein écran (Zoom All).

Les icônes situés au dessous permettent d’effectuer les mêmes commandes :

Menu Help

Le menu Help permet d’accéder à l’aide en ligne.

Les icônes situés en dessous permettent respectivement d’accéder à l’aide et de quitter le


programme.

LR- Notice simplifiée Analyseur logique USB ANT 16 4


1 Module
La case 1 Module indique quel est le module actif.
En effet, il est possible d’utiliser plusieurs modules sur le même PC (un PC possède
plusieurs ports USB)
Si l’appareil ne fonctionne pas correctement, vérifier que la case Module est bien remplie
(cela indique que le dialogue entre le PC et le module USB est correct).

Sampling clock.

C’est l’horloge d’échantillonnage : correspond à la base de temps sur un oscilloscope.


Le module échantillonne les signaux à la fréquence d’échantillonnage et affiche une suite de
2048 échantillons par voie.
Dans le cas d’une horloge d’échantillonnage externe, sélectionner la case Synchronous.

Trigger position.

Ce curseur définit la position de la fenêtre de mesure par rapport à l’instant de déclenchement.


Exemple :
- si le curseur est à 50%, l’instant d’échantillonnage sera présent au milieu de la fenêtre de
mesure. l’écran.
- si le curseur est à 10%, l’instant d’échantillonnage sera présent au début de la fenetre
d’analyse.
- si le curseur est à 90%, l’instant d’échantillonnage sera présent à la fin de la fenêtre
d’analyse.

Threshold

Seuil de décision : représente la tension en dessous de laquelle, l’analyseur voit un niveau 0


ou un niveau 1.
Exemple : Threshold = 1,4V
Sur chaque voie un signal inférieur à 1,4 V sera pris en compte comme un niveau « 0 », un
signal supérieur à 1,4V sera pris en compte comme un niveau « 1 ».

Trigger Type :

Ce point est abordé au chapitre suivant.

LR- Notice simplifiée Analyseur logique USB ANT 16 5


IV. Différents mode de déclenchement.

L’analyseur possède 3 modes de déclenchement :

Le mode PATTERN
Le mode EDGE
Le mode ADVANCED

Ces différents modes de déclenchement sont définis par rapport au différentes conditions de
déclenchement.

Conditions de déclenchement

Les différentes conditions de déclenchement sont les suivantes :

Déclenchement sur niveau ‘0’

Déclenchement sur niveau ‘1’

Déclenchement sur front montant


Déclenchement sur front descendant
Déclenchement sur front montant ou descendant
Déclenchement indifférent

Mode PATTERN :

Dans le mode pattern, on définit une condition de déclenchement pour chacune des voies
dans la colonne P0.
Le déclenchement est effectifs si toutes les conditions sont réunies simultanément.
Soit :
Déclenchement = (condition 1 sur voie 1) ET (condition 2 sur voie 2) ET …

Exemple :
On a déclaré dans la colonne P0 les conditions de déclenchements suivantes :
Voie 0 : front montant
Voie 1 : X (indifférent)
Voie 2 :X
Voie 3 X
Voie 4 : 1
Voie 5 : 0
Voie 6 : 1
Voie 7 : 0
Voie 8 à 15 : X

L’analyseur va déclencher sur le front montant de la voie 0 pendant que les voies 4 à 7 sont à
1010 .

LR- Notice simplifiée Analyseur logique USB ANT 16 6


Mode EDGE :

Comme dans le mode pattern, on définit une condition de déclenchement pour chacune des
voies dans la colonne P0.
Le déclenchement est effectifs si l’une des conditions est réunie.
Soit :
Déclenchement = (condition 1 sur voie 1) OU (condition 2 sur voie 2) OU …

En mode Edge, les voies affectées « déclenchement indifférent » n’interviennent pas sur le
déclenchement.

Exemple :
On a déclaré dans la colonne P0 les conditions de déclenchements suivantes :
Voie 0 : front montant
Voie 1 : front montant
Voie 2 :X
Voie 3 X
Voie 4 : X
Voie 5 : X
Voie 6 : 1
Voie 7 : 0
Voie 8 à 15 : X

L’analyseur va déclencher :
- sur le front montant de la voie 0
- ou sur le front montant de la voie 1
- ou si la voie 6 est à 1
- ou si la voie 7 est à 0

Mode ADVANCED :

Ce mode de déclenchement complexe permet de définir des conditions de déclenchement plus


évoluées que les modes précédent.

On peut définir deux conditions de déclenchement ( Colonne P0 et P1)


On peut faire des opérations logiques complexes entres ces deux modes de déclenchement.
Ces opérations sont définies à l’onglet « Advanced triggering ».

Pour plus de précisions, se reporter à la documentation de l’ANT16 (un fichier pdf contient le
« user manual »)

Dans toutes les configurations, l’instant de déclenchement est repéré à l’instant 0 sur le
relevé de mesures.

LR- Notice simplifiée Analyseur logique USB ANT 16 7


V. Trucs et astuces

- Ne câbler l’entrée Trigger/Clock qu’en cas de réel besoin. En effet, si un signal est présent
sur cette entrée, c’est cette entrée qui va servir de signal de déclenchement.

- En fonctionnement normal les Leds Vertes et Rouges du module USB doivent clignoter. Si
ces leds se bloquent relancer l’analyseur par une commande Stop puis Run.

- Impression : sans précautions particulières, le logiciel peut envoyer de nombreuses pages


lors d’une impression . Utiliser de préférence le Print Preview (aperçu avant impression).

- Les curseurs Rouge et Bleu peuvent être déplacés par un clic sur le chronogramme. Un clic
gauche déplace le curseur rouge, un clic droit déplace le curseur droit.

- Comme tout système échantillonné, on veillera à respecter le Théorème de Shannon : La


fréquence de l’horloge d’échantillonnage (sample clock) doit être supérieur (très supérieur) à
la plus haute de s fréquence échantillonnée (avec au moins un facteur 2).

- Le curseur indique lorsque on le déplace sur la zone des chronogrammes la valeur en


hexadécimal et en décimal du mot de 16 bits formé par les 16 voies. Pour une indication
correcte, le poids faible doit être en haut de l’écran (voie 0), le poids fort est en bas de l’écran
voie (15)

- Une voie non connectée (en l’air) est affichée comme un ‘0’.

VI. Spécifications techniques

LR- Notice simplifiée Analyseur logique USB ANT 16 8

Vous aimerez peut-être aussi