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

Placement Rectilinear Blocks

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

Озадачился размещением ячеек не стандартной (L-образной) формы.

Вычитал о слое OVERLAP.

LAYER OVERLAP
	TYPE OVERLAP ;
END OVERLAP

 

В LEF файле на ячейку прописал:

OBS

LAYER M1 ;
	RECT .... ;
	RECT .... ;

LAYER OVERLAP ;
	RECT 0 0 5.76 2.8 ;
	RECT 2.4 2.8 5.76 5.6 ;

END

 

В результате placeDesign encounter/innovus автоматически не вставляют в незадействованные места другие (обычные прямоугольные) ячейки, а лепят их друг на друга.

При этом, если ручками поставить прямоугольные ячейки в незадействованные области L-образных ячеек, то checkPlace проходит без ошибок.

Среди ключей команд placeDesign и setPlaceMode подходящего не нашел. На что обратить внимание?

 

 

 

 

 

 

Снимок.JPG

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


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

Я не очень понял, о чем вы пишете, но на тонких процессах часто селлы сделаны так, что ставить их слитно (без зазора) нельзя. В этом случае создаются группы селлов, и специальные правила, как плейсить рядом селлы из разных групп - с каким зазором и т.д. Для референса даю команды specifyCellEdgeSpacing и specifyCellEdgeType, почитайте в мануале. Надеюсь, это то самое, о чем вы спросили :-)

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


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

9 minutes ago, Aleх said:

Я не очень понял, о чем вы пишете, но на тонких процессах часто селлы сделаны так, что ставить их слитно (без зазора) нельзя. В этом случае создаются группы селлов, и специальные правила, как плейсить рядом селлы из разных групп - с каким зазором и т.д. Для референса даю команды specifyCellEdgeSpacing и specifyCellEdgeType, почитайте в мануале. Надеюсь, это то самое, о чем вы спросили :-)

Спасибо, посмотрю.

 

Процесс 65 нм.

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

Снимок2.JPG

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


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

У вас за границы селла что то торчит? Т.е. гемеотрия макро в лефе - одна, а внутренние шейпы выпирают наружу, за пределы макро?

Если наружу что то неважное торчит, и вы хотите избежать drc, то надо это в obstruction перевести в лефе. А если важное, то лучше размеры селла увеличить. Или использовать команды, что я привел выше.

p.s. ааа.. может, у вас селлы многоэтажные? или речь вообще не о стандартных селлах, а о макроблоках?

Изменено пользователем Aleх

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


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

13 hours ago, Aleх said:

У вас за границы селла что то торчит? Т.е. гемеотрия макро в лефе - одна, а внутренние шейпы выпирают наружу, за пределы макро?

Если наружу что то неважное торчит, и вы хотите избежать drc, то надо это в obstruction перевести в лефе. А если важное, то лучше размеры селла увеличить. Или использовать команды, что я привел выше.

p.s. ааа.. может, у вас селлы многоэтажные? или речь вообще не о стандартных селлах, а о макроблоках?

 

Наоборот. Граница ячейки прямоугольная, иначе ее и не задать. А вот физически (по shape) ячейка буквой L. 

Получается, что в пределах границ ячейки (Boundary box) имеется свободное место, в которое могут быть размещены другие ячейки (Available for placement).
Ячейки многоэтажные, но с этим нет проблемы.

Проблема в том, при place автоматически задействовать эти свободные места. Сам синтезатор это не делает, но вот если руками вставить в свободное место ячейку, то checkPlace проходит без проблем.

В LEF/DEF Language Reference есть абзац про Rectilinear Blocks:

Quote

Rectilinear Blocks

Normally, footprint descriptions in LEF are rectangular. However, it is possible to describe rectilinear footprints using an overlap layer. The overlap layer is defined specifically for this purpose and does not contain any routing. Describe a rectilinear footprint by setting the SIZE of the macro as a whole to a rectangular bounding box, then defining obstructions within the bounding box on the overlap layer. The obstructions on the overlap layer indicate areas within the bounding box which no other macro should overlap. The obstructions should completely cover the rectilinear shape of the macro, but not the portion of the bounding box that might overlap with other macros during placement. Note: Specify the overlaps for the macro using the OBS statement. To do this, specify a layer of type OVERLAP and then give the overlap geometries, as shown in Figure 1-83 on page 193.


Так же есть информация следующего содержания (прикрепляю скрин).

Пробовал оба варианта как вместе так и по отдельности, безрезультатно.

 

Screenshot_1.png

Изменено пользователем Dantist2k17

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


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

Я такого никогда не делал, и даже ничего подобного не видел. Это альфачип такое чудо выдумал?

Вот, заметил:

LAYER OVERLAP ;
	RECT 0 0 5.76 2.8 ;
	RECT 2.4 2.8 5.76 5.6 ;

У вас высота селлов кратна 5.76? Тогда откуда цифра 2.8? Должны отличаться в два раза. Просто, если вы хоть чуть чуть залезете на площадь для размещения других селлов, плейсер не будет эту площадь использовать. Проверьте всю геометрию в лефе, соответствия питчам в теч лефе

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


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

27 minutes ago, Aleх said:

Я такого никогда не делал, и даже ничего подобного не видел. Это альфачип такое чудо выдумал?

Вот, заметил:


LAYER OVERLAP ;
	RECT 0 0 5.76 2.8 ;
	RECT 2.4 2.8 5.76 5.6 ;

У вас высота селлов кратна 5.76? Тогда откуда цифра 2.8? Должны отличаться в два раза. Просто, если вы хоть чуть чуть залезете на площадь для размещения других селлов, плейсер не будет эту площадь использовать. Проверьте всю геометрию в лефе, соответствия питчам в теч лефе

Я тоже не делал и не видел, но судя по информации из LEF/DEF Languafe Reference такое возможно.

Это я для примера накидал ячейку. Никто не мешает размечать ядро какими угодно SITE, стыковка ячеек и согласование с шагом разводки это задача тех, кто ячейки рисует (с этим проблем нет).

В соотношении 2 к 1 есть какой-то сакральный смысл? Я придерживаюсь того мнения, что оно условно (в разумных пределах).

Я экспериментирую, сам же делаю и tech_lef и ячейки, по размерам все согласовано. Но placer не использует не задействованную площадь внутри ячейки, в том и проблема. К сожалению нагуглить по этому поводу ничего не получилось. Возможно я не правильно понял информацию изложенную в LEF/DEF Languafe Reference.

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


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

Сакральный смысл такой: есть сайт стандарт селлов, ваш селл должен соответствовать этому сайту (если хотите размещать разные селлы вместе), а значит должен быть такой же высоты, или кратен. Ширина должна быть кратна минимальной ширине филлера. То же касается и выреза вашего селла - высота и ширина кратны. И я полагаю что эта же кратность должна быть у OVERLAP - попробуйте. Это же конструкция исключительно для p&r тула.

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

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


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

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

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

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

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

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

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

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

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

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