Перейти к содержанию
    

Возможности ПЛИС

Можно ли на ПЛИС реализовать модуль, работающий по алгоритму перемножения с накоплением?

S = A1 * B1 + A2 * B2 + ... + An * Bn

размер векторов порядка 50, вычисления производятся над числами с плавующей точкой

точность 8-10 знаков

 

И сколько таких вычислителей можно разместить в одной ПЛИС?

Изменено пользователем NMacs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно и без проблем.

Все зависит от того, насколько быстро эту сумму вычислять нужно. То есть , допустим, если максимальная частота плис будет 50Мгц, а частота вычисления вашей формулы 1Мгц, то все обойдется одним умножителем, который будет работать в 50 раз быстрее чем вам нужно и за это время будет производить все 50 умножений с накоплением. А если надо как можно быстрее это сделать, то надо распаралеливать и использовать большее число у множителей, вплоть до того, что использовать 50 умножителей - тогда скорость вычисления будет максимальна.

Количество доступных умножителей зависит от конкретной ПЛИС - например Спартан 3 от Ксайлинкс может иметь от 32 до 96 32х32 умножителй. Виртех больше.

Также умножители можно создавать самому из логики - но тут я не силен по ресурсам и не знаю точно сколько умножитель хавает.

Но если ваша задача связана с обработкой сигналов (так как операция очень похожа на МАС фильтры и тп), то это намного эффективнее реализуется с помощью специальных блоков фильтров, которые не используют умножение вообще. В итоге их можно немерянно поместить в ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, что не в тему.

А можно данную задачу реализовать при помощи аналоговой техники.

Например, используя операционные усилители.

Изменено пользователем NMacs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, что не в тему.

А можно данную задачу реализовать при помощи аналоговой техники.

Например, используя операционные усилители.

Mожно (но не нужно) реализовать аналоговой multiplier-accumulator (MAC) используя умножитель из, например, AD532 совмещенный с усилителем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, что не в тему.

А можно данную задачу реализовать при помощи аналоговой техники.

Например, используя операционные усилители.

Но лучше не надо. Вентилей на ПЛИС навалом

 

Можно ли на ПЛИС реализовать модуль, работающий по алгоритму перемножения с накоплением?

S = A1 * B1 + A2 * B2 + ... + An * Bn

размер векторов порядка 50, вычисления производятся над числами с плавующей точкой

точность 8-10 знаков

 

И сколько таких вычислителей можно разместить в одной ПЛИС?

 

Можно разумеется - но чтобы оценить сколько таких вычислителей влезет в ПЛИС нужно услышать тип ПЛИС и формат представления числа. Может у вас мантисса на 1000 бит предусмотрена :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...