Saya memiliki desain Serial-ATA Controller yang bekerja pada hampir semua jenis perangkat Xilinx 7-series, kecuali untuk perangkat Artix-7, yang membuat saya sakit kepala ...
Desain murni (SATA 6.0Gb / s, jam desain 150 MHz) dapat diimplementasikan pada Artix-7 200T saya. Jika saya menambahkan core ILA (sebelumnya dikenal sebagai ChipScope), waktunya tidak terpenuhi.
Apa yang saya lakukan untuk menenangkan situasi: - menambahkan 2 tahap pipa di setiap inti ILA - menambahkan 1 tahap pipa antara transceiver GTP dan logika - retiming, remap, dan penempatan luas sebagai strategi implementasi alternatif
Gambar ini menunjukkan aliran desain normal. Core ILA jauh dari SATAController (SATAC) dan CPU 8-bit ( SoFPGA ), tetapi controller masih memiliki jalur gagal (itulah satu-satunya wilayah dengan jalur gagal).
Rasanya seperti Artix-7 kehabisan sumber daya routing di beberapa daerah. Bagaimana saya bisa mendapatkan laporan yang mengindikasikan kecurigaan seperti itu?
Saya juga mencoba retiming, remap, dan strategi penempatan yang lebih luas. Hasilnya adalah ini:
Kegagalan waktu hampir sama ...
PS Desain hanya menggunakan 178 dari> 300 BlockRAMs. Saya menggunakan Xilinx ISE untuk menggunakan hampir setiap BlockRAM di desain lain, tetapi saya tidak pernah menemukan perilaku seperti itu.
Edit:
Berikut adalah peta panas dari semua nilai slack negatif per Slice (berwarna merah)