Her saat döngüsünde, hesaplanacak N 32 bit girişlerin bulunduğu bir devrem var. İki 32-bit giriş alan ve bir 32-bit çıktı veren bir ikili işlem var. Bu işlem ilişkiseldir ve bir 32-bit çıktı elde etmek için onu tüm N 32-bit girişlerine uygulamak istiyorum. Şu anda bunu boru hattı ikili işlem ağacını uygulayarak gerçekleştiriyorum. varsayarak bir somut bir örnek olarak Bir FPGA üzerindeki ikili işlem ağacının alan gereksinimini, bant genişliği pahasına, 2'den daha az bir faktörle azaltmak mümkün mü?
, N = 4 ve daha sonra aşağıdaki yapacağını giriş {a, b, c, d} vardır:a op b => reg1
c op d => reg2
reg1 op reg2 => result
ağacındaki bir aşama ile bölünebilir değildir 2, ben sadece 1 giriş alır 1 üretim çıktı aynı gecikme ile bir kukla işlemi eklemek. Ben
sorun N'in girişler {9, 25, 49, 81, 121} birkaç boyutları ile am ilgili olmasıdır. Diğer tüm boyutlar kolayca sığarken, N, 121'in en büyük boyutu, FPGA kumaşımda% 110 lut gerektirir. Bu ikili operasyonların ağacı, tasarımımdaki en büyük lutsur tüketicisidir.
benim gemide ikamet eden op devrelerinin sayısını yarıya indirme yoluyla neredeyse yarı yarıya LUTS'un kullanımını azaltmak ve onların girişlerini multiplexing'i olabilir farkındayım. Ne yazık ki, bu sadece her saat döngüsünün sonucunu almak ve bant genişliğini yarıya indirmek anlamına gelir. tam ağaç tahtası teklifler daha sadece ~% 10 daha fazla kaynak gerektirdiğinden
, bant genişliği% 50 azalma bir vuruş çok önemli gibi görünüyor. Bant genişliğinde ince taneli küçültme için daha ince taneli küçültme işleminin yapılabildiği bir mimari var mı?
İkili operstion nasıl karmaşıktır? Ağacınız örneğin çift hızda çalışabilir mi? Eğer öyleyse, 2x F_input'ta ilgili bir saati kullanabilir, bu da bant genişliğindeki kaybınızı telafi eder. – Paebbels
Cevaplardan biri sorununuzu çözdü mü? Eğer öyleyse, lütfen bir cevap olarak işaretleyin. – Paebbels