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

Altera аппаратные умножители и Sy*npl*ify

Есть следующая проблема: есть Sy*np*lify 8.2.1, в коде описан 18x18 умножитель, не интантиирован как элемент, а описан как операция умножения двух знаковых чисел. Это удобно для обеспечения переносимости кода на разные семейства микросхем. При синтезе этот Sy*np*lify выдает тактовую частоту порядка 86МГц. После имплементации решения в Cyclone II частота показываемая Квартусом достигает рассчетных 160МГц - скорости работы умножителя для восьмого Cyclone II.

 

Пытались запретить анализировать собственно операцию умножения, обозвать ее false_path, объявить ее как мультицикл и т.д. Синтезатор упорно ругается на умножитель и не показывает реальную частоту работы схемы. В Technology Mapper стоит именно аппаратный умножитель с внутренними регистрами на входе и выходе.

 

Знает ли кто с чем это может быть связано?

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


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

Есть следующая проблема: есть Sy*np*lify 8.2.1, в коде описан 18x18 умножитель, не интантиирован как элемент, а описан как операция умножения двух знаковых чисел. Это удобно для обеспечения переносимости кода на разные семейства микросхем. При синтезе этот Sy*np*lify выдает тактовую частоту порядка 86МГц. После имплементации решения в Cyclone II частота показываемая Квартусом достигает рассчетных 160МГц - скорости работы умножителя для восьмого Cyclone II.

 

Пытались запретить анализировать собственно операцию умножения, обозвать ее false_path, объявить ее как мультицикл и т.д. Синтезатор упорно ругается на умножитель и не показывает реальную частоту работы схемы. В Technology Mapper стоит именно аппаратный умножитель с внутренними регистрами на входе и выходе.

 

Знает ли кто с чем это может быть связано?

 

 

Хмм 1. "пристегнуть" констрейн на тип хардварного макроса

2. завернуть умножитель в обертку и сделать 2 архитектуры Behavor Black-Box (на ВХДЛ)

и влепить для синтеза вторую

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


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

И чего вы привязались к оценке частоты синтезатором? Я не нее вообще не смотрю. Синтезатор же не учитывает размещения на кристалле, а от него многое зависит.

В результате получается встроеный умножитель или что? В логах фиттера умножитель присутствует?

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


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

Уже все так и сделали, но не сильно это помогло. Если поставить black-box, то все становится нормально, синтезатор не ругается, показывает нормальную частоту. Однако проблема оказалась в самих умножителях. 162МГц это для некоторых идеальных условий. Реально умножитель не хочет нормально работать если на вход его регистра подать комбинаторные сигналы. Можно конечно поставить перед входом еще один регистр, но это расточительно по ресурсам.

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


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

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

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

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

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

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

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

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

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

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