Фильтр по тематике

Delta Design 4.0. Помощник формирования текстовых правил проектирования топологии печатных плат

В предыдущей статье «Delta Design 4.0. Задание правил проектирования топологии печатных плат в текстовом виде. Как это понимать» («Современная электроника» № 9, 2024 г.) мы рассмотрели появившийся в версии Delta Design 4.0 (www.eremex.ru) новый текстовый редактор правил проектирования топологии печатных плат и базовые принципы построения текстового описания правил. Настоятельно рекомендуем прочитать её перед тем, как приступить к чтению предлагаемого материала, который рассматривает «Помощник формирования правил» – пользовательский интерфейс, облегчающий формирование строки правил.

Delta Design 4.0. Помощник формирования текстовых правил проектирования топологии печатных плат

Зачем нужен «Помощник формирования правил»

Вполне очевидно, что текстовый способ задания правил проектирования обладает неоспоримым преимуществом: гибкостью и практически неограниченными возможностями расширения. Чтение и понимание текста правил для человека, который осознал основные принципы построения строк, даже просто прочитав предыдущую статью, не должны создавать особых проблем. Попробуйте сделать это самостоятельно, изучив фрагмент описания правил на рис. 1.

Другое дело, если вам предложат самостоятельно написать подобные правила. Надо держать в памяти ключевые слова и конструкции, имена цепей, слоёв, регионов и т.д. Думается, что справиться с этим может только очень опытный пользователь.

«Помощник формирования правил», сокращённо Помощник, позволяет пользователю, особенно начинающему, сконструировать строки правил, обеспечивая доступ к шаблонам языковых структур и данным проекта, необходимым для формирования правила. Надо сразу подчеркнуть, что Помощник не является заменой текстового редактора, его задача именно помочь создать новую строку правил. На рис. 1 показан редактор правил со свёрнутым Помощником. В этом режиме область текстового редактора в рамках окна максимизируется, что позволяет одним взглядом охватить значительную часть правил (а для простых проектов и весь набор правил). Рисунок 2 представляет полностью развёрнутый Помощник, а рис. 3 – частично свёрнутый, где присутствует только небольшая панель управления строками правил.

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

На рис. 4 представлен список шаблонов строк, формируемых при создании строки в порядке, соответствующем порядку, представленному на рис. 3, в выпадающем списке типов правил. Заметим, что текстовый редактор подсвечивает строки правил с ошибками. Сразу видно, что шаблон – это не законченное правило, а общая синтаксическая конструкция для правила определённого типа. Даже для продвинутых пользователей, предпочитающих создавать текстовое описание правил непосредственно в редакторе, использование шаблона позволит ускорить формирование строки и избежать лишних ошибок в синтаксисе, создав шаблон и заполнив его уже в редакторе.

Разбираем, как сформировать простое правило

В полностью развёрнутом виде Помощник позволяет заполнить поля только что созданного шаблона. Для каждого типа правил предусмотрена своя диалоговая форма. Мы не будем здесь рассматривать все поддерживаемые формы, важно понять основные принципы. На рис. 5 (a–h) представлены шаги по заполнению шаблона правил «Максимальное число ПО в цепи» (одного из самых простых). На рис. 5а мы видим две строки с шаблоном соответствующего правила.

Верхняя строка была создана заранее для сравнения. Нижняя строка только что создана, и Помощник позволяет редактировать поля шаблона с помощью специальной диалоговой формы. В строке Цепь: собраны управляющие элементы для заполнения поля предиката, обозначенные в шаблоне как <Nets>.

Рисунок 5b показывает результат нажатия кнопки Добавить для случая, когда в качестве выбранной цепи выбрано значение Любая.

Рисунок 5с показывает результат изменения числа разрешённых переходных отверстий с «0» на «1». Заметим, что изменение значений параметров автоматически отражается в полях параметров строки шаблона.

Сразу же отображается и текст комментария. Для полей предикатов поведение другое. Это принципиальное ограничение, которое связано с тем, что текстовое представление может поддерживать сложно структурированные логические выражения, отражение которых один в один с помощью простого пользовательского интерфейса не всегда возможно. Строка правила в варианте на рис. 5b и 5с уже функциональна и не содержит ошибок, что сразу же отражается на подсветке.

Рисунок 5d иллюстрирует нажатие кнопки Очистить, которая возвращает поле предиката в состояние, соответствующее изначальному шаблону.

Рисунки 5e, 5f, 5g показывают процесс заполнения поля предиката цепи: сначала происходит выбор цепей и классов цепей в списке (список оформлен как фрагмент логического выражения в соответствии с синтаксисом языка описания правил).



После подтверждения в списке выбор цепей отражается как логическое выражение, которое можно добавить в поле предиката строки правил.

В данном примере был выбран класс цепей «Power» и цепь «GND», результирующее логическое выражение в предикате выглядит как (NetClass="Power" || Net="GND").

Рисунок 5h показывает результат дополнительного выбора цепей «MDDR_DQ5» и «MDDR_DQ0».

После выбора этих цепей и добавления окончательное логическое выражение в поле предиката строки выглядит следующим образом:

(NetClass="Power" || Net="GND") || (Net="MDDR_DQ5" || Net="MDDR_DQ0"),
т.е. добавление нового фрагмента логического выражения обрамляется скобками. В данном случае это может показаться излишним, но при формировании предикатов, например, в формах для зазоров (рис. 6), это часто принципиально необходимо.

Формируем правило «Зазоры»

Форма для создания строки правил, задающих Зазоры, предполагает формирование трёх полей предикатов. Первые два предиката осуществляют фильтрацию объектов цепей по типу объекта и имени цепи (имени класса). Третий предикат определяет место применения правил с учётом фильтрации по слоям (классам слоёв), регионам и областям заданного стека слоёв (рис. 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) особой специфики нет, но они одни из самых используемых и самых насыщенных параметрами.

Важное замечание

В настоящее время Помощник позволяет только создавать новые строки правил. При переходе на уже существующую строку правил выдаётся сообщение о том, что редактирование ранее созданного правила возможно только в текстовом виде (рис. 12).

В дальнейшем предполагается допустить возможность частичного редактирования (по крайней мере, параметров), но, как мы говорили, возможности языка описания правил гораздо шире, чем любого пользовательского интерфейса.

Итак, в этой статье мы рассмотрели «Помощник формирования правил» для нового текстового редактора правил проектирования топологии печатных плат, появившегося в версии Delta Design 4.0. Пользовательский интерфейс Помощника позволяет сформировать набор правил, достаточный для любого проекта печатных плат. При этом текстовый редактор остаётся базовым инструментом работы с правилами. Продвинутые пользователи могут использовать все возможности языка. Но и для них Помощник будет весьма полезен, обеспечивая доступ к данным проекта, формируя корректные конструкции правил, которые можно впоследствии оптимизировать.

© СТА-ПРЕСС, 2025

Комментарии
Рекомендуем
Переключатели ёлочных гирлянд  на основе ИМС стандартной логики электроника

Переключатели ёлочных гирлянд на основе ИМС стандартной логики

Светодинамические устройства (СДУ) для управления гирляндами обычно выполняются на основе микроконтроллера, что требует применения программатора и написания управляющей программы. В то же время аналогичное устройство можно выполнить всего на нескольких ИМС стандартной логики. В таком случае нет необходимости в применении программатора для прошивки микроконтроллера. В данной статье рассмотрены три автомата с фиксированными алгоритмами для управления четырьмя и восемью гирляндами. В качестве светоизлучающих элементов используются сверхъяркие светодиоды. Их высокая надёжность и малое энергопотребление обеспечивают работоспособность в течение длительного времени и высокую экономичность при высокой яркости свечения.
25.12.2024 СЭ №1/2025 132 0
Недорогой двухканальный преобразователь несимметричного (однотактного) сигнала в симметричный (дифференциальный) на базе ИУ INA2128 и двух ОУ OP2177 и ADA4522-2 электроника

Недорогой двухканальный преобразователь несимметричного (однотактного) сигнала в симметричный (дифференциальный) на базе ИУ INA2128 и двух ОУ OP2177 и ADA4522-2

В статье описан двухканальный предварительный усилитель-формирователь, преобразующий два простых (несимметричных) сигнала в соответствующие им дифференциальные (симметричные) на базе сдвоенного ИУ INA2128 и двух сдвоенных ОУ OP2177 и ADA4522-2 с возможностью регулировки смещения (балансировки) между двумя дифференциальными выходными сигналами. По сравнению с предварительным усилителем на базе двух ИУ AD8295, описанным в [1] и предназначенным для работы с мощными ОУ, включёнными по мостовой схеме в усилителе звука, настоящий преобразователь в несколько раз дешевле, а по качеству не уступает преобразователю на базе ИУ AD8295, стоимость которого в настоящее время весьма высока (от 1000 до 2000 руб. за штуку). Приведены принципиальная схема устройства, разводка и внешний вид его платы, а также результаты тестирования.
25.12.2024 СЭ №1/2025 101 0

  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться