Uree 1 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Ну Вы спросили... когда это было. Уже и не помню. Проверил. SCS выглядит так: т.е. дополнительный зазор только для объектов Line. В итоге при трассировке не дает вести пары ближе, чем задано, DRC ошибок не показывает ни online, ни после batch-проверки. Выключил bubble, сдвинул трассы ближе допустимого, сразу получил три ошибки: Как и должно быть - один сегмент кофликтует с тремя сегментами трассы другой пары. Почему у Вас так не получается - понятия не имею... А насчет логичности ошибки не согласен. Посмотрите иерархию правил Аллегро - правила для диффпар на два уровня выше правил для класса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Как и должно быть - один сегмент кофликтует с тремя сегментами трассы другой пары. Интересно, откуда их там три? За счет изгибов? Почему у Вас так не получается - понятия не имею... А какая у Вас версия? А насчет логичности ошибки не согласен. Посмотрите иерархию правил Аллегро - правила для диффпар на два уровня выше правил для класса. Ну и что? Допустим, в SCS для класса описывается некое правило line-to-line. Допустим, в класс входят некие объекты, в т.ч. и дифпары. Где написано, по каким законам будет проверяться SCS класса применительно к этим дифпарам? Что такое "line" применительно к дифпаре, вот в чем вопрос! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Да, три сегмента нарушают зазор с сегментом другой пары: Версия у меня 16.5S030. А с иерархией все-таки поразбирайтесь. Вас же не удивляет, что правило для класса выше чем дефолтовое правило для дизайна и в итоге именно оно является определяющим при проверке? Нормально? Да. А почему тогда непонятно, что правило "Primary Gap" для диффпары выше в иерархии чем "Line-to-Line Clearance" для класса? Можно пойти еще выше по иерархии и на уровне цепи указать зазор меньший, чем Primary Gap пары - вот тогда получим ошибку, потому что правила для Net выше уровнем, чем правила для Differential Pair. Можно еще посмотреть какие правила для нужных объектов являются результирующими: Я вижу, что Аллегро трассы внутри пары проверяет только по правилам для диффпары. С другими объектами, не входящими в состав пары, начинают работать остальные правила. Поэтому внутри пары line - это член пары, и по отношению ко второй line будет действовать Primary Gap, а по отношению к остальным line правила дизайна/класса/цепи и т.д. ЗЫ Хотя мне никак не удалось получить ошибку зазоров внутри пары, даже прописыванием зазора прямо в редакторе на уровне Properties. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба А почему тогда непонятно, что правило "Primary Gap" для диффпары выше в иерархии чем "Line-to-Line Clearance" для класса? А потому что gap - это домен physical, а clearance - spacing. В этом месте они (домены) пересекаются. И я не могу от этого избавиться. И не понимаю, как Вам удалось. Можно еще посмотреть какие правила для нужных объектов являются результирующими: Это я все понимаю, но это не спасает. Ошибка возникает из-за того, что в домене spacing проводится проверка на предмет близости проводников, для которых правило определено в другом домене. Иерархия тут ни при чем, на всех картинках в хелпе показано, что все домены, якобы, независимы. Но это оказывается не так. ЗЫ Хотя мне никак не удалось получить ошибку зазоров внутри пары, даже прописыванием зазора прямо в редакторе на уровне Properties. Удивительно! Может, у Вас выключен какой-то режим? Давайте обменяемся нашими проектами! :) Ну или хотя бы кусочками. Вот, я специально сделал тестовый проект в 16.5. DRC горит! 165.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Нда... а мне удивительно как Вы сумели создать такую пару:) Neck параметры больше чем Primary, разброс зазора почти равен самому зазору - это как??? Отредактировал параметры пары - никаких DRC не осталось. Смотрите. 165_edited.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Я в шоке! :cranky: Какая ему разница-то???? Вы можете объяснить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 21 ноября, 2012 Опубликовано 21 ноября, 2012 · Жалоба Параметры пары, сами видите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба Параметры пары, сами видите? Конечно, вижу. Но не понимаю. :) Какая разница, какой там neck и прочее? Как это связано с DRC line to line? Какой-то баг, похоже. Щас буду исследовать, при каких условиях это проявляется. Иначе я как-то побаиваюсь работать с таким неадекватным софтом... UPD. Разобрался. Не был задан min line spacing для дифпары. Точнее, там был ноль. В доке сказано, что если min line spacing не задано (именно так: if you do not enter), то берется значение из line to line spacing для назначенного паре набора. В нашем случае набор резолвится до netclass-а (что есть правильно), а в нем стоит число, большее, чем gap, что и вызывает DRC. Tol +\- ни при чем. Мда... Ни за что бы не догадался, что ноль в их понимании - то же самое, что "do not enter"... Если хоть на сколько-нибудь увеличить этот параметр (например, записать 0.0001), то DRC тут же пропадают. Жестко. Спасибо, Uree, свежая голова - всегда хорошо. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба Да не за что, но так определять пару - это жестко:) Кстати вопрос - а зачем Вы определяете параметры для слоев, где этой пары не будет по определению? На плэйн слоях земли например. И зачем там вообще разрешена ее трассировка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба Да не за что, но так определять пару - это жестко:) Кстати вопрос - а зачем Вы определяете параметры для слоев, где этой пары не будет по определению? На плэйн слоях земли например. И зачем там вообще разрешена ее трассировка? Да я их так не определял. Я просто задал необходимый минимум, а min spacing и остальное уже и не помню откуда взялись. А на плэйнах получилось потому что я вначале задал на всех слоях, а потом задал на паре внутренних некие абстрактные значения просто с целью, чтобы они различались. И трассировка на них не разрешена, там у меня layer sets (или удалилось?). Это просто самое начало проекта, никаких реальных параметров еще не задано. Вот теперь я понял, как можно это сделать (кстати, на весь DDR пока что удается обойтись одним PCS и одним SCS) и теперь задаю реальные параметры. Теперь по теме остается один маленький вопрос: как увидеть DRC, если случайно зазор в паре увеличился? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба Такая ситуация даст DRC когда длина несвязанных сегментов станет больше заданной: раздел Electrical, закладка Differential Pair, параметр Uncoupled Length. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба Такая ситуация даст DRC когда длина несвязанных сегментов станет больше заданной: раздел Electrical, закладка Differential Pair, параметр Uncoupled Length. Точно. Ну, теперь, можно и тему закрывать. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться