|
синопсис dc -topo, есть вопросы |
|
|
|
Nov 27 2012, 08:31
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Хотелось бы узнать про основные отличия DC топо-режима от обычного синтеза. Есть ряд вопросов:
1. Как я понял, в этом режиме wire-load модель не используется, а создается что то вроде виртуального флорплана. Первый вопрос - как тогда этот вирт. флорплан сохранять после разводки? Обычные ddc и sdc форматы надо думать информацию о размещении не содержат, а больше ничего я отыскать не смог в доках. По идее, должно сохраняться во что то навроде def файла .. но как?
2. Никогда не занимался топологией, но в топо режиме явно приходится указывать технологические файлы, о которых я имею очень смутное представление. В моем дизайне используется несколько различных либов, и у каждой есть собственный техн. файл. Подключить их вместе не удалось, а когда подключаю один (от основной цифровой либы), то размер селлов из других либов каким то чудесным образом пересчитывается, причем не всегда правильно (не соотвествует area в либе). Как поступить? Должны всех техн. файлы подключаться? Опять же, синопсис понимает только милкивеевский формат, как я понял. Т.е. часть тех файлов вообще не подключается.
3. Имеет ли смысл заморачиваться, и подгружать координаты предварительной расстановки блоков из энкаунтера? Я так понимаю, это делается посредством def файла - на отдельные либы, и если потребуется то только в ручном режиме - на комбинаторику.
4. Ну и в целом, есть ли преимущества у -топо перед обычным режимом? Просто, интересно узнать ваше мнение. Может, не стоит и заморачиваться
модераторам: если ошибся форумом, перенесите, плиз.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Nov 27 2012, 10:15
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
Цитата Первый вопрос - как тогда этот вирт. флорплан сохранять после разводки? На вход DC-topo можно подавать DEF, а можно синопсисовский floorplan. На выходе, если не использовать ключик -spg, вы не увидите и не сможете передать размещение в PnR тул. Если используете -spg, то размещение сохраняется в DDC и синопсис ICC может восстановит это размещение либо через place_opt -spg либо через restore_spg_placement. Из тех. файлов DCT требует один Milkyway .tf и TLUPlus для RC экстракции. Для всех библиотек должны быть сделаны Milkyway libraries. Основное преимущество -topo, это то, что после него ICC показывает такой же тайминг после реального размещения. Если же использовать WLM, то тайминг практически никак не коррелирует с тем, что получен в ICC. (ну за исключением каких-либо особых случаев). Поэтому, лучше использовать topo в связке с синопсис ICC. Если же вы делаете PnR в Cadence - то тут вопрос.
|
|
|
|
|
Nov 28 2012, 09:09
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
Цитата Логику из либов я достаю прямо в DC используя read_lib - write_db Да, а потом подключаете эти db через переменные target_library и link_library. Для топо синтеза осталось вытащить геометрию (достаточно только коробочки с пинами и блокеджем по металлу). Это делается путем зачитывания LEF файла на библиотечные ячейки и создания FRAM в Milkyway. Если я не ошибаюсь, сразу после read_lef вы должны увидеть FRAM для каждой ячейки. Затем, с помощью команды set_mw_lib_reference вы подключаете эти созданые Milkyway библиотеки к вашей рабочей либе. Не забудьте ещё прикрутить TLUPlus файлы через set_tlu_plus_files, для RC estimation.
|
|
|
|
|
Nov 29 2012, 06:07
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Спасибо! Все получилось ) LEF->mw_lib->DEF. Хочу все это в консоль превести, для полуавтоматического режима, т.к. либы меняются изредка. Но пока непонятно, как милкивей в консоли запускать - гуи сразу стартует.
Есть только один косяк непонятный - некоторые селлы имеют не прямоугольную геометрию, а, скажем, буквой Г. При этом, в DEF они получаются как обычный ректангл. Возможно, LEF кривой, не могу проверить. Появился вопрос: Есть разница, откуда брать геометрию - из LEF, или может лучше GDS использовать?
p.s. И еще вопрос: В милкивей при создании новой либы нужно указывать техн. файл. Так вот, при подгрузке этого файла выводится ворнинг, что в техн. файле отсуствует RC информация, и нужно подгрузить TLU+ файл. Файл TLU+ у меня есть, но как его подгружать я толком не понял. Нашел только одну команду - replace_tlu_plus_file. Когда я ее (успешно) выполняю, и делаю репорт библиотеки, там по прежнему имеется ворнинг об отсуствии RC. Может, нужно как то по другому TLU+ подгружать?
|
|
|
|
|
Nov 29 2012, 07:04
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
Milkyway без GUI, но в пакетном режиме: Код Milkyway -nogui -load file.name Цитата Есть разница, откуда брать геометрию - из LEF, или может лучше GDS использовать? Для создания FRAM view лучше использовать LEF - типа там уже всё прописано, но если LEF кривой (что вряд ли, скорее причина в чем-то другом), то можно сначала загрузить GDS, из него автоматически сделается CEL. А затем уже из CEL командой auExtractBlockagePinVia сделать FRAM. Цитата Так вот, при подгрузке этого файла выводится ворнинг, что в техн. файле отсуствует RC информация, и нужно подгрузить TLU+ файл. Это нормально. Когда запустите dc-topo нужно будет: Код open_mw_lib $mw_design_library set_tlu_plus_files -max_tluplus $TLUPLUS_MAX_FILE \ -min_tluplus $TLUPLUS_MIN_FILE \ -tech2itf_map $MAP_FILE check_tlu_plus_files
|
|
|
|
|
Nov 30 2012, 09:54
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
Насколько мне известно, FRAM похож на LEF. И ничего, кроме геометрии и типа портов (вход, выход, power или signal ...) там нет, так же, как и в LEF.
Только не путайте LEF и DEF. LEF это для описания библиотчных ячеек. А если вам надо передать размещение этих ячеек(или сетку питания, или размещение падов ...) из Encounter в ICC, то нужно использовать def. В DCT для этого есть команда extract_physical_constraints, вы можете открыть layout window в GUI DCT и посмотреть, всё ли передалось через DEF.
|
|
|
|
|
Dec 6 2012, 13:27
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
Проверьте, что список библиотек в link_library (*.db) и референсные либы (milkyway) совпадают. И что они те же самые, что были в DC. Цитата ... Error: Can not create instance master 'oai22x1' in FRAM view. (MWDC-001) ...
How do I resolve this error?
Answer:
This error indicates that a problem occurred while linking your design, and it points to a mismatch between the values of the link_library and reference_library variables.
If you have previously successfully run the Milkyway design and are now facing this error for the first time, your existing Milkyway design library does not match your current link_library or reference_library settings, which means that you can delete the existing Milkyway design and recreate it with your new variables.
If you do not think that anything changed between your two runs, check for the following:
If you used a backslash (\) to create your ref_library and link_library variable values on multiple lines, make sure that there is a space before backslash (\).
set REF_LIBRARIES [ list $lib_path/stdcell \
Make sure you are using the concat Tcl command to combine multiple lists, instead of the list command.
set REF_LIBRARIES [ concat $REF_LIBRARIES $lib_path/other ]
Make sure that you are using the following sequence of commands:
create_mw_lib ... design set_mw_lib_reference design -mw_reference_library $REF_LIBRARIES
instead of the following Physical Compiler sequence of commands:
set mw_design_library design set mw_reference_library $REF_LIBRARIES create_mw_lib ... design
|
|
|
|
|
Dec 9 2012, 18:05
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Нет, команда прошла нормально, без ворнингов. Попробовал блоки вручную расставить (указывал координаты в скрипте синтеза) - эти координаты потом попали в файл .fp и затем, как следствие, - в IC. Но те блоки, что не были прописаны вручную - их по прежнему нет, и команда place_opt -spg по прежнему завершается аварийно. Наверно я что то упустил, какую то мелочь. Может, есть способ передать расстановку через базу mw? В DC есть команда write_mw_lib (или как то так - документации нет под рукой). ПО идее, эта команда должна писать разведенный дизайн во FRAM. Но это пока только идея, не проверял.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|