Jump to content

    

Результаты синтеза не соответствуют ожиданиям

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

Во 2 и 3 случаях логика сравнения вписывается в требования и в пути от flag к data то, что хотел видеть топикстартер.

В его проекте видимо "собака порылась" где-то еще  ))

Share this post


Link to post
Share on other sites

Резюме: Когда слаки не укладывались синтезатору за счет вмешивания флага в функцию удалось снизить data arrival time для data_a_reg[3] с 4.28 до 3.87

Edited by dvlwork

Share this post


Link to post
Share on other sites
4 hours ago, honinbo said:

виноват, у меня без ключа -setup было.

По умолчанию это  4 для setup и 3 для hold.

Для полноты картины, это не верно.  По умолчанию, значение для setup будет.  Для hold все равно явно задавать надо. Иначе, да :

4 hours ago, dvlwork said:

но без set_multicycle_path 3 -hold это ж дичь будет.

Будет. Но позже, когда до расчета hold дело дойдет.

В нашем эксперименте до него и не дошло еще.

Share this post


Link to post
Share on other sites

смысл в том, что без -hold он будет задержку добавлять чтобы холды вытащить и поэтому путь от флага коротким не будет.

Share this post


Link to post
Share on other sites
On 2/8/2019 at 5:31 PM, dvlwork said:

смысл в том, что без -hold он будет задержку добавлять чтобы холды вытащить и поэтому путь от флага коротким не будет.

Будет, но это никак не относится к синтезу в DC без clock tree.

Share this post


Link to post
Share on other sites
On 2/8/2019 at 4:06 PM, honinbo said:

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

Во 2 и 3 случаях логика сравнения вписывается в требования и в пути от flag к data то, что хотел видеть топикстартер.

В его проекте видимо "собака порылась" где-то еще  ))

Спасибо за проделанную работу, на "кошках" как и вы проделал, все верно отрабатывает. Буду искать где собака порылась.

Edited by Dantist2k17

Share this post


Link to post
Share on other sites

Так а в чем вопрос то? Если действительно имеет место быть малтисайкл, то все хорошо: сетап уже выполняется, как видно из репорта, а по холду буфера будут стоять перед вилкой на регистр flag. Если же в логике схемы нет малтисайкла, то слэк совсем небольшой - его исправит дерево.

К слову, дерево ведь можно сэмулировать в синтезе, через констрейнт set_clock_latency: если наложить его на тактовые входы регистра data, то отрицательный слэк можно убрать, а мощности элементов расслабить. Позже этот констрейнт будет учтен во время CTS. Проблем нет, вроде, все хорошо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this