Практический пример по импорту проекта из Altium Designer в Delta Design: шаги, подводные камни и решения

от автора

Привет, Хабр!

Меня зовут Илья, я руководитель группы инженеров по внедрению в компании ЭРЕМЕКС.

Одним из неотъемлемых этапов любого из проектов по тестированию и внедрению наших программных продуктов является этап конвертации данных из исторических систем заказчика. В этой статье я хотел бы описать один из показательных примеров импорта проекта из Altium Designer(R)  в Delta Design(ТМ), который мы проводили для нашего заказчика УП «АТОМТЕХ». Порядок и методы импорта в зависимости от используемых версий САПР или подходов к разработке могут отличаться. Тем не менее, представленный в статье вариант вы сможете использовать как список рекомендаций или инструкцию описывающую значительную часть возможных дополнительных операций, которые необходимо будет проделать помимо самой процедуры импорта/экспорта.

Процесс конвертации содержит следующие ключевые моменты:

Подготовка исходного проекта в Altium Designer.

⦁ Проведена верификация проекта.

Для верификации в  Altium Designer  требуется настройка в окне Error Reporting: события Missing components models, Floating net labels, Floating power objects, Nets with multiple names, Nets with only one pin переводятся в разряд Error/Fatal Error. 

В моем случае из-за особенностей проектирования Э3 некоторые объекты (выводы соединителей, ТТ) попадают в список ошибок по ERC:

Объекты схемы с ошибкой по ERC

Объекты схемы с ошибкой по ERC

С точки зрения импорта данная ситуация может быть проигнорирована. 

⦁ Проверка графических и электрических объектов на схеме и плате.

Также следует обратить внимание, что часть объектов Э3 могут быть выполнены не электрическими, а графическими объектами (например, групповая линия передачи цепей), что является особенностью оформления схем согласно требованиям ГОСТ в Altium Designer. В дальнейшем, после импорта, необходимо с особым вниманием отнестись к верификации этих объектов.

На плате в  Altium Designer присутствует область запрета, размещенная в multi-layer в виде region – на текущий момент такой объект корректно перенесен не будет, его необходимо отрисовать линией по периметру на keep-out слое, а после импорта – восстановить как регион запрета.

Область запрета в Altium Designer(R)

Область запрета в Altium Designer(R)

⦁ Синхронизация схемы с платой 

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

Формирование библиотеки на основе проекта для предварительной ее передачи в Delta Design.

Данная процедура позволяет заранее передать библиотеку, верифицировать ее после передачи, сделать «глобальной» библиотекой и уже затем осуществлять импорт проекта с привязкой к ней. Для удобства выбран формат библиотеки intlib.

Ремарка. Самый правильной маршрут импорта – предварительно подготовить и передать исходную библиотеку AD в DD, если у вас она ведется централизованно. В моем случае, так как библиотека не предоставлена, импорт был произведен с применением описанного выше подхода.

Из особенностей: полученная библиотека может содержать компоненты, не имеющие префикса позиционного обозначения, и по своей логике не вписывающиеся в формат ведения компонентной базы DD. В моем случае это Voltage Description Vertical и Led Arrow. Рекомендация: сформировать полноценные компоненты на основе УГО диодов/резисторов.

Некоторые компоненты могут иметь скрытые выводы, не подкрепленные КП в ПМ. К этим объектам после импорта необходимо отнестись с особым вниманием.

Импорт библиотеки в Delta Design.

⦁ Активируются опции «Рассортировать компоненты по семействам» и «Импорт 3D моделей».

Таблица соответствия семейств компонентов

Таблица соответствия семейств компонентов

Пустая строка – это мои Voltage Description Vertical и Led Arrow.

Для передачи значений основных атрибутов необходим ряд подготовительных действий: корректировка стандарта Семейства компонентов в DD либо приведение к общему виду всех атрибутов на стороне AD. В рамках текущей задачи импорта в качестве примера для компонентов типов Резистор, Конденсатор и Диод, стабилитрон добавлены соответствующие заполненным в AD параметрам атрибуты.

По результатам передачи данных в отчет помещены 4 события:

По результатам передачи данных в отчет помещены 4 события:

108 – отсутствие ПМ, 

156 – дублирование выводов УГО, 

355 и 356 — вызваны использованием скрытых выводов в УГО, устранены вручную после импорта.

Библиотека импортирована с разнесением компонентов по каталогу согласно принадлежности к семействам в формате «как было в AD». При необходимости можно объединить однотипные компоненты в радиодетали одного элемента. Проделать это можно либо вручную после импорта, либо, предварительно сформировав таблицу компонентов на стороне AD, импортировать ее в DD в состав радиодеталей отдельного компонента.

⦁ После импорта библиотек проделано следующее:

УГО резисторов неверно передается и требуют корректировки. Подобное поведение связано, в первую очередь, с шагом сетки 100 мил и нулевой длиной выводов – при пересчете на сетку 2.5 произошла модификация графики. Устраняется такое вручную. В дальнейшем рекомендуется подобные резисторы импортировать в виде таблицы радиодеталей, тогда УГО может быть использовано готовое из «Стандартов» Delta Design и будет общим для однотипных компонентов.

УГО резистора после импорта

УГО резистора после импорта

Аналогичная ситуация может возникнуть и с другими типами компонентов, например, соединителями, предохранителями – их также необходимо корректировать в части графики.

Импорт проекта в Delta Design.

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

M1 и M2 – 3D модели компонентов.

M5 и M6 – сборочные слои.

M11 и M12 – вспомогательные слои.

Меню "Классы слоев" в Delta Design

Меню «Классы слоев» в Delta Design

Такой подход облегчает читаемость платы и позволяет максимально приблизить результат импорта к исходнику.

  • На первом шаге мастера импорта следует отключить импорт вспомогательных плат мультизаготовки. При необходимости подобная заготовка может быть сформирована отдельно на основе проекта ПУ в системе DeltaCAM (наш аналог CAM350) 

Выбор файлов для импорта

Выбор файлов для импорта
  • На втором шаге система проводит анализ импортируемого проекта и формирует список найденных ошибок и предупреждений. В текущем проекте в раздел предупреждений попадают события типа:

Список предупреждений по результатам анализа

Список предупреждений по результатам анализа

Для импорта эти события ошибками не являются, т.к. подобным образом DD реагирует на составные (многосекционные) компоненты.

  • На третьем шаге необходимо установить соответствие семейств компонентов проекта с семействами DD – настраивается аналогично соответствующему шагу мастера импорта библиотек.

  • Четвертый шаг – необходимо выбрать формат импорта компонентов проекта – в виде отдельной (локальной) библиотеки либо же с установкой соответствия с уже имеющейся библиотекой. После выбора имеющейся библиотеки система снова сигнализирует об ошибках в компоненте:

Окно сопоставления компонентов

Окно сопоставления компонентов

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

  • Пятый, заключительный шаг – установка соответствия между механическими слоями AD и документирующими слоями DD. 

Работа после импорта

Необходимо восстановить область запрета объектом типа Регион.

Регион запрета в Delta Design

Регион запрета в Delta Design

Области металлизации повторяют форму внешней границы полигонов, однако залиты без применения правил заливки. Эти настройки необходимо перенести вручную в раздел Стили металлизации DD. Пример для области металлизации слоя питания Int2 приведен ниже.

Настройка правил заливки в Altium Designer

Настройка правил заливки в Altium Designer
Настройка правил заливки в Delta Design

Настройка правил заливки в Delta Design

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

Исходный вариант платы в Altium Desogner

Исходный вариант платы в Altium Desogner
Результат после заливки металлизации в Delta Design

Результат после заливки металлизации в Delta Design

Из изображений видно, что области металлизации не соответствуют оригиналу в части отступов (зазоров) до других цепей. Для устранения необходимо перенести в DD используемые в AD правила проектирования, т.к. на текущий момент автоматического импорта не предусмотрено.

Меню DRC в Altium Designer

Меню DRC в Altium Designer

Также важно сформировать правило запрета размещения металлизации при ее заливке в областях запретов (Регион в DD).

После перезаливки областей металлизации плата приобретает следующий вид:

Результат с учетом применения правил проектирования

Результат с учетом применения правил проектирования

Области металлизации не на 100% идентичны исходной меди, но с высокой степенью ей подобны.

Проект содержит варианты исполнения. В актуальной версии DD 4.2 исполнения реализованы на уровне схемы и КД, однако перенос при импорте пока не реализован, поэтому таблицу Variants необходимо перенести вручную в интерфейс свойств проекта DD.

Таблица вариантов в Altium Designer

Таблица вариантов в Altium Designer
Таблица вариантов в Delta Design

Таблица вариантов в Delta Design
 Визуализация одного из вариантов в Altium Designer

Визуализация одного из вариантов в Altium Designer
 Визуализация одного из вариантов в Delta Design

Визуализация одного из вариантов в Delta Design

Отчеты и сборочный чертеж ПП для проекта после импорта можно сформировать в автоматизированном режиме при помощи мастера создания КД.

Заключение

Практический опыт внедрения и миграции данных между любыми САПР показывает, что идеального, полностью автоматизированного переноса «в один клик» не существует.

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

Наша задача как вендора и внедренцев в этом случае заключается не в обещании 100% автоматизации, а, скорее, в максимальном сокращении объема таких ручных операций.

Наша команда как разработчик/интегратор видит своей задачей именно такую работу: не просто предоставить инструмент, а стать вашим технологическим партнёром. Мы готовы предложить комплексный подход — от глубокого анализа ваших задач и процессов до полного сопровождения проекта внедрения, включая в том числе и доработки нашей САПР. 

Давайте обсудим, как мы можем оптимизировать и автоматизировать именно ваш рабочий процесс.

ссылка на оригинал статьи https://habr.com/ru/articles/1054072/