Büyük bir FPGA tasarımı üzerinde çalışıyorum ve şu anda kullandığım FPGA'nın CSG225 paketindeki Xilinx LX16 kaynak sınırlarına çok yakınım.
Tasarım da neredeyse tamamlandı, ancak şu anda artık FPGA'ya sığmayacak. Parçaları sığdırmak için kapatabilirim, ancak tasarımı tamamlamak ve zamanlama ve boyut gereksinimlerini karşılamak için kaynak kullanımını azaltmam gerekiyor.
Raporlarımızda, tasarımımın hangi bölümlerinin en fazla kaynağı tükettiğini belirlememe yardımcı olabilecek herhangi bir araç olup olmadığını bilmek istiyorum. Tasarımım bölümlenmemiş ve yaklaşık bir düzine veya daha fazla VHDL modülüne bölünmüş durumda.
Xilinx zamanlama raporları harika, ama şimdi yerden tasarruf açısından en iyi kovalamamı nereden alabileceğimi bilmem gerekiyor.
Ayrıca hangi tür kaynakların tükendiğini veya bu kaynakları neyin etkilediğini söylemekte zorlanıyorum.
Başka bir sıkıntı, tasarım büyüdükçe, zamanlamayı karşılamak için kullanılan bileşenlerin arızalanmaya başlamasıdır, çünkü yerleşimleri artık ideal değildir.
Şu anda Post-Place ve Route Statik zamanlama raporlarını ve SmartXplorer kullanıyorum. Zamanlamayı optimize etmek için tasarım stratejileri kullanıyorum.
Tasarımımın bir kısmını sığdırmak için kapattıktan sonra, bazı sonuçlar:
dilim kayıt kullanımı:% 42 dilim LUT kullanımı:% 96 tam olarak kullanılan LUT-FF çiftlerinin sayısı: 38% Bu, kayıtlarda hafif olduğum anlamına gelir, ancak kapı kullanımında ağır mıyım?
Geliştiricilerin alan için optimize etmelerine veya en azından kodlarına daha fazla bilgi vermelerine yardımcı olacak araçlar var mı?
Güncelleme: Modül Seviyesi Kullanımına baktıktan sonra, toplam LUT'ların yaklaşık% 30'unu kaplayan bir yerde küçük tutkal async fifosum olduğunu öğrendim. Bunları yüksek hızlı otobüsler için saat yönünün tersine tutkal olarak kullanıyorum. Saatler sıkıca ilişkili olduğu için bunları ortadan kaldırmalıyım. (120 MHz giriş, DCM'ler aracılığıyla 100 MHz ve 200 MHz üretir)