ฉันทำงานกับการออกแบบ FPGA ขนาดใหญ่และฉันอยู่ใกล้กับขีด จำกัด ทรัพยากรของ FPGA ที่ฉันใช้อยู่ในปัจจุบัน Xilinx LX16 ในแพ็คเกจ CSG225
การออกแบบก็เกือบจะเสร็จสมบูรณ์แล้วอย่างไรก็ตามในขณะนี้จะไม่เหมาะกับ FPGA อีกต่อไป ฉันสามารถปิดส่วนต่าง ๆ เพื่อให้มันเข้ากันได้ แต่ฉันต้องลดการใช้ทรัพยากรเพื่อที่จะทำให้การออกแบบเสร็จสมบูรณ์และมีความต้องการด้านเวลาและขนาด
ฉันต้องการทราบว่ามีเครื่องมือใดรายงานของเราที่สามารถช่วยฉันระบุว่าส่วนใดของการออกแบบของฉันใช้ทรัพยากรมากที่สุด การออกแบบของฉันไม่ได้ถูกแบ่งพาร์ติชันและแยกเป็นโมดูล VHDL มากกว่าหนึ่งโหลขึ้นไป
รายงานจังหวะเวลาของ Xilinx นั้นยอดเยี่ยม แต่ตอนนี้ฉันต้องรู้ว่าฉันจะหาเงินได้ดีที่สุดในแง่ของการประหยัดพื้นที่
ฉันยังมีเวลายากที่จะบอกว่าชนิดของทรัพยากรที่ฉันหมดหรือสิ่งที่มีผลต่อทรัพยากรเหล่านั้น
สิ่งที่น่ารำคาญอีกอย่างก็คือเมื่อการออกแบบมีขนาดใหญ่ขึ้นส่วนประกอบที่ใช้ในการกำหนดเวลาเริ่มล้มเหลวเนื่องจากการวางไม่เหมาะสม
ปัจจุบันฉันใช้รายงานช่วงเวลา Post-Place และ Route Static และฉันใช้ SmartXplorer ฉันใช้กลยุทธ์การออกแบบเพื่อปรับให้เหมาะกับเวลา
หลังจากปิดส่วนหนึ่งของการออกแบบของฉันเพื่อให้พอดีกับผลลัพธ์ต่อไปนี้คือบางส่วน:
การใช้การลงทะเบียน slice: 42% การใช้ LUT จำนวน 96% ของคู่ LUT-FF ที่ใช้งานอย่างเต็มรูปแบบ: 38% นี่หมายความว่าฉันเบาในการลงทะเบียน
มีเครื่องมือที่ช่วยให้นักพัฒนาเพิ่มประสิทธิภาพสำหรับพื้นที่หรืออย่างน้อยก็ให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับรหัสของพวกเขา?
อัปเดต: หลังจากดูที่การใช้ประโยชน์ระดับโมดูลฉันพบว่าฉันมีกาวขนาดเล็ก async fifos ทั่วสถานที่ซึ่งใช้เวลาประมาณ 30% ของ LUT ทั้งหมด ฉันใช้มันเป็นกาวข้ามโดเมนสำหรับรถบัสความเร็วสูง ฉันควรกำจัดสิ่งเหล่านี้ได้เนื่องจากนาฬิกามีความสัมพันธ์กันแน่น (อินพุต 120 MHz สร้าง 100 MHz และ 200 MHz ผ่าน DCMs)