Saya sedang mengerjakan desain FPGA besar, dan saya sangat dekat dengan batas sumber daya FPGA yang saya gunakan saat ini, Xilinx LX16 dalam paket CSG225.
Desainnya juga hampir selesai, namun saat ini tidak lagi sesuai dengan FPGA. Saya dapat mematikan komponen agar pas, namun saya perlu mengurangi penggunaan sumber daya untuk menyelesaikan desain dan membuatnya memenuhi persyaratan waktu dan ukuran.
Saya ingin tahu apakah ada alat laporan kami yang dapat membantu saya mengidentifikasi bagian mana dari desain saya yang menggunakan sumber daya paling banyak. Desain saya tidak dipartisi, dan terbagi sekitar selusin atau lebih modul VHDL.
Laporan pengaturan waktu Xilinx luar biasa, tetapi sekarang saya harus tahu di mana saya bisa mendapatkan yang terbaik dari segi penghematan ruang.
Saya juga kesulitan menentukan jenis sumber daya yang saya kehabisan, atau apa yang mempengaruhi sumber daya tersebut.
Gangguan lain adalah bahwa ketika desain semakin besar, komponen yang digunakan untuk memenuhi timing mulai gagal karena penempatannya tidak lagi ideal.
Saat ini, saya menggunakan laporan waktu Post-Place dan Route Static, dan saya menggunakan SmartXplorer. Saya menggunakan strategi desain untuk mengoptimalkan ketepatan waktu.
Setelah mematikan sebagian desain saya agar pas, berikut adalah beberapa hasilnya:
pemanfaatan slice register: 42% slice Pemanfaatan LUT: 96% jumlah pasangan LUT-FF yang digunakan penuh: 38% Apakah ini berarti saya ringan pada register, tetapi berat pada penggunaan gerbang?
Apakah ada alat untuk membantu pengembang mengoptimalkan area, atau setidaknya memberi mereka lebih banyak wawasan tentang kode mereka?
Pembaruan: Setelah melihat Pemanfaatan Tingkat Modul, saya menemukan bahwa saya memiliki lem async lem kecil di semua tempat yang mengambil sekitar 30% dari total LUT. Saya menggunakannya sebagai lem lintas-jam-domain untuk bus berkecepatan tinggi. Saya harus bisa menghilangkan ini, karena jam terkait erat. (Input 120 MHz, menghasilkan 100 MHz dan 200 MHz melalui DCM)