FPGA'm yönlendirme kaynaklarının dışında mı?


9

Bana baş ağrısı veren Artix-7 cihazı dışında neredeyse her türlü Xilinx 7 serisi cihaz üzerinde çalışan bir Seri-ATA Denetleyici tasarımım var ...

Saf tasarım (SATA 6.0Gb / s, 150 MHz tasarım saati) Artix-7 200T cihazımda uygulanabilir. ILA çekirdekleri (daha önce ChipScope olarak biliniyordu) eklersem, zamanlama karşılanmaz.

Durumu rahatlatmak için ne yaptım: - her ILA çekirdeğine 2 boru hattı aşaması eklendi - GTP alıcı-vericisi ile mantık arasına 1 boru hattı aşaması eklendi - alternatif uygulama stratejisi olarak kullanılan retiming, remap ve geniş yerleşim

Bu görüntüler normal tasarım akışını gösterir. ILA çekirdekleri SATAController'dan (SATAC) ve 8 bit CPU'dan ( SoFPGA ) çok uzaktır , ancak denetleyicinin hala başarısız yolları vardır (başarısız yolları olan tek bölge budur).

resim açıklamasını buraya girin

Artix-7'nin bazı bölgelerdeki yönlendirme kaynaklarının dışında olduğu anlaşılıyor. Böyle bir şüpheyi gösteren bir raporu nasıl alabilirim?

Ayrıca retiming, remap ve daha geniş yerleşim stratejilerini denedim. Sonuç şudur:

resim açıklamasını buraya girin

Zamanlama hatası neredeyse aynı ...

PS Tasarım> 300 BlockRAM'den sadece 178'ini kullanıyor. Hemen hemen her BlockRAM'ı diğer tasarımlarda kullanmak için Xilinx ISE kullandım, ancak böyle bir davranışla hiç karşılaşmadım.

Düzenle:

Dilim başına tüm negatif gevşeklik değerlerinin bir ısı haritası (kırmızı renkli) resim açıklamasını buraya girin


3
Altera Quartus'ta mantık bölümünü veya mantığı belirli bir bölgeyle sınırlamanıza izin veren LogicLock bölgeleri adı verilen bir şey vardır. Ben Xilinx için benzer bir şey olacağını varsayalım (ne denir emin değilim). Bunu yapabiliyorsanız, ILA'yı mantığınızdan uzak bir bölgeyle sınırlandırmalı (önemli şeylerin yer değiştirmesini durdurmak için) ve zamanlamaya yardımcı olması için ekstra boru hattı (bölgeyle sınırlandırılmamış) eklemelisiniz.
Tom Carpenter

2
Ayrıca ILA'nın saat alanı ile tesisatçının ekstra çaba göstermesine neden olan yanlış yollara neden olan (gerçek yolların daha az öncelikli ve bu nedenle başarısız zamanlama ile muamele edilmesine neden olan) yanlış saatlere neden olan yanlış yollar da olabilir
Tom Carpenter

2
SignalTap (ILA'nın Altera eşdeğeri) ile benzer sorunlar yaşadım, başarısız yollar yol açıyor, çünkü hassas yollar, dokunulmakta olan sinyallere daha yakın olmak isteyen musluk mantığı tarafından birbirinden itiliyordu. SignalTap BRAM'ları diğer BRAM'ları daha fazla parçalamak zorunda kaldığı için çoğunlukla yüksek BRAM yoğunluğunun olduğu yerde oluyordu. SignalTap, daha az eleştirel olarak doldurulmuş bir bölgeyle sınırlandığında, sorunlar ortadan kalktı.
Tom Carpenter

@TomCarpenter Yerleşim kısıtlamalarına PBlock :) denir. Anlayabildiğim kadarıyla, SoFPGA veya SATAC bölgesinde hiçbir ILA hücresi yoktur, 151 iz sinyalin her birinde 3 FF aşaması ile ayrılırlar. Problanan tasarım, ILA (150 MHz) ile aynı saat alanında çalışır. Tüm yollar kısıtlanmıştır (sınırlandırılmamış, saat arası başarısız yol yok). Bahsedilen başarısız yolların tümü SATAC veya ILA'nın kendisinde aynı saat alanındadır. Yaklaşık% 54 kullanım (yatay ve dikey) yazan bir yönlendirme tıkanıklığı raporu buldum. Lütfen neg'ime bakın. soruya gevşek ısı haritası eklendi.
Paebbels

1
2 sorun buldum: İlk başta, Artix-7 bir Kintex-7'den% 15 ila 50 daha yavaş. Varsayılan hız derecesini -2'den -3'e değiştirirsem her şey yolundadır (670 ps negatif boşluğa kıyasla 200 ps'lik bir güvenlik payı vardır.) Bu nedenle, hız derecesi -3 6.600 ns yolu neredeyse 0.970 ns artırır! izleme sinyallerinin saf bağlanması zamanlama sorunlarına neden olan daha yüksek bir fan çıkışına neden oluyor gibi görünüyor.Ayrıca, izleme yolları 8 bit CPU için 100 MHz saat etki alanı içinden geçiyor ve bu da (5 çalıştırmadan biri) Bu kadar uzun hatlar / rota geçişleri diğer hatlarda sorunlara neden olur
Paebbels

Yanıtlar:


1

Xilinx Vivado'da tasarım analizi yaparak ayrıntılı bir rapor alabilirsiniz. Tcl konsolunda aşağıdaki komutu çalıştırın: "report_design_analysis" Size uygulanan tasarımın zamanlama, karmaşıklık ve tıkanıklık raporu verir. Bu raporu Araçlar-> Rapor-> Rapor Tasarımı_analizi bölümüne giderek de çalıştırabilirsiniz.

Bu raporda, yerleştirme nedeniyle hangi alanların tıkanıklığa neden olduğunu görebilirsiniz. Hangi Dilimlerin tam olarak kullanıldığı veya bu dilimlerin ve / veya yolların kirası nedir.

Umarım bu yardımcı olmuştur.

Saygılarımızla, KWQ


Bu (bana bilinmeyen) rapor için teşekkürler. Son görüntümden (zamanlama ısı haritası) ne farkı var?
Paebbels
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.