Программное обеспечение для преобразования описания кода в дизайн печатной платы?

Есть ли доступное приложение, которое позволяет вам определять каждый компонент и его соединения в схеме (что-то вроде диаграмм взаимосвязей сущностей в проектировании баз данных) и заставлять приложение генерировать наиболее логичное использование пространства на печатной плате для вас?

Для очень простых проектов вы, возможно, захотите взглянуть на функциональность автоматического размещения в CAD-пакетах, таких как Proteus. Текущая версия Proteus на удивление хорошо справляется с 10-20 компонентами, по крайней мере, по сравнению с другими подобными продуктами, которые я видел. Однако с группировкой и другими настройками нужно поэкспериментировать. Для чего-то сложного вы уже видели ответы «Нет, это невозможно», с чем я согласен.

Ответы (4)

Нет, не совсем. То, о чем вы просите, называется auto-placement , которого в основном не существует, а когда оно работает, оно работает плохо. Это одна из тех проблем, где человеческий мозг все же лучше программного обеспечения. Определение компоновки — сложная проблема с очень большим пространством для решения, и поэтому она пока не уступила ничему, кроме реализации игрушечного программного обеспечения.

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

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

Обычно маршрутизация представляет собой повторяющийся процесс, когда вы вручную настраиваете несколько вещей, а затем позволяете программному обеспечению выполнять рутинную работу по маршрутизации менее важных вещей. Иногда программа не может найти решение или вам не нравится то, что она делает. Затем вы перемещаете несколько вещей, вручную прокладываете некоторые трассы, устанавливаете некоторые ограничения и позволяете программе повторить попытку.

Все, что называет себя пакетом E-CAD (Electrical Computer Aided Design), будет иметь возможность захвата схемы и маршрутизации. Некоторые из них будут дополнительно иметь возможность автоматической маршрутизации или, по крайней мере, возможность добавить ее. Примерами таких программ E-CAD являются Eagle, Altium и многие другие.

Как упоминалось в предыдущих ответах, это в основном функция инструментов автоматизации электронного проектирования (EDA) или автоматизированного проектирования (CAD).

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

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

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

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

OP в основном описывает пакет программного обеспечения EDA. Такое программное обеспечение существует: Cadsoft EAGLE, OrCAD, KiCAD, Altium и многие другие.

Часть, отвечающая за автоматическое создание топологии из схемы, называется автотрассировщиком печатных плат . Но имейте в виду, что макеты, созданные автотрассировщиками, редко бывают самыми логичными. Многие профессиональные проектировщики печатных плат не используют автотрассировщики.

Нет, автомаршрутизатор выполняет маршрутизацию . ОП спрашивает о размещении . Автомаршрутизаторы не генерируют макеты. Вы путаете термины и не отвечаете на заданный вопрос.
@OlinLathrop Тем не менее, я думаю, мой ответ расширил и улучшил взгляд ОП на его проблему.

База данных, которую вы описываете, очень похожа на модель SPICE, которая так или иначе лежит в основе почти всех программ моделирования электроники / САПР. Я почти уверен, что старый материал SPICE для командной строки доступен бесплатно и с открытым исходным кодом.

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

Тем не менее, Auto-route — это наихудший способ компоновки печатной платы, который, скорее всего, приведет к неэффективной по пространству и неэлегантной компоновке с использованием большего количества дорожек, слоев, переходных отверстий или связей, чем вам нужно.

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

ОП спрашивает о размещении , которое не имеет ничего общего со Spice. Это также отдельная проблема от маршрутизации или автомаршрутизации, так что это опять-таки в значительной степени не имеет значения.
Просто догадываюсь о его мотивах... в любом случае, автомаршрут и автоместо - это две стороны одной медали, они оба вызывают проблему коммивояжера с разных концов... как только вы решите это, вы будете смеяться .