реклама на сайте
подробности

 
 
> Не хватает аппаратных умножителей, подскажите новичку
degifted
сообщение Jun 23 2008, 16:47
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 17-02-08
Из: Минск, Беларусь
Пользователь №: 35 136



Добрый день,

подскажите пожалуйста новичку в ПЛИСах, как решить следующую проблему. Использую SpartanIIIe, проектирую восьмикратный интерполятор аудиосигнала (три последовательно подключённых FIR фильтра (сдандартная корка FIR Compiler), каждый повышает samplerate вдвое). Проект умещается в ресурсы плисины, но на этапе place-and-route возникает ошибка, что не хватает аппаратных умножителей, поскольку уже используется столько-то block ram. Как я понял, управляющие сигналы для MUL и BRAM в структуре Spartan3e пересекаются, что исключает их одновременное использование. Пробовал уменьшать количество MUL/BRAM, но избавиться от ошибки не удалось без существенного ухудшения характеристик интерполятора. Можно ли это как-то обойти? Может существуют в свободном доступе более оптимальные корки FIR фильтров? Или скорее всего придётся перейти на более жирную плис?

Параметры проектируемого интерполятора:
Stopband attenuation: -120dB
Passband ripple: 0.00001dB
Passband: 0-0.4536fs
Stopband: 0.5-1fs
Interpolation rate: 8
Stages: 3
Clock: 33MHz
Input samplerate: 44.1kHz
Input data width: 16
Output data width: 20
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Doka
сообщение Jun 23 2008, 17:15
Сообщение #2


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



>> Можно ли это как-то обойти?

можно.. например, используя умножители на константу, если в вашей реализации такое возможно.

а вообще интересный пост: ни порядка фильтра (число умножений) , ни модели чипа в рамках семейства (число аппаратных умножений)
т.е. читай: "как обойтись без <абстрактное число> умножителей притом без существенного ухудшения характеристик интерполятора".


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
degifted
сообщение Jun 23 2008, 17:42
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 17-02-08
Из: Минск, Беларусь
Пользователь №: 35 136



Цитата(Doka @ Jun 23 2008, 20:15) *
>> Можно ли это как-то обойти?

можно.. например, используя умножители на константу, если в вашей реализации такое возможно.

хм. а как это поможет, можно поподробнее?

Цитата
а вообще интересный пост: ни порядка фильтра (число умножений) , ни модели чипа в рамках семейства (число аппаратных умножений)
т.е. читай: "как обойтись без <абстрактное число> умножителей притом без существенного ухудшения характеристик интерполятора".

пардон, писал по запарке. чип xc3s250e-4tq144, количество MULT18X18SIOs - 8, RAMB16s - 12.
порядок первого фильтра: 386
второго: 70
третьего: 46
все фильтры симметричные, т.е. количество умножений должно быть вдвое меньше

впрочем я поторопился с постом... умножил клок на фильтры вдвое и всё вместилось:
Number of RAMB16s: 10/24
Number of MULT18X18SIOs: 8/12
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 21:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016