Jump to content

    

Design Compiler, synthesis, bottom up

Никто не пользовался bottom up flow для синтеза? Возникает проблема с таймингами в случае если результат порта не используется на верхнем уровне. 

Т.е. формально при re-синтезе он как бы и не нужен и characterize для него не делается, но на нижнем уровне он есть и при этом констрейнов для него нет. В итоге проблемы с таймингами, поскольку путь есть из-за dont_touch на нижнем уровне, но для него нет констрейна до порта, только внутренние цепи. Т.е. констрейн валиден только для части внутренних элементов, остальное синтезатор игнорирует, поскольку они для него не существуют. 

Пробовал запретить оптимизацию через границы блоков, но это не помогает, поскольку все равно идет propagation.

Вариант оптимизации кода не предлагать, слишком много менять и заново верифицировать.

П.С. Либо я что-то другое вижу, но по факту из всех констрейнов экстрагируются только тип порта " universal" (остальные "defaul") и fanout_load равный нулю, больше ничего.

 

Проблема решена, запрет оптимизации через границы блоков таки помогает в этом случае.

Edited by lexx

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