![](https://habrastorage.org/webt/ov/zz/lc/ovzzlcugwfnyt5nstvrg6t9el3e.png)
Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не справляется с поставленными задачами и необходимо продолжить разработку в более мощном решении.
В данной статье я вам покажу, что трансляция проекта из Altuim это достаточно простой процесс.
Все самое интересное под катом.
![](https://habrastorage.org/webt/2h/m3/me/2hm3mee1kblrzivhbxst-hcpxnu.png)
PADS Professional обладает набором трансляторов, которые помогут вам без труда перенести проекты и библиотеки из всех популярных САПР (Allegro, Altium Designer, CADSTAR, OrCAD, P-CAD и Protel).
Сегодня мы подробно остановимся именно на трансляции проектов и библиотек из Altium Designer.
Порядок Трансляции
![](https://habrastorage.org/webt/zw/4i/5k/zw4i5k3m35cbzwzkpgtpqqowoxg.gif)
- В первую очередь для того, чтобы процесс трансляции прошел успешно, нужно убедиться в том, что схема полностью синхронизирована с топологией в самом Altium. Мы, конечно, можем транслировать и не синхронизированные проекты, но это с большей вероятностью приведет к ошибкам в процессе трансляции.
- После этого нам нужно создать пустую библиотеку, в которую мы в ходе трансляции добавим символы, посадочные места и компоненты из нашего проекта.
- Следующим шагом нам нужно будет перечислить посадочные места, в которых содержатся монтажные отверстия и указать их в специальном файле.Зачем это?.Это мы делаем для того, чтобы сохранить правильную информацию о количестве контактных площадок в компоненте. Так как транслятор при переводе футпринта, который состоит, например из 5-ти пэдов и 2-х монтажных отверстий, преобразует его в футпринт с 7-ю пэдами, если мы не укажем эти монтажные отверстия в специальном файле.
- Далее мы транслируем в нашу созданную библиотеку информацию о футпринтах и контактных площадках, для этого мы будем использовать файл топологии.
- После этого мы транслируем схему, а также все символы УГО и информацию об компонентах в нашу библиотеку.
- Затем мы транслируем всю топологию из Altium.
- И последний и один из самых важных, наверное, шагов, мы выполняем упаковку проекта и синхронизацию схемы и топологии. Для того, чтобы все последующие изменения в топологии или схеме автоматически синхронизировались друг с другом, и мы были уверены в целостности данных.
Поддерживаемые форматы проектов и библиотек
Поддерживаются следующие типы файлов:
- Файлы схем (*.sch) в двоичном формате, а также в формате ASCII, включая схемы, хранящиеся в базе данных проектирования Protel (*.ddb)
- Файлы проекта печатной платы Altium Designer (*.prjpcb)
- Файлы библиотек Protel 99 (*.lib), включая библиотеки схем, хранящиеся в базе данных проектирования Protel (*.ddb)
- Файлы схем (*.schdoc) в двоичном формате, а также в формате ASCII.
- Файлы библиотек (*.schlib и *.intlib)
Что нам нужно для успешной трансляций
- Это, собственно, сам PADS Professional и лицензия на него.
- Конечно нам нужен проект в Altuim (*.PrjPcb, *.SchDoc, *.PcbDoc)
- Как я говорил ранее проект должен быть синхронизирован на стороне Альтиум.
- Список монтажных отверстий, которые находятся в футпринтах. Если его нет, ничего страшного, можно будет поправить руками потом, либо перетранслировать проект заново.
Процесс трансляции
Синхронизация проекта в Altium Designer
И так в первую очередь нам нужно чтобы проект в Altium уже был синхронизирован (скомпилирован). Описывать процесс компиляции проекта на стороне Altium я не буду, так как сам в нем практически не работал. Весь процесс достаточно подробно описан ТУТ.
Так как у меня нет лицензии Altium, я нашел уже синхронизированный проект.
![](https://habrastorage.org/webt/m4/kn/ig/m4knigapxg5v_tpow85tpyvp-do.png)
Создание библиотеки проекта
Теперь нам нужно создать пустую библиотеку под наш проект, для этого запускаем PADS Designer:
- Переходим на вкладку создания нового проекта и сначала создаем библиотеку. Для этого кликаем на соответствующую иконку, указываем директорию, где будет хранится наша библиотека и задаем ей имя. У нас создастся пустая библиотека и в ней будет несколько стандартных символов, а также стандартные разделы.
- Далее указываем название самого проекта и нажимаем Create, для того чтобы создать проект, связанный с библиотекой, которую мы только что создали.
![](https://habrastorage.org/webt/ii/as/90/iias90q28ak_mssxly6pm2x5ddy.png)
И так мы имеем пустой проект, давайте откроем библиотеку (Tools-->PADS Library Tools) и посмотрим на нее.
Мы видим, что в библиотеке уже автоматически создались стандартные разделы для символов, компонентов и посадочных мест, а также сами символы, например рамки листов.
![](https://habrastorage.org/webt/_y/tb/-g/_ytb-gzit9fewdnxkyozvmrmmkk.png)
Определение монтажных отверстий
Следующим шагом нам необходимо определить футпринты, в которых содержатся монтажные отверстия и прописать их в конфигурационных файлах.
Подробнее
Для корректной трансляции футпринтов, содержащих монтажные отверстия, нам необходимо будет отредактировать 2 файла alt2pads.ini и ppcb2hkp.ini. Эти файлы находятся в установочной директории PADS Professional.
Синтаксис в этих файлах следующий: нам нужно указать название футпринта, который содержит монтажные отверстия, затем перечислить имена этих монтажных отверстий.
Если мы не сделаем этот шаг либо сделаем его неправильно, мы можем получить вот такую ошибку при Forward Annotation:
![](https://habrastorage.org/r/w1560/webt/0k/gq/ty/0kgqtybq-3wfhcs_crpvkyastyg.png)
Которая говорит нам, что футрпинт TO-263 имеет 4 контактных площадки, хотя в информации на сам компонент у нас прописано только 3. Это значит, что при трансляции монтажное отверстие превратилось в пэд и соответственно, увеличило общее число пэдов в футпринте.
Синтаксис в этих файлах следующий: нам нужно указать название футпринта, который содержит монтажные отверстия, затем перечислить имена этих монтажных отверстий.
Если мы не сделаем этот шаг либо сделаем его неправильно, мы можем получить вот такую ошибку при Forward Annotation:
![](https://habrastorage.org/webt/0k/gq/ty/0kgqtybq-3wfhcs_crpvkyastyg.png)
Которая говорит нам, что футрпинт TO-263 имеет 4 контактных площадки, хотя в информации на сам компонент у нас прописано только 3. Это значит, что при трансляции монтажное отверстие превратилось в пэд и соответственно, увеличило общее число пэдов в футпринте.
- Переходим в директорию, где хранятся эти файлы. Если вы при установке не меняли директорию, то это будет: C:\MentorGraphics\PADSProVX.2.5\SDD_HOME\pads\win32\bin
- Первый файл, который нам нужен это alt2pads.ini. Давайте откроем его. Здесь вы увидите много информации, так как в этом файле содержится конфигурационная информация и для других трансляторов. В нашем случаем нас интересует раздел [Protel mounting Holes].
- Нам здесь нужно указать префикс, используемый для обозначения монтажных отверстий. Здесь уже стоит стандартный вариант MH и в данном случаем он мне подходит. Если в ваших проектах монтажные отверстия обозначаются по-иному, то необходимо указать это здесь.
- Ну и самое главное, нам нужно перечислить футпринты, которые содержат монтажные отверстия. В моем случае это один футпринт. Вводим его название PSC 1.5/5, далее ставим знак равенства и в кавычках перечисляем сами монтажные отверстия. У меня это M1 и M2. Если есть еще такие футпринты, то каждый из них нужно прописать с новой строчки.
- После редактирования не забываем сохранить изменения (Файл-->Сохранить).
Нам нужно отредактировать еще один файл это ppcb2hkp.ini. Открываем его и убеждаемся в том, что PinNumberPrefix здесь указан точно такой же как мы задали в файле alt2pads.ini.
![](https://habrastorage.org/webt/0i/tj/-w/0itj-wvtogtmx0t9fzaymp1ltlu.png)
Сохраняем изменения и двигаемся дальше.
Почему мы указываем эти данные в разных конфигурационных файлах?
Раньше процесс трансляции проектов из Altium в PADS Pro проходил в 2 этапа:
Начиная с версии VX2.4 транслятор обновился и теперь он этот промежуточный шаг делает автоматически в фоновом режиме. То есть он по-прежнему транслирует сначала в PADS Standard/Standard+ затем из PADS Standard/Standard+ в PADS Pro, но для нас для пользователей это все происходит за одну итерацию.
- Трансляция из Altium в PADS Standard/Standard+
- Трансляция из PADS Standard/Standard+ в PADS Pro.
Начиная с версии VX2.4 транслятор обновился и теперь он этот промежуточный шаг делает автоматически в фоновом режиме. То есть он по-прежнему транслирует сначала в PADS Standard/Standard+ затем из PADS Standard/Standard+ в PADS Pro, но для нас для пользователей это все происходит за одну итерацию.
Возвращение трансляторов в меню пуск
Один нюанс, который я хотел бы затронуть перед запуском самого транслятора это то, что начиная с версии VX2.5 Mentor Graphics почему-то убрал из меню пуск раздел трансляторы. Если у вас PADS Pro VX.2.5 и вам нужно запустить какой-то из трансляторов, то нужно будет залезть в установочную директорию и там их найти, либо запустить через командную строку. Я сейчас покажу способ как вернуть все ярлыки в меню пуск.
- Открываем через блокнот файл startmenu.ini. Он расположен по адресу C:\MentorGraphics\PADSProVX.2.5\SDD_HOME\pads\win32
- Здесь нам необходимо раскоментить все строчки в этом файле, для этого нужно удалить точки с запятой в начале каждой строки.
- Удобней всего это сделать через функцию заменить (Правка-->Заменить). Указываем точку с запятой в строке что заменить, а вторую строку оставляем пустой и нажимаем заменить все. После замены файл будет выглядеть так:
- Сохраняем все изменения.
- Теперь нам нужно заново зарегистрировать приложение, для этого идем в меню пуск и запускаем MGC BSD Release Switcher.
- Ставим галочку Don’t Unregister Anything, а из второго списка выбираем нашу рабочую версию приложения PADS PRO VX2.5 и нажимаем ОК.
- Ждем пока завершится процесс регистрации приложении.
- После завершения у вас в меню пуск в разделе PADS Pro Tools появятся трансляторы.
Трансляция футпринтов и контактных площадок
Теперь запускаем транслятор для того, чтобы транслировать футпринты и контактные площадки в нашу библиотеку. В разделе трансляторов выбираем Altium to PADS Pro
![](https://habrastorage.org/webt/pj/mk/uq/pjmkuqysnobe6yfyned2ytbxatk.png)
- В первой строке указываем файл платы Altium с расширение PcbDoc
- Во второй строчке указываем файл пустого проекта DxDesigner, который мы создавали ранее
- Поставьте обе галочки Translate Design и Update Central Library это автоматически создаст проект платы с расширением pcb, обновит нашу библиотеку и добавит туда все контактные площадки и футпринты из проекта.
- Нажимаем Translate.
- Дожидаемся сообщения об успешной трансляции.
- Если вы увидели сообщение «Translation succeeded. Check log for details», то все отлично можно двигаться дальше.
- Можно также подробнее посмотреть информации о процессе трансляции, открыв соответствующий лог. Его можно найти в директории с проектом в папке PCB-->LogFiles. Здесь перечислены все операции транслирования и их результаты. Этот лог может вам помочь, если в ходе трансляции возникают ошибки.
Давайте посмотрим теперь как изменилась наша библиотека.
Открываем PADS Library Tools. Нас интересует раздел Cells и далее подраздел board1, который автоматически создался при трансляции платы, и в нем теперь находятся все футпринты. Можно кликнуть по ним и посмотреть, что они транслировались корректно.
![](https://habrastorage.org/webt/jh/o7/z6/jho7z6zsymu-rd6fkmwiltx8aw4.png)
Трансляция схемы символов и компонентов
Следующий шаг — это трансляция схемы, символов УГО и информации о компонентах.
И так как мы только что транслировали плату, не связав ее ни с какой схемой, это может вызвать кучу ошибок в последующем. Этот шаг нам нужен был только для наполнения нашей библиотеки, поэтому дальше выполняем следующие шаги:
- Удаляем полностью папку с нашим проектом.
- Запускаем DxDesigner.
- Создаем новый чистый проект с таким же именем и связываем его с нашей уже наполовину наполненной библиотекой.
- Теперь мы готовы транслировать схему
- Запускаем транслятор он встроен прямо в DxDesigner (меню File-->Import-->Altium).
- В открывшемся окне на вкладке Schematics нажимаем на кнопку Add и указываем путь к схемному проекту Altium с расширением PrjPcb либо SchDoc.
заметкаЕсли у вас есть файл PrjPcb это намного лучше, так как он содержит в себе все листы схемы, связанные с данным проектом. Если же его нет, то нужно будет по очереди транслировать все листы c расширением SchDoc.
- Перейдите на вкладку Settings, здесь можно определить маппинг различных атрибутов, то есть как тот или иной атрибут из Altium будет преобразован в PADS Pro.
Где взять конфигурациооный файлы маппинга?В установочной директории уже есть несколько конфигурационных файлов с маппингом свойств (C:\MentorGraphics\PADSProVX.2.5\SDD_HOME\standard\cnv\altium_dx.cnv). Они подходят для большинства случаев, но если в ваших проектах присутствуют какие-то специфические атрибуты, то вы их можете перечислить вручную.
- Хочу обратить внимание на строчку UseTranlatedCentralLib в разделе [CONVERSION]. Сегодня мы ее оставим пустой, так как мы уже сделали библиотеку для конкретного проекта, но если у вас есть корпоративная библиотека Altium, и на ней построены все проекты, вы можете указать ссылку на нее здесь, предварительно транслировав ее.
- Возвращаемся на вкладку Schematics, нажимаем Translate и ждем.
- По окончании процесса трансляции вылезет окошко, в котором будет описан результат.
Анализ результатаНам тут главное чтобы не было сообщений Error. Могут быть сообщения Warning, но они обычно не влияют на целостность данных проекта. В моем случае транслятор переименовал название пинов GND, чтобы они не дублировались, и присвоил им порядковые номера.
- Закрываем транслятор, и у нас появляется транслированная схема.
- Откройте библиотеку проекта и проверьте наличие новых символов и информации о компонентах в ней. В разделе символов создался новый подраздел с названием самого проекта USB panel (в моем случае). Раскрыв его, вы увидите все символы, содержащиеся в нашем проекте. Также создался аналогичный подраздел в разделе parts, мы видим, что каждому компоненту поставлен в соответствие символ и посадочное место.
Трансляция топологии
Теперь нам нужно транслировать саму плату. Мы это уже делали сегодня. Давайте просто повторим процедуру.
- Запускаем транслятор Altium to PADS Pro
- Указываем путь к файлу с расширением PcbDoc и путь к проекту DxDesigner, c которым будет связана плата.
- В этом случае нам нужно убрать галочку Update Central library, так как мы уже имеем все посадочные места и падстеки.
- Нажимаем Translate и ждем завершения процесса.
- Запускаем PADS Professional Layout (можно это сделать из DxDesigner меню Tools-->PADS Professional Layout).
- Когда загрузится PADS Professional Layout вы увидите сообщение:
- Нажмите ОК
- И еще одно сообщение:
- Нажмите No
- Внимательно посмотрите проект и проверьте корректность трансляции.
- Если все хорошо, то двигаемся дальше.
Упаковка и синхронизация проекта
Давайте теперь откроем DxDesigner и сделаем упаковку проекта.
- Переходим в меню Tools-->Package
- Выбираем в разделе operation – package symbols
- В разделе PDB Extraction Options ставим Delete local data, then rebuild all local library data.
- Нажимаем ОК, и смотрим на результат.
- Если все хорошо, то вы увидите сообщение The iCDB is up to date! в окне Output
Теперь, когда мы упаковали проект нам нужно сделать прямую аннотацию изменений, чтобы синхронизировать схему и топологию.
- Возвращаемся в Layout и переходим в меню Setup-->Project integration.
- Нам нужно сделать так, чтобы индикаторы стали зелеными, тогда будет полная синхронизация.
- Убираем галочки с опций Remove floating traces & vias и Remove Hangers для того, чтобы система не удалила никакие проводники и переходные отверстия из проекта, которые могут после трансляции оказаться «висящими в воздухе».
- Теперь нажимаем на желтый индикатор и ждем.
- Если все индикаторы стали зелеными, то вы счастливчик! В принципе на этом можно заканчивать.
На самом деле ошибки скорее всего возникнут, но их достаточно легко исправить.
Если хотите узнать как исправить ошибки, возникающие при прямой аннотации проекта, посмотрите мой одноименный вебинар, статья писалась по нему:
Регистрируйтесь на следующий вебинар HyperLynx DRC — идентификация проблем, влияющих на целостность сигналов, питания и ЭМС.
Проект, который я использовал для трансляции можете скачать ТУТ.
Если вам нужна 30-дневная лицензия PADS Professional или на любой другой продукт Mentor Graphics, можете оставить заявку в личном сообщении.
Only registered users can participate in poll. Log in, please.
Оцените полезность данного материала
18.75% 13
0% 20
6.25% 31
0% 40
6.25% 51
0% 60
25% 74
6.25% 81
0% 90
37.5% 106
16 users voted. 11 users abstained.