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

Сложить 32 байтов в MAX 10, spartan 6

Здравствуйте.

Стоит задача сложить 32 8-битных числа за один такт 20 Мгц.

Вопрос, может был у кого-то опыт, max10 или spartan6 справятся с этим?

Благодарю.

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


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

Kostochkin, Посмотрите компонент PARALLEL_ADD в IP каталоге Квартуса. Множественные сложения он сделает оптимальнее. Наверняка, у Ксайлинкса есть аналогичный IP.

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


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

23 minutes ago, pavlovconst said:

Kostochkin, Посмотрите компонент PARALLEL_ADD в IP каталоге Квартуса. Множественные сложения он сделает оптимальнее. Наверняка, у Ксайлинкса есть аналогичный IP.

да там не особо много вариантов. если есть shared mode в ячейках, то софт сделает на них, если нет, то на дереве. Тем более, в ТЗ у ТС нет регистрово, поэтому без разницы как оно будет сделано. С регистрами да, возможны варианты: дерево или цепь, с разными видами латентности.

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


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

Справится по моим подсчетом и со сложением 1024 8-битных чисел за один такт 20 МГц. Вопрос хватит ли на это ресурса. Особенно хватит ли Carry chain.

А в остальном всё просто - задираем частоту до 200МГц например, строим классическое дерево с регистрами, за 10 тактов этой частоты складываем 1024 числа.

Не забываем об увеличении разрядности сумм.

З Ы Но вообще это не очень эффективный способ, гораздо правильнее (если есть такая возможность конечно) складывать числа последовательно с накоплением результата в аккумуляторе.

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


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

15 часов назад, Kostochkin сказал:

Стоит задача сложить 32 8-битных числа за один такт 20 Мгц.

Если числа беззнаковые, смотрите в сторону carry-save adder и дерева Уоллеса (Wallace tree).

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


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

On 11/5/2019 at 4:11 PM, Kostochkin said:

Здравствуйте.

Стоит задача сложить 32 8-битных числа за один такт 20 Мгц.

Вопрос, может был у кого-то опыт, max10 или spartan6 справятся с этим?

Благодарю.

Может лучше такhttps://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=113483&do=findComment&comment=1170319

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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