J'ai une chaîne JTAG connectant 4 FPGA Spartan 6 que je programme en utilisant ISE iMPACT. Le logiciel peut programmer n'importe quel sous-ensemble strict des 4 FPGA d'affilée avec succès et dans n'importe quel ordre. Cependant, lorsque j'essaie de programmer les quatre FPGA, la broche DONE du dernier FPGA ne monte pas et la programmation échoue.
Qu'est-ce qui pourrait être à l'origine de ce comportement étrange?
Remarques:
- Après avoir programmé trois des FPGA, le bit INIT_B du registre d'état du quatrième FPGA est égal à 0, bien que la broche INIT_B soit élevée. Juste avant de programmer le troisième FPGA, ce bit était de 1. Cela suggère que le quatrième FPGA s'est verrouillé.
- Lors de la programmation avec SelectMap, je peux programmer les quatre FPGA sans aucun problème.
- Lorsque je programme trois des FPGA à l'aide de SelectMap, le quatrième ne peut toujours pas être programmé à l'aide de JTAG.
- Chacune des quatre broches terminées est tirée jusqu'à des résistances de 3V3 à 4,7K Ohm, puis attachées ensemble.
Ce que j'ai essayé :
La déconnexion de l'un des FPGA de la chaîne permet de programmer les 3 FPGA restants.
L'échange de la résistance de rappel de 4,7 K Ohms du dernier FPGA contre une résistance de 330 Ohms ne résout pas le problème.
"If the Spartan-6 device is configured via JTAG, the configuration instructions occur independent from the mode pins."
DONE
broches sont attachées ensemble. Pour JTAG, la programmation de plusieurs appareils s'appelle Boundary-Scan Chain. Dans Chapter 3: Boundary-Scan and JTAG Configuration
, la seule mention de la DONE
broche est "If JTAG is the only configuration mode, then PROGRAM_B, INIT_B, and DONE can be tied High to a 330 resistor."
donc la DONE
broche basse est-elle le seul problème? Est-ce qu'il se programme correctement?
"The first device in a serial daisy chain is the last to be configured."
Voulez-vous dire le dernier de la chaîne ou le dernier à configurer (le premier de la chaîne)? Pourriez-vous fournir un schéma?