ISE iMPACTを使用してプログラムする4つのSpartan 6 FPGAを接続するJTAGチェーンがあります。ソフトウェアは、4つのFPGAの厳密なサブセットを連続して、任意の順序で正常にプログラムできます。ただし、4つすべての FPGA をプログラムしようとすると、最後のFPGAのDONEピンがHighにならず、プログラミングが失敗します。
この奇妙な行動の原因は何でしょうか?
ノート:
- 3つのFPGAをプログラミングした後、4番目のFPGAのステータスレジスタのINIT_Bビットは0ですが、INIT_Bピンはハイです。3番目のFPGAをプログラミングする直前は、そのビットは1でした。これは、4番目のFPGAがロックされていることを示しています。
- SelectMapを使用してプログラミングする場合、4つのFPGAをすべて問題なくプログラムできます。
- SelectMapを使用して3つのFPGAをプログラムしても、4番目のFPGAはJTAGを使用してプログラムできません。
- 4つの完了したピンのそれぞれは、4.7Kオームの抵抗を介して3V3にプルアップされ、その後一緒に接続されます。
私が試したこと:
チェーンからFPGAの1つを切断しても、残りの3つのFPGAをプログラムすることができます。
最後のFPGAの4.7Kオームのプルアップ抵抗を330オームの抵抗に交換しても問題は解決しません。
"If the Spartan-6 device is configured via JTAG, the configuration instructions occur independent from the mode pins."
DONE
ピンは一緒に結ばれます。JTAGの場合、複数のデバイスプログラミングはバウンダリスキャンチェーンと呼ばれます。でChapter 3: Boundary-Scan and JTAG Configuration
、DONE
ピンについて言及しているのは次の"If JTAG is the only configuration mode, then PROGRAM_B, INIT_B, and DONE can be tied High to a 330 resistor."
とおりです。DONE
ピンのローが唯一の問題ですか。正しくプログラムされていますか?
"The first device in a serial daisy chain is the last to be configured."
、チェーンの最後または構成の最後(チェーンの最初)という意味ですか?回路図を提供していただけませんか?