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

Library domain Innovus

Приветствую.

Есть дизайн, модули в котором должны работать на разных частотах (50 МГц  и 1250 МГц). Есть две библиотеки, отхарактеризованные на соответствующие частоты.

Вопрос: как объяснить innovus-у, чтобы он работал с разными библиотеками при физическом синтезе соответствующих модулей?

В genus-е использовал create_library_domain, альтернативу для innovus найти не смог.

 

 

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


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

1 hour ago, Dantist2k17 said:

Приветствую.

Есть дизайн, модули в котором должны работать на разных частотах (50 МГц  и 1250 МГц). Есть две библиотеки, отхарактеризованные на соответствующие частоты.

Вопрос: как объяснить innovus-у, чтобы он работал с разными библиотеками при физическом синтезе соответствующих модулей?

В genus-е использовал create_library_domain, альтернативу для innovus найти не смог.

Цель какая?

Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power

А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов.

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


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

28 minutes ago, Aleх said:

Цель какая?

Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power

А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов.

Требований по раздельной реализации нет. Не подумал я о том, что синтезатор сам разрулит. А про CPF надо будет почитать, не знаком. Спасибо.

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


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

2 hours ago, Aleх said:

Цель какая?

Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power

А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов.

 

Не уверен что подберет.

Warning : Multiply-defined library cell. [LBR-22]
             : Library-cell name collision (LIB1/AND2 and LIB2/AND2).  Deleting (LIB2/AND21).

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


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

Почему в обеих либах селлы называются одинаково? Если это одна и та же (физически) либа, но под разные PVT корнера, то надо вводить эти самые корнера.

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


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

3 hours ago, Aleх said:

Почему в обеих либах селлы называются одинаково? Если это одна и та же (физически) либа, но под разные PVT корнера, то надо вводить эти самые корнера.

В том и загвоздка, что ячейки называются одинаково, т.к. это одни и те же ячейки (физически), просто отхарактеризованны на разных частотах.

А каким образом указать синтезатору на то, с какими корнерами работать в определенных частях проекта.

Впервые столкнулся с подобной необходимостью. Обычно все по накатанной схеме:


create_library_set -name 065_wc -timing lib/lib_wcs_fast.lib
create_library_set -name 065_bc -timing lib/lib_bcs_fast.lib

create_constraint_mode -name my_constraint_mode -sdc_files sdc/main.sdc

create_rc_corner -name my_rc_corner_wc \
    -T 85.0 \
    -cap_table file_name_worst.captable \
    -qx_tech_file file_name 
create_rc_corner -name my_rc_corner_bc \
    -T -65.0 \
    -cap_table file_name_best.captable \
    -qx_tech_file file_name 

create_delay_corner -name my_delay_corner_max -library_set 065_wc -rc_corner   my_rc_corner_wc
create_delay_corner -name my_delay_corner_min -library_set 065_bc -rc_corner   my_rc_corner_bc
create_analysis_view -name my_analysis_view_setup -constraint_mode my_constraint_mode -delay_corner    my_delay_corner_max
create_analysis_view -name my_analysis_view_hold -constraint_mode my_constraint_mode -delay_corner    my_delay_corner_min  

init_design -setup my_analysis_view_setup -hold  my_analysis_view_hold

 

 

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


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

На вскидку (доки под рукой нет) выглядит правильно, разве что пропущено set_analysis_view

 

Но хочу заметить, что для синтеза достаочно только рассматривать углы с максимальными задержками, а поскольку на 65 нм такой угол скорее всего один, то можно было ограничиться только wc либой, без введения mmmc с кучей  корнеров.

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


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

11 hours ago, Aleх said:

На вскидку (доки под рукой нет) выглядит правильно, разве что пропущено set_analysis_view

 

Но хочу заметить, что для синтеза достаочно только рассматривать углы с максимальными задержками, а поскольку на 65 нм такой угол скорее всего один, то можно было ограничиться только wc либой, без введения mmmc с кучей  корнеров.

Речь о физ синтезе. Максимальная для setup, минимальная для hold.

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


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

Холды на синтезе смотреть - нет смысла, только если совсем грубые ошибки в констрейнтах искать - в малтисайклах, клокгейтах и т.д. В остальном, быстрые корнера и анализ холда в синтезе - только вастить машинное время и зажимать тул. Больше вреда чем пользы. Имхо

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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