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

Найдено решение проблемы. Хоть и обходной путь, но всё же. Спасибо человеку с ником Dxp. Нужно правило указывать только в милсах и дорожку проводить в милсах, тогда срабатывает.

Похоже, очередной баг

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


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

Нужно правило указывать только в милсах и дорожку проводить в милсах

Я же и писал, работает только в тех единицах, что активные, а явно писать не дает. И это здоровеннный недостаток. Так как при переходе с мил нп милиметры-- все числовые значения перерасчитываются (изменятся), а в правилах остаются неизменными безымянными . Я пишу правила как раз для милс, испытываю меньше не удобст. Тянется эта гадасть с доисторических времен.

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


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

Увы... рано я порадовался... Один раз сработало тогда, а сейчас также выдрючивается похоже... У меня и с миллиметрами поначалу работало, потом перестало. Похоже, там какая-то одноразовая система. Один раз даёт работать в миллиметрах, потом в милсы переходишь - ещё раз. А потом уже не работает ни в тех, ни в тех единицах :(

Спишем всё на версию, она у меня старая, а новую скачать нет возможности пока. Пришлось пока дедовским способом выставлять зазор...

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


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

Она делает перерасчеты. Поэтопу появляются округления

Не надо пользоватся знаком равно. Только больше менише или в диапазоне. :) тогда проблемы округления пропадут.

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


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

Беда у меня с этими правилами...

Прошлую проблему я решил тупо. Вручную переключал в правилах зазор, когда надо было тянуть дифференциальную пару. Т.е. всегда стоял 0,15, а когда тянул пару, ставил 0,2. Потом обратно. В пикаде в принципе так делал всегда.

Но теперь опять появилась проблема, на этот раз с зазором между полигонами и дорожками. Поскольку это была уже вторая проблема при работе в АД версии 6.7, то я таки решился перейти на АД саммер 08. Не изменилось ничего.

Вот тут мой файл: digital_loop.rar

Задаю правило в разделе Clearance:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

InPolygonClass('All Polygons')

__________________________________________

Для этого правила зазор 0,2. По умолчанию для всего остального зазор 0,15.

АД моего правила внаглую не видит, у всех полигонов до дорожек зазор 0,15, а не 0,2, как требуется.

Даю команду Applicable binary rules, выбираю дорожку и полигон - табличка с перечнем правил просто не вылазиит. Хотя правило там хоть какое-то должно быть, ведь зазор 0,15 всё равно откуда-то берётся, хоть и не 0,2.

Пробовал я поставить правило таким образом:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

All

__________________________________________

Так заработало. Разумеется, всё вокруг поменяло цвет, сигнализируя об ошибках в зазорах. Зато полигоны перезалились с зазором 0,2.

Попробовал записАть так:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

IsPoly

__________________________________________

АД сказал, что в правиле ошибка, и не желаю ли я ошибку исправить. Т.е. IsPoly вообще не понимает.

 

Попробовал ещё так:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

IsNamedPolygon('top_common_gnd')

__________________________________________

 

Тоже нулевая реакция, т.е. зазор остаётся 0,15 после перезаливки.

Я думал, может, АД не видит заданных мной условий для полигонов. Попробовал эти же условия ввести в PCB Filter (по очереди, не все сразу):

InPolygonClass('All Polygons')

IsPoly

IsNamedPolygon('top_common_gnd')

В таком виде фильтр выделяет правильно нужные полигоны.

 

Кто может что-нибудь посоветовать? Попробуйте, пожалуйста, у себя мой файл, будет ли такая проблема. АД я поставил свежий только недавно, так что переставлять его можете не советовать. Да, комп уже довольно старенький, 2 ГГц, одноядерник, видюха встроенная какая-то без DirectX 9.0c. Может так видюха влияет?

 

ЗЫ: при переходе на новый АД проблема с заданием зазора в зависимости от ширины трассы также не исчезла. Когда в PCB Filter встречается строка со словом Width, то пишется та же самая ошибка Error Occurred while Running script

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


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

Если кому-нибудь нетрудно, попробуйте, пожалуйста, на своём АД сделать подобный поиск дорожек с использованием ширины дорожки. Тоже ошибку даст или нет... То ли глюк у меня в самом АД. Может, переустановить его...

Какие ещё обходные пути кто может предложить? Ещё раз постановка задачи: Дорожка должна иметь большую толщину и большой зазор, но от микросхемы её такой вывести нереально, поэтому недалеко приходится выводить с малой толщиной и малым зазором. Я пытаюсь задать правило для зазора, которое бы в зависимости от толщины дорожки устанавливало бы разный допустимый зазор. Пока в тупике, даже разводить дальше не могу - застрял на этом.

Поиск - старый баг, в новых версиях остался http://electronix.ru/forum/index.php?showt...4963&st=66#

 

Я делал так: с BGA вывводил пары вручную тонкими одиночными линиями, задав нужный зазор, а выйдя на простор - дифпарами. Хотя глючно всё весьма..

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


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

Добрый день!

 

Вообще в AD не работала :) . Но когда у нас на фирме был поднят вопрос выбора пакета Expedition или AD, пришлось немного полазить в последнем для ознакомления. Искала целенаправленно те же возможности, которые используем в Expedition`e. Разные правила для выхода из-под микросхемы и трассировке вне ее в Expedition задаются с помощью Rule Area (и ширина дорожек внутри этой зоны, и зазоры в ней). Поэтому в AD сразу искала аналог и нашла его :) Нарисовала Room вокруг требуемой микросхемы. А потом задала правила внутри и вне ее. См. рис.

post-20116-1219041416_thumb.jpgpost-20116-1219041429_thumb.jpgpost-20116-1219041438_thumb.jpgpost-20116-1219041457_thumb.jpg

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


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

Задаю правило в разделе Clearance:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

InPolygonClass('All Polygons')

__________________________________________

 

Я не очень разбирался с Вашими всеми правилами.

Если вместо InPolygonClass('All Polygons') написать просто InPoly или InPolygon, то всё должно работать.

Удачи.

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


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

Я не очень разбирался с Вашими всеми правилами.

Если вместо InPolygonClass('All Polygons') написать просто InPoly или InPolygon, то всё должно работать.

Удачи.

Да я вижу, что не читали. ПРоверял я это:
Попробовал записАть так:

__________________________________________

IsTrack And InDifferentialPairClass('All Differential Pairs')

__________________________________________

IsPoly

__________________________________________

АД сказал, что в правиле ошибка, и не желаю ли я ошибку исправить. Т.е. IsPoly вообще не понимает.

 

 

 

 

 

Разные правила для выхода из-под микросхемы и трассировке вне ее в Expedition задаются с помощью Rule Area (и ширина дорожек внутри этой зоны, и зазоры в ней). Поэтому в AD сразу искала аналог и нашла его :) Нарисовала Room вокруг требуемой микросхемы. А потом задала правила внутри и вне ее.
Спасибо, но это не то, что мне надо. У меня не работает вполне конкретное правило. В целом вроде правилами пользоваться умею давно (в большей или меньшей степени).

 

 

Я делал так: с BGA вывводил пары вручную тонкими одиночными линиями, задав нужный зазор, а выйдя на простор - дифпарами. Хотя глючно всё весьма..
Я вообще управиться с differential pair routing не смог. Проводил дифференциальные пары как обычные. Увы...

А с полигонами пришлось поступить тупо, как в пикаде. Хотя это мне добавило ооооочень много неудобств.

Я создал правило для зазоров между дорожкой и любым объектом и поставил 0,2. Оно работает. Я его включаю на время заливки полигонов. Потом правило приходится отключать, чтобы на все остальные зазоры не ругалось. Для всего остального действует правило по умолчанию 0,15.

Короче мой вывод такой, что глюки свели на нет все преимущества AD перед пикадом, потому что в конечном счёте я этими преимуществами (гибкость правил) воспользоваться не смог, и пришлось делать всё по-тупому.

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


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

Появился ещё один вопросик по написанию правил. Не работает SCH Filter по такому правилу: HasParameter('Value','=Comment')

Дошло то, что при поиске автоматически выполняется подстановка того значения, на которое идёт ссылка. Галочку Convert Special Strings пробовал и включать, и выключать. Безрезультатно. Аналогично при выполнении команды Update Schematic in.. из редактора ПП поле Comment сравнивается только по значениям. Т.е. если в схеме в этом поле стоит =Value, а в ПП стоит конкретное значение то сравниваться будут сами эти значения. Также галочка Convert Special Strings ни на что не влияет.

Вопрос: как мне заставить фильтр найти параметр Value, в котором имеется именно специальная строка типа =Comment

?

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


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

Вопрос: как мне заставить фильтр найти параметр Value, в котором имеется именно специальная строка типа =Comment

?

ParameterValue = '=Comment'

 

или если принципиально

 

(ParameterValue = '=Comment') & (ParameterName = 'Value')

 

... при поиске автоматически выполняется подстановка того значения, на которое идёт ссылка...

Так задумано для гибкости поиска. :)

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


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

Прошу прощения, не указал один нюанс: мне нужно найти компонент, у которого имеются указанные условия.

(ParameterValue = '=Comment') & (ParameterName = 'Value') - я так делал, находит сам параметр, но не компонент.

Мне нужно найти сам компонент, т.к. с ним нужно проводить определённые действия. Да, у параметра в SCH List есть колонка Owner, но она мне ничего не даёт. Через неё выделить сами компоненты я не могу. Или я ошибаюсь? Поправьте, пожалуйста, если неправ.

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


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

Пока сделал так:

Сформировал в фильтре запрос

(ParameterValue = '=Comment') & (ParameterName = 'Value')

Поменял у всех поле Value на 'See_Comment'.

А потом уже использовал по-нормальному поиск по HasParameter('Value','See_Comment'). Т.е. я ушёл от специальных строк.

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


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

Да я вижу, что не читали. ПРоверял я это:

Да я тоже вижу, что Вы невнимательно читали. Я написал не IsPoly, а InPoly,

всего одна буква разница, а имеет большое значение. :)

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


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

dimay, простите, пожалуйста, был неправ.

Ваше InPoly заработало. Спасибо. Правда, слишком поздно, я уже так намучался, вручную. А плату уже отдал в производство :)

Единственное, что расстраивает - не было InPoly в списке Query Helper. Или я не туда смотрел? Получается, что этот хелпер неплолный, и мне нужно перечитывать всю докмуентацию, чтобы найти нужную мне функцию.

___________________________

Ещё раз был неправ. В хелпере нашлась такая функция, но среди attribute check. Кто бы мог догадаться... Ну да ладно, это вопрос стереотипов.

___________________________

 

Ещё, если нетрудно, разжуйте, пожалуйста, почему не заработало IsPoly? В чём нюанс? И если в моей задаче сработало InPoly, то в каком случае сработает IsPoly?

И почему не заработало InPolygonClass? (тоже слово In присутствует).

 

ЗЫ: а про проблему с Width не сможете что-нибудь посоветовать?

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


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

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

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

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

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

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

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

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

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

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