Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правило, чтобы под компонентами у полигона были другие зазоры до дорожек
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Krys
Здравствуйте. Помогите, пожалуйста, реализовать следующее:

Допустим есть зазор от полигона до дифференциальной пары, который определяется необходимым мне волновым сопротивлением. Однако когда эта дифференциальная пара подходит к компоненту (допустим заходит под ПЛИСку BGA), то я хочу, чтобы этот зазор уже определялся просто минимальными технологическими требованиями производства. Полигон и дорожки могут быть во внутренних слоях, т.е. не в тех слоях, где расположены сами компоненты. Но под ними правило должно меняться.

Другими словами, мне нужно проверять зазор между двумя объектами: полигоном и трэком, но при этом контролировать наличие где-то в верхнем слое объекта в компонент классе, т.е. 3е условие, которое непосредственно не связано с двумя контролируемыми объектами.

Такое как-то можно реализовать?

Получается не binary rule, а triple rule :)
Владимир
Если только до полигона--- то ничего не надо. Он везде должен быть достаточно очищен.
Если имеется зазоры между Track и Pad, которые определяются корпусом--- то это и отдельное правило между PAD и остальными объектами дифпары
Krys
Владимир, что-то я ничего не понял... 1). Что значит "достаточно очищен"? и 2). Меня интересует зазор не между track и pad, а между track и полигоном. Но при условии наличия или отсутствия компонента сверху - зазор должен быть разным.

Вот проходят у меня трассы, вокруг них полигон залит земляной. Имеется определённый зазор от полигона до трасс. Там, где эта конструкция проходит (во внутренних слоях) место, где на внешних слоях есть компоненты, зазор от полигона до трасс должен быть другим.
Владимир
Может и я не понял.
1. На внутренних слоях зазор для полигонов индивидуальный, для дифпар тем более отдельное правило
2. На вешних слоях тоже самое, только обычно зазоры больше
3. Тут еще конфликт, для смежных слоев с дифпарами не должно быть разрыва в полигонах
4. Обычно ругается на не допустимый зазор между дифпарой и площадками микросхемы, так как расстояние до последних , обычно меньше чем хотелось бы. Тут и встает правило между площадками и дифпарами

Цитата
где на внешних слоях есть компоненты, зазор от полигона до трасс должен быть другим

Ну да , как правило больше

Clearance_Poly_TOP_BOT
InPolygon and (OnBottomLayer or OnTopLayer )
All

AnyDifferentialPair _to_Track
IsDifferentialPair
IsTrack

Clearance_InPolygon-InAnyDifferentialPair
InPolygon
(IsTrack Or IsArc) And (InAnyDifferentialPair)
Krys
Я понял о чём Вы, но мне надо не это. У меня полигон и дифпары идут в одном слое (во внутреннем), а компонент находится во внешнем слое. Но под этим компонентом зазор от полигона до дифпары во внутреннем слое должен быть отличным от той области, где сверху нет такого компонента.

Мне нужно примерно следующее условие (пишу условно, синтаксис запросов не соблюдаю):
Clearance_Poly_Diff_Under_Comp - зазор 0,1
InPolygon and (OnMidLayer1) and <над полигоном в этих же координатах ЕСТЬ сверху в слое TOP компонент>
InAnyDifferentialPair and (OnMidLayer1) and <над полигоном в этих же координатах ЕСТЬ сверху в слое TOP компонент>

Clearance_Poly_Diff_Not_Under_Comp - зазор 0,15
InPolygon and (OnMidLayer1) and <над полигоном в этих же координатах НЕТ сверху в слое TOP компонента>
InAnyDifferentialPair and (OnMidLayer1) and <над полигоном в этих же координатах НЕТ сверху в слое TOP компонента>

Вот... как-то так...
Владимир
Цитата
Но под этим компонентом зазор от полигона до дифпары во внутреннем слое должен быть отличным от той области, где сверху нет такого компонента.

Гм. Странное требование. Да и зазоры чегось маленькие.
1. Обычно зазор между дифпарой и иными линиями в том же слое более 3 cleorance между линиями в дифпаре.
2. Если в внутреннем слое зазор задан--- смысл его увеличивать там, где на верх стоит компонент? На этом же слое его нет.
3. Да сам компонент нарушает условие для дифпары на слое под ним. Поэтому для дифпар используют например верхний и третий слой. А второй (четвертый)-- под сплошную заливку в зоне дифпар.
Krys
Владимир, я требования чисто условно нарисовал, зазоры с потолка. Про необходимость сплошного полигона - в курсе :)
Владимир
Цитата
я требования чисто условно нарисовал

Так а я с практической.
Для внутренних слоев описываемой вами проблемы нет.
Для внешний слоев с полигонами тоже нет.
Есть проблема с зазорами до соседних PAD.и возможно track других связей при подводе к PAD тут действительно Footprint не изменишь
Gennaj
Цитата(Krys @ Jun 7 2010, 05:35) *
Другими словами, мне нужно проверять зазор между двумя объектами: полигоном и трэком, но при этом контролировать наличие где-то в верхнем слое объекта в компонент классе, т.е. 3е условие, которое непосредственно не связано с двумя контролируемыми объектами.

Кажется, решение есть, правда, не идеальное sad.gif
Подойдет, если компонентов, под которыми надо изменить правило зазоров не слишком много. Для этого нужно вручную под заданными компонентами на том же слое, что и дифпара, нарисовать небольшие полигоны размерами как раз с ту область, в которой нужны иные зазоры. Далее, либо определить для них класс, либо присвоить таким полигонам похожие имена (poly1, poly2, ...) и написать правило для зазоров между дифпарами и полигонами с именами, Name Like "poly*". Соответственно, указать правильный порядок перестройки полигонов, чтобы "главный полигон" строился после того, как уже построены "кусочные" полигоны.
Не проверял, но, вроде, должно сработать smile.gif
av-master
а если под компонентами комнаты нарисовать и добавить еще правило с участием комнат. или это я пальцем в небо ?? (так как ничего не понял, но чтото похожее когдато было)
Vokchap
Совет предыдущего оратора самый верный. smile.gif
Процедуры WithinRoom('') и TouchesRoom('') возвращают примитивы внутри рума полностью или частично в нём расположенные, соответственно для них можно задать свой зазор до полигона. Красоты ради по периметру корпуса можно сделать на треках невидимые разрезы (slice track 8 кликов мыши по периметру на все пары), чтобы однозначно определить принадлежность куска дифпары руму.
Владимир
Цитата
Совет предыдущего оратора самый верный. smile.gif
...
а можно сделать на треках невидимые разрезы (slice track 8 кликов мыши по периметру на все пары)

Угу. если микросхем еще десяток таких, и комнаты как бельмо в глазу работать мешают, то верный, но не самый простой
Vokchap
Цитата(Владимир @ Jun 14 2010, 19:31) *
Угу. если микросхем еще десяток таких, и комнаты как бельмо в глазу работать мешают, то верный, но не самый простой

Проще вариант решения вопроса можете предложить? smile.gif
"Проще" для пользователя - только если об этом позаботятся разработчики, пока этого нет...
Насчет бельма в глазу - есть же штатные режимы отображения примитивов и слоёв ... в чем проблема?
Владимир
Цитата
Проще вариант решения вопроса можете предложить?

Ну так я писал выше. Не нужно водит прямо под микросхемой в смежном слое. Это в любом случае нарушение для дифпар.
Цитата
позаботятся разработчики, пока этого нет
Хотелось бы.
Но мало ли чего хочется.
Вот например, когда пишешь правило, чтоб сразу выделялись разным цветом те элементы, на которое они распространяются, с учетом приоритета.
А то проверяй, проверяй,. Уж проверялка болит.
Цитата
Насчет бельма в глазу - есть же штатные режимы отображения примитивов и слоёв ... в чем проблема?

Есть. Но они сбрасываются при входе/выходе в 3D режим. А во вторых, что-то хочется видеть, что-то нет. А индивидуальной настройки нет
Vokchap
Цитата(Владимир @ Jun 14 2010, 20:50) *
Ну так я писал выше. Не нужно водит прямо под микросхемой в смежном слое. Это в любом случае нарушение для дифпар.

Krys не спрашивал, верно ли это физически, вопрос был технический, как реализовать переменный зазор в нужных местах. Кроме задачи грамотно провести сигнал по дифпаре переменный зазор локально может быть нужен для обеспечения электрической прочности на стэфе, технологичности производства, заскока дизайнера и т.д. ... Где выше вариант проще?

Цитата(Владимир @ Jun 14 2010, 20:50) *
Есть. Но они сбрасываются при входе/выходе в 3D режим. А во вторых, что-то хочется видеть, что-то нет. А индивидуальной настройки нет

Специально проверил есть ли косяк с модой "Hidden" для румов при переключении 2D-3D. Нет бага. laughing.gif
Владимир
Цитата
Нет бага.

Гм. У меня есть. Пошел искать
Vokchap
Как вариант без использования рума - треки, около которых зазоры уникальны, проводятся отличной шириной (например, на 1 mil шире или уже, т.е. без ущерба для ро линии) и в правила на зазоры вносятся условия на ширину трека.

Итого имеем три варианта обхода:

1. Мелкие полигоны в нужных местах со своими зазорами
2. Румы в качестве определения областей применимости конкретных правил
3. Разрез треков по границе области и несущественное изменение его ширины внутри области как условие для уникального зазора

Для начала пока хватит. smile.gif
Владимир
Цитата
треки, около которых зазоры уникальны, проводятся отличной шириной (например, на 1 mil шире или уже, т.е. без ущерба для ро линии) и в правила на зазоры вносятся условия на ширину трека.

Этот вариант юзал для другого.
Те же дифпары при подключение к Pad нарушали правило Neck. Так для уникальных ширин затем отдельное правило Neck.
Krys
Всем спасибо за подсказки! Учту на будущее. А под компонентом минимально возможный зазор для дифпары может потребоваться в случае, если дифпара собирается зайти в этот компонент (через виашки разумеется). Если зазор до полигона оставить прежним - полигона под компонентом не будет полностью (т.к. там много других дифпар), а он нужен для каких-либо других цепей (пусть для того же питания).
Правило Width у меня раньше работать отказывалось: http://electronix.ru/forum/index.php?act=f...&pid=459595
может, сейчас уже что-нибудь исправили, не пробовал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.