ฉันมี JTAG chain ที่เชื่อมต่อ FPGA Spartan 6 FPGA จำนวน 4 ตัวที่ฉันตั้งโปรแกรมโดยใช้ ISE iMPACT ซอฟต์แวร์สามารถตั้งโปรแกรมชุดย่อย FPGA ที่เข้มงวดจำนวน 4 ชุดในแถวได้ตามลำดับและในลำดับใดก็ได้ อย่างไรก็ตามเมื่อฉันพยายามตั้งโปรแกรมFPGA ทั้งสี่ขา DONE ของ FPGA ล่าสุดไม่สูงและการเขียนโปรแกรมล้มเหลว
สิ่งที่อาจทำให้เกิดพฤติกรรมที่แปลกประหลาดนี้?
หมายเหตุ:
- หลังจากเขียนโปรแกรม FPGA สามตัวบิต INIT_B ของการลงทะเบียนสถานะสำหรับ FPGA ที่สี่คือ 0 แม้ว่าขา INIT_B จะสูง ก่อนที่จะตั้งโปรแกรม FPGA ตัวที่สามบิตนั้นคือ 1 นี่เป็นการแนะนำ FPGA ตัวที่สี่ที่ล็อคไว้
- เมื่อตั้งโปรแกรมด้วย SelectMap ฉันสามารถตั้งโปรแกรม FPGA ทั้งสี่ตัวได้โดยไม่มีปัญหา
- เมื่อฉันตั้งโปรแกรม FPGA สามรายการโดยใช้ SelectMap รายการที่สี่ยังคงไม่สามารถตั้งโปรแกรมได้โดยใช้ JTAG
- หมุดสี่ตัวที่ทำเสร็จแล้วแต่ละตัวจะถูกดึงขึ้นไปถึง 3V3 ผ่านตัวต้านทาน 4.7K โอห์มแล้วจึงรวมเข้าด้วยกัน
สิ่งที่ฉันได้ลอง :
การยกเลิกการเชื่อมต่อ FPGA ตัวใดตัวหนึ่งจากสายโซ่จะทำให้สามารถตั้งโปรแกรม FPGA ที่เหลืออีก 3 ตัวได้
การสลับตัวต้านทานแบบเลื่อนขึ้น 4.7K Ohm ของ FPGA ล่าสุดสำหรับตัวต้านทาน 330 Ohm ไม่ได้ช่วยแก้ปัญหา
"If the Spartan-6 device is configured via JTAG, the configuration instructions occur independent from the mode pins."
DONE
หมุดถูกผูกเข้าด้วยกัน สำหรับ JTAG การเขียนโปรแกรมอุปกรณ์หลายรายการเรียกว่า Boundary-Scan Chain ใน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."
คุณหมายถึงล่าสุดในห่วงโซ่หรือสุดท้ายที่จะกำหนดค่า (ครั้งแรกในห่วงโซ่)? คุณสามารถจัดเตรียมแผนผังได้หรือไม่?