Современная электроника №1/2025

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 9 WWW.CTA.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА • № 1 / 2025 Рис. 9. Формы «Выравнивание длин/задержек сигналов внутри группы» (a) и «Ограничения на длину/задержку сигналов» (b) Рис. 7. Выбор объекта и цепи для добавления в предикат (Вариант 1) Рис. 8. Выбор объекта и цепи для добавления в предикат (Вариант 2) объекта и имени цепи (имени клас- са). Третий предикат определяет место применения правил с учётом фильтра- ции по слоям (классам слоёв), регио- нам и областям заданного стека сло- ёв (рис. 6a). Как мы уже показали на предыдущем примере, выбор объектов для формирования предикатов реали- зован таким образом, чтобы уже в про- цессе выбора объекты проекта были интегрированы в конструкции языка. Так, пользователь, выбирая тип объек- та «Трек», сразу же видит, что фильтра- ция по трекам осуществляется выраже- нием IsTrack (6b), фильтрация по цепи «GND» – выражением Net="GND" (6c), по слою «SIGNAL_TOP» – выражением Layer="SIGNAL_TOP" (6d), по региону «Region0» – Region="Region0" (6e) и т.д. Таким образом достигаются цели пря- мого доступа к данным проекта, соблю- дения и изучения формата языка. Выбор, сделанный в выпадающем списке, отражается в виде результи- рующего выражения, где выбранные пункты объединяются через операцию «Или» ( || ) (рис. 6f). А вот выражения из разных списков (в рамках одного предиката) объединяются через опера- цию «И» ( && ). Для примера, на рис. 6f после нажатия Добавить для всех трёх предикатов сформируется строка: Clearance: (((IsTrack || IsVia) && (NetClass="Power" || Net="GND")); Any) on (((Layer="SIGNAL_TOP" || LayerClass="SIGNAL_BOTTOM") && Region="Region0")) = {Min:0,3; Nom:0,5}. Здесь как раз видно, что поля из левых и правых списков объединяют- ся по «и», а также становится понят- ным, зачем каждое выражение обрам- ляется скобками. Отметим также, что в случае выбора всех пунктов списка (значения Любая, Любой ) в обоих полях при добавлении формируется выражение Any . На рисунках ниже представлены два варианта дополне- ния первого предиката и результиру- ющие строки после добавления. Результирующая строка для Вари- анта 1 (рис. 7): Clearance: (((IsTrack || IsVia) && (NetClass="Power" || Net="GND")) || (IsMetal && Net="GND"); Any) on (((Layer="SIGNAL_TOP" || LayerClass="SIGNAL_BOTTOM") && Region="Region0")) = {Min:0,3; Nom:0,5}. Результирующая строка для Вари- анта 2 (рис. 8): Clearance: (((IsTrack || IsVia) && (NetClass="Power" || Net="GND")) || IsMetal); Any) on (((Layer="SIGNAL_TOP" || LayerClass="SIGNAL_BOTTOM") && Region="Region0")) = {Min:0,3; Nom:0,5}. Заметим, что в последнем случае выбор цепи «Любая», в соответствии с правилами языка, просто не отобра- жается, добавляется только || IsMetal . Ещё несколько правил На примере двух правил мы пока- зали основные принципы работы с помощником формирования строки правил. Мы не будем разбирать фор- мы для всех правил, при понимании изложенных выше принципов рабо- та с ними не должна вызвать затруд- нений, отметим только часть из них, имеющую некоторые особенности. Форма для задания правил вырав- нивания в группах сигналов (рис. 9a) позволяет конструировать выражение предиката на основании имён групп. Форма для задания ограничений на сигналы (рис. 9b) работает с именами сигналов, сгенерированными на осно- ве имён пары выводов, задающих сиг- нал. Отличительная особенность этой формы – возможность выбрать альтер- нативный вариант набора параме- тров. Обе формы имеют возможность задания единиц измерения (связано это с тем, что ограничения могут быть выражены как в единицах измерения длины, так и во временны́х единицах). Формы для задания правил разре- шения Т-соединений (рис. 10a) и раз- решённых стилей переходных отвер- стий (рис. 10b) имеют разные способы задания параметров. В формах для задания ширин треков (рис. 11a) и параметров дифференциаль- ных пар (рис. 11b) особой специфики нет, но они одни из самых используемых и самых насыщенных параметрами. a) b)

RkJQdWJsaXNoZXIy MTQ4NjUy