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

 
 
> Не хватает аппаратных умножителей, подскажите новичку
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
Ответов
petrov
сообщение Jun 26 2008, 07:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



degifted, вы вдумайтесь встроенные умножители на сотнях мегагерц работают, а вы с аудиосигналом работаете, одного умножителя хватит чтобы все операции умножения в вашем интерполяторе выполнить. Надо ведь аппаратуру разрабатыть а не из пушки по воробьям стрелять шлёпая в коде * аля программер.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jun 26 2008, 08:33
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(petrov @ Jun 26 2008, 11:48) *
degifted, вы вдумайтесь встроенные умножители на сотнях мегагерц работают, а вы с аудиосигналом работаете, одного умножителя хватит чтобы все операции умножения в вашем интерполяторе выполнить. Надо ведь аппаратуру разрабатыть а не из пушки по воробьям стрелять шлёпая в коде * аля программер.

Вы прежде чем камнями кидаться посмотрите внимательно, каких там порядков фильтры и сколько их.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 26 2008, 09:11
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(DmitryR @ Jun 26 2008, 12:33) *
Вы прежде чем камнями кидаться посмотрите внимательно, каких там порядков фильтры и сколько их.


Даже если на такой низкой частоте 33 МГц работать можно выполнить одним умножителем 33МГц/44кГц = 748 умножений.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Jun 26 2008, 10:00
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Jun 26 2008, 13:11) *
Даже если на такой низкой частоте 33 МГц работать можно выполнить одним умножителем 33МГц/44кГц = 748 умножений.


Вы правы, чтобы повысить частоту дискретизации аудиосигнала хватит одно умножителя.
Но вот для того чтобы это сделать, нужно в предмете разбираться, понимать, уметь проектировать.
Боюсь что это уже должен быть не новичек. А на корке слепить - лекго. Вот только одно не понятно, а че, сразу-то интерполятор на 8 на корках не генериться?






Цитата(DmitryR @ Jun 26 2008, 12:33) *
Вы прежде чем камнями кидаться посмотрите внимательно, каких там порядков фильтры и сколько их.


Посмотрели. И условия посмотрели. Вон они какие

Stopband attenuation: -120dB??? А оно надо?
А вот это
Passband ripple: 0.00001dB??? Оно надо.
И как это все реализовать, если
Input data width: 16

И если задуматься над этими цифрами, то окажется что не надо такой порядок интерполятора использовать.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 26 2008, 10:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Михаил_K @ Jun 26 2008, 14:00) *
Вы правы, чтобы повысить частоту дискретизации аудиосигнала хватит одно умножителя.
Но вот для того чтобы это сделать, нужно в предмете разбираться, понимать, уметь проектировать.
Боюсь что это уже должен быть не новичек. А на корке слепить - лекго. Вот только одно не понятно, а че, сразу-то интерполятор на 8 на корках не генериться?
Посмотрели. И условия посмотрели. Вон они какие

Stopband attenuation: -120dB??? А оно надо?
А вот это
Passband ripple: 0.00001dB??? Оно надо.
И как это все реализовать, если
Input data width: 16

И если задуматься над этими цифрами, то окажется что не надо такой порядок интерполятора использовать.


Сейчас в FDAtool прикинул, порядок FIR фильтра для интерполяции в 8 раз - 650, делаем полифазную структуру ибо нефиг на нули умножать, и обсчитываем всё одним умножителем на 33 МГц. ИМХО скорее надо в таких вещах разбираться, эффект больше чем от бездумного использования корок.
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Jun 26 2008, 10:22
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(petrov @ Jun 26 2008, 14:06) *
Сейчас в FDAtool прикинул, порядок FIR фильтра для интерполяции в 8 раз - 650, делаем полифазную структуру ибо нефиг на нули умножать, и обсчитываем всё одним умножителем на 33 МГц. ИМХО скорее надо в таких вещах разбираться, эффект больше чем от бездумного использования корок.


650/8 = 81,25, т.е. делаем 82.
82 * 44100 = 3616200.
Чутка по больше частоту нужно, но не очень.

biggrin.gif

А разбираться нужно несомненно.

Кстати, у меня порядок получился 313.
А вот когда ето все заквантовать до 16 разярдов..... smile.gif
Go to the top of the page
 
+Quote Post



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

 


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


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