В этом то и заключается гибкость FPGA хочешь быстрый - жертвуй размерами, хочешь поменьше - делай помедленней. Но все гибко настраивается Например - полностью параллельный DAFIR на 8 бит данных 48 звеньев и 15бит коэфициентов сожрал у 3s50cp132-4 Logic Utilization:
Number of Slice Flip Flops: 3,048 out of 1,536 198% (OVERMAPPED)
Number of 4 input LUTs: 2,316 out of 1,536 150% (OVERMAPPED)
Logic Distribution:
Number of occupied Slices: 1,525 out of 768 198%
(OVERMAPPED) Но это ж "чесный" фильтр, который при частоте клока 160МГц будет вам семплировать на 160МГц Тот же фильтр, полностью сериализованный и прооверсампленый схавал: Logic Utilization:
Number of Slice Flip Flops: 498 out of 1,536 32%
Number of 4 input LUTs: 309 out of 1,536 20%
Logic Distribution:
Number of occupied Slices: 282 out of 768 36%
Но тут частота работы фильтра должна быть в 8раз больше частоты семплирования. Т.е при частоте клока 160МГц получите 20МГц семплирования. Маловато будет.
Возьмем промежуточный вариант с оверсамплингом в 3раза. Фильтр поместился, единственное, что задержка у него 5 сэмплов получается: Logic Utilization:
Number of Slice Flip Flops: 1,288 out of 1,536 83%
Number of 4 input LUTs: 908 out of 1,536 59%
Logic Distribution:
Number of occupied Slices: 685 out of 768 89%
Т.е. если вы хотите 40МГц семплировать - нужно чтобы фильтр развелся на 120МГц.
За достоверность данных не ручаюсь, но мне Post Trace and Route дал лимит 160МГц для такого фильтра. Т.е 53МГц - макс частота семплирования.
ПС. Кстати тот же фильтр на 3s50cp132-5 может на 60МГц заработать. ППС: а на полностью свободных умножителях можете еще какой-нибудь фильтр сделать. ПППС: Такой фильтр вроде должен везде работать, так как использует только стандартную логику.
|