[an error occurred while processing this directive] [an error occurred while processing this directive]
Немного промазал,
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Александр Гайворонский 17 декабря 2001 г. 13:59
В ответ на: Очень интересно. Как это у Вас получилось? отправлено SNN 17 декабря 2001 г. 11:24

я не учел, что коэффициентов 256000. Но сути все равно не чую - у нас пришел отсчет. есть N коэффициентов. Для свертки достаточно этот свежий отсчет перемножить на эти N коэффициентов, и сложить с соответствующим элементом выходного массива. Когда для каждой из ячеек массива будет выполнено N MAC, то эта ячейка идет в выходной поток. В результате за 1 такт мы получаем 1 число на входе, выдаем 1 число на выходе и производим N MAC. Я подозреваю, что заказчику это как раз и нужно. А выходной поток той свертки, которую Вы имели в виду, будет весь массив за каждый такт - поток явно бессмымленный для любой практической цели. Да и N раз Вы будете перемножать и складывать одни и те же данные. За каждый такт мы получаем только 1 новый отсчет, и перемножать все предыдущие отсчеты бессмысленно.
Что касается задачи, то действительно, 256К коэффициентов - это круто. Тут без внешней памяти не обойтись. А этот интерфейс скорее всего и станет bottlenesk.
IMHO тут надо устройство делать так:
Входной поток бьется на N потоков ( отсчеты отдаются по очереди в каждый из модулей ). Каждый модуль производит частичную свертку ( столько, сколько сможет ), а на выходе все потоки суммируются.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru