Цитата(_Anatoliy @ Jan 19 2011, 14:39)

В EP3SE50F484C2 весь проект занимает около 50%.
Вам надо быть очень внимательным и приложить все усилия, что бы понять, почему один и тот же код настолько по-разному реализуется на разных архитектурах. Также предлагаю проанализировать an306, в котором сказано, что в сравнимый по емкости EP2S60 помещается 325 умножителей на логике. То есть в EP3SE50 800 умножителей не должны лечь вообще.
Вероятнее всего у вас Квартус при компиляции выкидывает более половины логики, и судя по расчетам ISE тоже что-то выкидывает (у вас из 800 умножителей в DSP48 легли 374, а оставшиеся 426 заняли 26000 LUT, то есть 61 LUT на умножитель, что мне видится нереальным).
UPD
Цитата(_Anatoliy @ Jan 19 2011, 13:22)

Код
for i in 0 to 15 loop
SumA1(i) <= SigTapA(2*i+1) * CoeffHilb(i) - SigTapA(63-2*i) * CoeffHilb(i);
SumB1(i) <= SigTapB(2*i+1) * CoeffHilb(i) - SigTapB(63-2*i) * CoeffHilb(i);
SumC1(i) <= SigTapC(2*i+1) * CoeffHilb(i) - SigTapC(63-2*i) * CoeffHilb(i);
SumD1(i) <= SigTapD(2*i+1) * CoeffHilb(i) - SigTapD(63-2*i) * CoeffHilb(i);
end loop;
Если это записать как
Код
for i in 0 to 15 loop
SumA1(i) <= (SigTapA(2*i+1) - SigTapA(63-2*i)) * CoeffHilb(i);
SumB1(i) <= (SigTapB(2*i+1) - SigTapB(63-2*i)) * CoeffHilb(i);
SumC1(i) <= (SigTapC(2*i+1) - SigTapC(63-2*i)) * CoeffHilb(i);
SumD1(i) <= (SigTapD(2*i+1) - SigTapD(63-2*i)) * CoeffHilb(i);
end loop;
то возможно что-то изменится. Например выяснится, что ISE такую оптимизацию сам сделать не может, а Квартус - может.