Современная электроника №9/2024
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 8 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА • № 9 / 2024 Заметим, что союз «и» в предло- жении заменяется операцией «Или» (||). Кажется, что использование операции «И» ( && ) здесь вообще не потребуется, поскольку правило определяет требования к цепи, а не к паре объектов. Но вот в формах с отрицанием оно может быть впол- не себе уместно и удобно, например, в выражении: (NetClass !="Земля" && NetClass !="Питание"), которое на словах будет звучать как «все цепи, не входящие в классы “Зем- ля” и “Питание”». Выражение Any говорит, что правило будет действо- вать для всех цепей. Чтобы задать пра- вило ширины, действующее по всей плате, мы можем написать: Width: (Any) on (Anу) = или Width: (Any) =, опустив предикат места, так же, как и при задании зазоров. Набор значений в правой части строки организован таким же обра- зом, как и для зазоров, в виде скобоч- ной формы с фигурными скобками: {MinWidth: Значение; NominalWidth: Значе - ние; NeckWidth: Значение; NeckMaxTotalLength: Значение; NeckMaxLocalLength: Значение}. Набор значений такойже, как и в вер- сии 3.7: минимальная ширина трека ( MinWidth или Min ); номинальная ширина трека ( NominalWidth или Nom ); ширина зауженного трека ( NeckWidth или Neck ); максимально допустимая сум- марная длина зауженных участ- ков ( NeckMaxTotalLength или NeckGlobal ); максимально допустимая дли- на одного зауженного участка ( NeckMaxLocalLength, NeckLocal ). Интегрально формат строки для зада- ния ограничений на ширины треков выглядит как: Width: (ПредикатN) on (ПредикатP) = {MinWidth: Значение; NominalWidth: Значение; NeckWidth: Значение; NeckMaxTotalLength: Значение; NeckMaxLocalLength: Значение}. Если мы хотим задать набор пара- метров для ширины треков для цепи «ВХОД8» на слое «L1» в регионе «BGA», то это может выглядеть так: Width: (Net="ВХОД8") on (Layer="L1" && Region="BGA") = {MinWidth: 0,1; NominalWidth:0,2; NeckWidth: 0,08; NeckMaxTotalLength: 1,8; NeckMaxLocalLength: 0,9}. Не забываем, что не обязатель- но задавать все параметры в одной строке правил и можно организовать «иерархические» правила. Width: (Net="ВХОД8") on (Layer="L1" && Region="BGA") = {NominalWidth: 0,2}. Width: (Any) = {MinWidth: 0,1; NominalWidth: 0,3; NeckWidth: 0,08; NeckMaxTotalLength: 1,8; NeckMaxLocalLength: 0,9}. Последние две строчки, с точки зре- ния задания параметров ширины для цепи «ВХОД8», эквивалентны преды- дущей строчке. Но, задав общий базо- вый набор параметров для всех цепей на нижнем уровне, на более верхнем можно определять только существен- ные параметры. Важное замечание: заданные в стро- ке Width параметры ширины треков действуют только для регулярных цепей, для треков диффпарных цепей параметры задаются другим правилом: DiffPair: (ПредикатN) on (ПредикатP) = {MinWidth: Зна - чение; NominalWidth: Зна - чение; NeckWidth: Значение; MinGap: Значение; NominalGap: Значение; NeckGap: Значение; NeckMaxLocalLength: Значе - ние; NeckMaxTotalLength: Зна - чение; GapTolerance+: Значе - ние; GapTolerance-: Значение; LengthDelayTolerance: Значение; LocalUncoupledLength: Значение; GlobalUncoupledLength: Значение; IncludeGathering: Значение}. Рис. 3. Табличное представление «электрических» правил
RkJQdWJsaXNoZXIy MTQ4NjUy