NMacs 0 17 декабря, 2007 Опубликовано 17 декабря, 2007 (изменено) · Жалоба Можно ли на ПЛИС реализовать модуль, работающий по алгоритму перемножения с накоплением? S = A1 * B1 + A2 * B2 + ... + An * Bn размер векторов порядка 50, вычисления производятся над числами с плавующей точкой точность 8-10 знаков И сколько таких вычислителей можно разместить в одной ПЛИС? Изменено 17 декабря, 2007 пользователем NMacs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 17 декабря, 2007 Опубликовано 17 декабря, 2007 · Жалоба Можно и без проблем. Все зависит от того, насколько быстро эту сумму вычислять нужно. То есть , допустим, если максимальная частота плис будет 50Мгц, а частота вычисления вашей формулы 1Мгц, то все обойдется одним умножителем, который будет работать в 50 раз быстрее чем вам нужно и за это время будет производить все 50 умножений с накоплением. А если надо как можно быстрее это сделать, то надо распаралеливать и использовать большее число у множителей, вплоть до того, что использовать 50 умножителей - тогда скорость вычисления будет максимальна. Количество доступных умножителей зависит от конкретной ПЛИС - например Спартан 3 от Ксайлинкс может иметь от 32 до 96 32х32 умножителй. Виртех больше. Также умножители можно создавать самому из логики - но тут я не силен по ресурсам и не знаю точно сколько умножитель хавает. Но если ваша задача связана с обработкой сигналов (так как операция очень похожа на МАС фильтры и тп), то это намного эффективнее реализуется с помощью специальных блоков фильтров, которые не используют умножение вообще. В итоге их можно немерянно поместить в ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NMacs 0 17 декабря, 2007 Опубликовано 17 декабря, 2007 (изменено) · Жалоба Простите, что не в тему. А можно данную задачу реализовать при помощи аналоговой техники. Например, используя операционные усилители. Изменено 17 декабря, 2007 пользователем NMacs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CodeWarrior1241 0 17 декабря, 2007 Опубликовано 17 декабря, 2007 · Жалоба Простите, что не в тему. А можно данную задачу реализовать при помощи аналоговой техники. Например, используя операционные усилители. Mожно (но не нужно) реализовать аналоговой multiplier-accumulator (MAC) используя умножитель из, например, AD532 совмещенный с усилителем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
anubix 0 19 декабря, 2007 Опубликовано 19 декабря, 2007 · Жалоба Простите, что не в тему. А можно данную задачу реализовать при помощи аналоговой техники. Например, используя операционные усилители. Но лучше не надо. Вентилей на ПЛИС навалом Можно ли на ПЛИС реализовать модуль, работающий по алгоритму перемножения с накоплением? S = A1 * B1 + A2 * B2 + ... + An * Bn размер векторов порядка 50, вычисления производятся над числами с плавующей точкой точность 8-10 знаков И сколько таких вычислителей можно разместить в одной ПЛИС? Можно разумеется - но чтобы оценить сколько таких вычислителей влезет в ПЛИС нужно услышать тип ПЛИС и формат представления числа. Может у вас мантисса на 1000 бит предусмотрена :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться