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

 
 
> Помогите разобраться с F_max при использовании lpm_mult, Как настройить на максимальное быстродействие?
vea
сообщение Jul 12 2012, 06:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 5-12-11
Из: Киев
Пользователь №: 68 692



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

Есть простейший модуль на верилоге - только умножитель 32x32. Использую lpm_mult через мегавизард квартуса (11sp2).
Хочу, естественно, добиться максимальной скорости. Использую аппаратные умножители и оптимизацию по скорости:

lpm_hint = "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=5"

Пробую разные значения lpm_pipeline = 3, 4, 5, 6, 8.
Максимальное значение (222 МГц) при 4.
При остальных - меньше. Я могу представить, почему уменьшается f_max при lpm_pipeline = 3, но почему он также уменьшается при 6 или 8?

Заметил, что при использовании беззнакового умножения скорость растет. Почему - также не совсем понятно.
Подскажите, в какую сторону искать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vea
сообщение Jul 12 2012, 08:33
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 5-12-11
Из: Киев
Пользователь №: 68 692



bogaev_roman, спасибо.

Кристалл - циклон 4.
Согласно квартусу - используется четыре умножителя 18х18.
Согласно даташиту - максимальная скорость работы этих умножителей - 250 МГц (именно в режиме 18х18).

Но я нигде не могу найти упоминаний об особенностях умножения со знаком- а скорость падает значительно, стоит включить lpm_representation = "SIGNED"
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jul 12 2012, 08:56
Сообщение #3


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(vea @ Jul 12 2012, 12:33) *
bogaev_roman, спасибо.
Согласно квартусу - используется четыре умножителя 18х18.

Да, 4 аппаратных умножителя, но после них стоят сумматоры - не аппаратные (и если используется signed, то реализуются они по другому), причем разрядность максимального (если он нераспаралелен) - 35 (ну или сколько там). Таким образом скорость падает, как мне кажется именно на сумматорах (при знаковых числах там же еще дополнительные манипуляции типа инвертирования, арифметику уже подзабыл). Посмотрите цепочку максимального пути в timequest (она скорее всего именно на сумматоре) и реализацию после синтеза, а потом фиттера - станет все яснее. Получается, что пайплайн дробит еще и сумматоры, кроме добавления триггеров после умножителей и после каждого сумматора в цепочке.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:27
Рейтинг@Mail.ru


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