ฉันมีการออกแบบ Serial-ATA Controller ที่ทำงานบนอุปกรณ์ Xilinx 7-series เกือบทุกชนิดยกเว้นอุปกรณ์ Artix-7 ซึ่งทำให้ฉันปวดหัว ...
การออกแบบที่บริสุทธิ์ (SATA 6.0Gb / s, นาฬิกาออกแบบ 150 MHz) สามารถนำมาใช้กับ Artix-7 200T ของฉัน ถ้าฉันเพิ่ม ILA cores (เดิมชื่อ ChipScope) เวลาจะไม่เป็นไปตาม
ฉันทำสิ่งที่ผ่อนคลายสถานการณ์: - เพิ่ม 2 ขั้นตอนไปป์ไลน์ในแต่ละแกน ILA - เพิ่ม 1 ขั้นตอนไปป์ไลน์ระหว่างตัวรับส่งสัญญาณ GTP และตรรกะ - ใช้ retiming, remap และการวางตำแหน่งกว้างเป็นกลยุทธ์การดำเนินงานทางเลือก
ภาพนี้แสดงขั้นตอนการออกแบบปกติ แกน ILA นั้นอยู่ไกลจาก SATAController (SATAC) และ CPU 8 บิต ( SoFPGA ) แต่ตัวควบคุมยังคงมีเส้นทางที่ล้มเหลว (นั่นเป็นภูมิภาคเดียวที่มีเส้นทางที่ล้มเหลว)
รู้สึกเหมือน Artix-7 ขาดทรัพยากรการกำหนดเส้นทางในบางพื้นที่ ฉันจะรับรายงานที่ระบุว่ามีข้อสงสัยได้อย่างไร
ฉันยังลอง retiming ทำการแมปใหม่และวางกลยุทธ์ให้กว้างขึ้น ผลลัพธ์คือ:
ความล้มเหลวในการกำหนดเวลาเกือบจะเหมือนกัน ...
ป.ล. การออกแบบใช้เพียง 178 จาก> 300 BlockRAMs ฉันใช้ Xilinx ISE เพื่อใช้ BlockRAM เกือบทุกตัวในการออกแบบอื่น ๆ แต่ฉันไม่เคยพบพฤติกรรมเช่นนี้เลย
แก้ไข: