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)
Jawaban:
Anda bisa mendapatkan laporan terperinci dengan melakukan analisis desain di Xilinx Vivado. Jalankan perintah berikut di konsol tcl: "report_design_analysis" Ini memberi Anda waktu, kompleksitas dan laporan kemacetan dari desain yang diterapkan. Anda juga dapat menjalankan laporan ini dengan membuka Tools-> Report-> Report Design_analysis.
Dalam laporan ini, Anda dapat melihat area mana yang menyebabkan kemacetan karena penempatan. Irisan mana yang sepenuhnya digunakan atau apa yang merupakan sewa irisan dan / atau rute tersebut.
Saya harap ini bisa membantu.
Salam, KWQ
sumber