ISE iMPACT를 사용하여 프로그래밍하는 Spartan 6 FPGA 4 개를 연결하는 JTAG 체인이 있습니다. 이 소프트웨어는 4 FPGA의 엄격한 서브셋을 순서에 상관없이 성공적으로 프로그래밍 할 수 있습니다. 그러나 4 개의 FPGA를 모두 프로그래밍하려고 하면 마지막 FPGA의 DONE 핀이 높아지지 않아 프로그래밍이 실패합니다.
이 이상한 행동을 일으키는 원인은 무엇입니까?
노트:
- 3 개의 FPGA를 프로그래밍 한 후, INIT_B 핀은 높지만 네 번째 FPGA에 대한 상태 레지스터의 INIT_B 비트는 0입니다. 세 번째 FPGA를 프로그래밍하기 직전에 그 비트는 1이었다. 이는 네 번째 FPGA가 잠 겼음을 암시한다.
- SelectMap으로 프로그래밍 할 때 아무 문제없이 4 개의 FPGA를 모두 프로그래밍 할 수 있습니다.
- SelectMap을 사용하여 3 개의 FPGA를 프로그래밍 할 때 4 번째 FPGA는 여전히 JTAG를 사용하여 프로그래밍 할 수 없습니다.
- 4 개의 완료된 핀 각각은 4.7K 옴 저항을 통해 3V3까지 풀업 된 다음 서로 연결됩니다.
내가 시도한 것 :
체인에서 FPGA 중 하나를 분리하면 나머지 3 개의 FPGA를 여전히 프로그래밍 할 수 있습니다.
330 Ohm 저항으로 마지막 FPGA의 4.7K Ohm 풀업 저항을 교체해도 문제가 해결되지 않습니다.
"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."
에 체인의 마지막 또는 마지막 구성 (체인의 첫 번째)을 의미합니까? 회로도를 제공 할 수 있습니까?