Dantist2k17 0 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба Приветствую. Есть дизайн, модули в котором должны работать на разных частотах (50 МГц и 1250 МГц). Есть две библиотеки, отхарактеризованные на соответствующие частоты. Вопрос: как объяснить innovus-у, чтобы он работал с разными библиотеками при физическом синтезе соответствующих модулей? В genus-е использовал create_library_domain, альтернативу для innovus найти не смог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба 1 hour ago, Dantist2k17 said: Приветствую. Есть дизайн, модули в котором должны работать на разных частотах (50 МГц и 1250 МГц). Есть две библиотеки, отхарактеризованные на соответствующие частоты. Вопрос: как объяснить innovus-у, чтобы он работал с разными библиотеками при физическом синтезе соответствующих модулей? В genus-е использовал create_library_domain, альтернативу для innovus найти не смог. Цель какая? Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dantist2k17 0 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба 28 minutes ago, Aleх said: Цель какая? Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов. Требований по раздельной реализации нет. Не подумал я о том, что синтезатор сам разрулит. А про CPF надо будет почитать, не знаком. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dantist2k17 0 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба 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). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба Почему в обеих либах селлы называются одинаково? Если это одна и та же (физически) либа, но под разные PVT корнера, то надо вводить эти самые корнера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dantist2k17 0 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 3 июля, 2020 Опубликовано 3 июля, 2020 · Жалоба На вскидку (доки под рукой нет) выглядит правильно, разве что пропущено set_analysis_view Но хочу заметить, что для синтеза достаочно только рассматривать углы с максимальными задержками, а поскольку на 65 нм такой угол скорее всего один, то можно было ограничиться только wc либой, без введения mmmc с кучей корнеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dantist2k17 0 4 июля, 2020 Опубликовано 4 июля, 2020 · Жалоба 11 hours ago, Aleх said: На вскидку (доки под рукой нет) выглядит правильно, разве что пропущено set_analysis_view Но хочу заметить, что для синтеза достаочно только рассматривать углы с максимальными задержками, а поскольку на 65 нм такой угол скорее всего один, то можно было ограничиться только wc либой, без введения mmmc с кучей корнеров. Речь о физ синтезе. Максимальная для setup, минимальная для hold. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 4 июля, 2020 Опубликовано 4 июля, 2020 · Жалоба Холды на синтезе смотреть - нет смысла, только если совсем грубые ошибки в констрейнтах искать - в малтисайклах, клокгейтах и т.д. В остальном, быстрые корнера и анализ холда в синтезе - только вастить машинное время и зажимать тул. Больше вреда чем пользы. Имхо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться