Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Способы контроля перекрытия границ символов (футпринтов).
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
def_rain
Здравствуйте.
При расстановке на плате символов компонентов нужно контролировать их пересечение. Для этого на уровне создания символа, нужно указать некую область которая будет являться границей символа. Обычно эта область является полигоном (класса Package Geometry) при пересечении которого с другим полигоном тогоже класса/подкласса вызовет ошибку DRC.

Я вижу два способа как это организовать:
1. Полигон Place bound top/bot

Однако, Place bound top/bot отвечает за высоту и объемные, габаритные размеры детали, поэтому считаю делать этот полигон границей детали не логично, потому что граница компонента должна включать в себя как габаритные размеры детали, так и площадки. А площадки обычно (исключение BGA корпуса) выступают за габаритные размеры, допустим smd площадки длиннее/больше чем сам вывод компонента => в случае границы компонента по полигону Place bound получится что площадки не войдут в границу компонента (меня это не устраивает).

2. Полигон DFA bound top/bot

Использование этого полигона в качестве границы кажется более логичным. Даже название соответствует Design for assembly.
В итоге имеем полигон DFA внутри которого пины и корпус детали имеющий свой Place bound по размерам механического чертежа.
Далее настраивается DFA spreedsheet с расстояниями между полигонами DFA и получаем при расстановки контроль пересечения символов.

Однако, здесь тоже есть нюанс. Т.к. DFA контролирует не конкретно пересечение этих полигонов, а расстояние их сближения указанного в DFA spreedsheet.
К сожалению это мня тоже не устраивает т.к. нужно именно пересечение...

Скажите как Вы решаете вопрос пересечения символов?
Карлсон
Package geometry -> Placebound top\bot всегда был и есть граница компонента, включая площадки и всё прочее. Это полигон, который на плоскости отвечает за ошибки пересечений, а в трехмерке определяет максимальный объем, занимаемый компонентом.

Это стандартный способ определения границ компонента.

Не путайте его с Package Geometry -> Assembly_Top, например. В этом слое обычно рисуется реальная физическая граница компонента.
def_rain
Цитата(Карлсон @ Apr 18 2017, 09:45) *
Не путайте его с Package Geometry -> Assembly_Top, например. В этом слое обычно рисуется реальная физическая граница компонента.


Да, с assembly все понятно.

Цитата(Карлсон @ Apr 18 2017, 09:45) *
Package geometry -> Placebound top\bot всегда был и есть граница компонента, включая площадки и всё прочее. Это полигон, который на плоскости отвечает за ошибки пересечений, а в трехмерке определяет максимальный объем, занимаемый компонентом.


Соглашусь что Place bound должен включать в себя площадки и габариты корпуса, т.е. при пересечении двух символов будет DRC.
Но есть еще нюансы.
Я приведу выдержку из IPC:
Нажмите для просмотра прикрепленного файла
На схеме есть три полигона о которых мы говорим:
1. Component/ Land Pattern (maximum boundary) - физические границы, включая площадки. В Allegro это Place bound top/bot, о котором мы говорили.
2. Courtyard boundary - технологические границы. Определяют плотность компоновки деталей на плате, Существует три уровня плотности A, В, С. В Allegro я думаю для этого слоя можно использовать это DFA bound top/bot.
3. Manufacture zone - Здесь точно не знаю зачем эта зона. Есть предположение что эта граница для расстановки при автоматическом монтаже, учитывает размеры манипулятора с присоской, который расставляет детали по плате и точность позиционирования.

Давайте обсудим подробнее.

Вот выдержка из книги "Mitzner_Kraig_Complete_pcb_design_using_orcad_capture_and_pcb_editor":

"Notice that the PCB Editor place boundary outline does not include the excess space at the ends of the body or around the leads.
For most of the PCB Editor footprints included with the software library, the courtyard excess is nonexistent."

Переведём:
"В PCB Editor-е граница полигона place boundary не включает избыточное пространство краёв корпуса или вокруг выводов. Для футпринтов превышение courtyard отсутствует."

Что это значит...
Полигон Place bound top/bot ограничивает деталь и площадки, т.е. физические границы один в один, без всяких отступов (см. на схеме полигон Component/Land Pattern (maximum boundary)).
Но отсутствует courtyard, т.е. технологические зазоры по плотности компонентов. Имеется в виду зазор/отступ от габаритных размеров корпуса и контактных площадок (см. на схеме полигон courtyard excess). Этот отступ расчитывается по IPC, допустим: 0.1мм-уровеньА, 0.2мм-уровеньВ, 0.3мм-уровеньС (Least, most, nominal)
Вот здесь я и задаю вопрос, каким полигоном обозначить этот courtyard?
Больше всего подходит DFA bound top/bot.

Но читаем дальше книгу Mitzner_Kraig-а:
"Also in PCB Editor’s Constraint Manager, there is no package spacing constraint that you can set. The DRC looks for violations only where place outlines cross.
So satisfying density level requirements requires that you either modify the footprint definitions or set the place grid conservatively and manually check each of the components individually using Tables 5-6 and 5-7 as guides."
Переведём:
В Constraint Manager отсутствует ограничение интервала между корпусами, которое вы можете установить. DRC ищет нарушения только там, где пересекаются контуры места (т.е. имеется в виду что DRC контролирует только пересечение Place bound top/bot).
Другими словами, автор говорит что пересечения технологических грани Courtyard boundary в CM не контролируются.
Но предлагает решение:
"So satisfying density level requirements requires that you either modify the footprint definitions or set the place grid conservatively and manually check each of the components individually using Tables 5-6 and 5-7 as guides."
Здесь смысл не совсем ясен и таблицы о которых речь не вносят ясность...

Поэтому я пришел к выводу что для контроля технологических границ courtyard использовать DFA и задавать ограничения в DFA spreedsheet. Но в итоге, как я писал в первом посту пересечение полигонов DFA не выдает ошибки, т.к. контролируется только их сближение, расстояние между ними.
def_rain
Вот так я вижу символ максимально приближенный к IPC.
DFA дает общий зазор для символа, который определяет плотность компоновки на плате корпусов. В данном случае класса компоновки nominal: для него Courtyard to Body excess и Courtyard to Pad excess = 0.2 мм.
Нажмите для просмотра прикрепленного файла
Карлсон
Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла

Это CAPC2012x135.
Placebound как раз определяет плотность, A,B или C.

По вашей классификации:
1 - это Package geometry -> Assembly_Top.
2 - это Package geometry -> Place_Bound_Top.
3 - это DFA bound.
def_rain
Цитата(Карлсон @ Apr 19 2017, 01:07) *
Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла

Это CAPC2012x135.
Placebound как раз определяет плотность, A,B или C.

По вашей классификации:
1 - это Package geometry -> Assembly_Top.
2 - это Package geometry -> Place_Bound_Top.
3 - это DFA bound.


Да, прихожу к выводу что в основном так и делается как Вы пишете. В итоге просто накладывать DFA и Place Bound друг на друга один в один.
Может быть и нет смысла выдумывать что то другое.
Смущает меня лишь то, что обёма на плате съедается при таком методе в несколько раз больше чем это может быть даже при максимальном сдвиге компонента с контактных площадок.
Посмотрите на фото, таким образом компонент ни при каких условиях при монтаже не сможет быть напаян. Но Place Bound при этом там есть, и он имеет высоту равную высоте детали. Это съедает полезное пространство платы но высоте. В некоторых случаях это может оказаться недостатком данного метода.

Нажмите для просмотра прикрепленного файла

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.