Новое в дизайне печатных плат - почему не существует автоматического размещения компонентов?

23

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

Адам
источник
8
Авторутеры должны иметь возможность оптимально размещать компоненты в зависимости от ограничений (т. Е. «Кнопка должна идти сюда», «светодиод может находиться где угодно в этой области»). Они также должны быть в состоянии выбрать оптимальные выводы для использования на деталях, которые имеют много эквивалентных выводов (то есть «использовать любой вывод ввода-вывода, имеющий ШИМ»). К сожалению, я никогда не видел тот, который выполняет одну из этих функций. Возможно когда-нибудь.
bigjosh
7
размещение (и ориентация, замена ворот, замена контактов) действительно очень важны. Это самая важная вещь для получения хорошей маршрутизации. Я думаю, что умный автозаполнитель должен начинаться с размещения схемы, если схема не является одной из тех современных мерзостей "ящиков, окруженных списками".
markrages
2
Исходя из фона, который не является схемотехникой, мне кажется, что гнезда крыс должно быть достаточно для оптимального размещения всех компонентов, возможно, с некоторыми ограничениями. Большинство реальных схем разработано более вручную, чем это?
Адам
3
Короче говоря, оптимальная компоновка компонентов - даже без учета всех соображений, являющихся фактической, неидеальной схемой - является очень сложной проблемой CS. Фактически, это пример проблемы коммивояжера, и поэтому такое оптимальное решение невозможно.
Ник Джонсон
2
@ Gregd'Eon Мне интересно то же самое. Несомненно, благодаря большому количеству рабочих процессов авторазделители могут понимать роль разъединяющих колпачков и имитировать шум цепи и т. Д.
Адам

Ответы:

19

Недавно я проектировал несколько печатных плат, и я бы посоветовал вам НЕ использовать автоматическое размещение или автоматический маршрутизатор для конечного продукта. (Proteus имеет автоматическую россыпь.)

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

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

  • Разъединяющие конденсаторы должны быть физически близко к ИС.
  • Там должны быть петли наименее закрытой области.
  • Заземленная плоскость должна быть максимально прочной.
  • Никакие мешающие сигналы не должны быть рядом с вашим кварцевым генератором и т. Д.

Ваше программное обеспечение не будет уважать эти понятия, потому что они не упомянуты в вашей схеме. Вы узнаете только, когда вы изготовите печатную плату, и она не будет работать так, как ожидалось. Я не говорю, что это не сработает. Это может сработать в 90% случаев, но вы должны учитывать и эти 10%.

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

Whiskeyjack
источник
5
+1 за дождевого червя и картофель. Каждый раз, когда я использовал auto placer и autorouter, я делал критические биты и оставлял их легкими, но даже это было слишком много, чтобы просить: 60% доски было размещено и маршрутизировано после последнего прохода. Лучше делать все самостоятельно, за исключением, возможно, огромных требований к дизайну с большим количеством свободного места.
Мистер Мистер
1
@Mister - Да, вы правы. Даже я использую автоматический маршрутизатор время от времени, чтобы получить представление о маршрутизации, и я заканчиваю критические разделы. Однако я использую Eagle в эти дни, и у него нет автозаполнения.
Вискиджек
1
Опечатка в моем комментарии выше: "для огромных LOW * требований дизайна". Очевидно, что высокочастотная цифровая частота не будет хорошо работать с авторазведкой и авторазмещением ...
Мистер Мистер
1
Я не вижу никакой теоретической причины, по которой автоматический маршрутизатор не мог учесть все вышеупомянутые ограничения и лучшие практики при автоматическом размещении деталей. Фактически, идеальный авто-роутер должен быть в состоянии найти оптимальное место, которое отвечает этим целям лучше, чем человек. Конечно, это сложная проблема, но не невозможная, и я готов поспорить, что скоро мы начнем видеть облачные авто-роутеры с авторазмещателями, которые могут побить даже самых лучших людей.
bigjosh
1
@bigjosh - Ваш комментарий имеет большой смысл. У правильной маршрутизации и размещения есть несколько рекомендаций, которые, если разбить их на простую логику, должны позволить компьютерам превосходить человека. Все, что останется, это, может быть, триллионы вычислений - проверка тысяч полностью маршрутизируемых плат и поиск оптимального решения. С облачными системами это не должно быть слишком сложно. Будем надеяться, что скоро появится какой-нибудь проект с открытым исходным кодом, чтобы сделать это реальностью. Это может быть лучше, чем люди, если люди действительно не идут на многократные итерации, когда они нашли рабочее решение - по крайней мере, я этого не делаю.
Вискиджек
13

У моего роутера есть россыпь и поддержка "комнат". Это позволит вам рисовать области и назначать детали "комнатам" из схемы. Автоматическое размещение сгруппирует их в комнате, для которой назначена деталь. Уверен, что у него есть поддержка этого разъема, и он должен идти в это место. Есть также инструмент, который может выполнять автоматическую развязку размещения и выбор / оптимизацию деталей на основе результатов моделирования. Это не дешево, хотя :), но это работает.

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

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

Какой-то аппаратный парень
источник
4
Какой у вас пакет САПР?
Мистер Мистер
5
Высококачественная версия Allegro, развязка от Sigrity, теперь принадлежащая каденции. Я тоже люблю прокладки. Тот новый автоматический маршрутизатор на основе пути, который должен выглядеть как ручная маршрутизация, выглядит интересно.
Некоторый аппаратный парень
У меня была догадка, это может быть Каденс. Я использовал его для ознакомления с дизайном ИС, это действительно отличный пакет, и я верю, что его авторутер и авторазмещение могут быть эффективными, если ограничения сформулированы правильно (что сводится к опыту / обучению).
Мистер Мистер
Хорошо сказано. Размещение деталей и маршрутизация не невозможны, это просто намного сложнее и размытее, чем схематическое изображение. Прежде всего, принципиальная схема далека от полного ввода в автозапчасти. Обычные пакеты для печатных плат предназначены для проводки, а не для автоматического размещения.
Tomnexus
12

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

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

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


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

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

Коннор Вольф
источник
10

Еще в 1974-1975 годах я работал в отделе автоматизации проектирования в Honeywell. С тех пор проблема не изменилась:

  1. Оптимизировать вычислительно невозможно. Как и большинство глобальных задач оптимизации, это NP-Complete, что означает, что сложность вычислений очень быстро растет. Поскольку вы не можете ждать около триллиона лет (или хуже), мы можем рассматривать оптимальное решение как невозможное.
  2. Для программы неясно, что именно вы хотите оптимизировать. Логическая группировка по вашей модели схемы организации? Длина трассы? Площадь доски? Паразитическая связь? Задержка распространения? Тепловыделение (максимальная температура)? Тепловой отвод от секций повышенной мощности к чувствительным к температуре компонентам? Радиочастотная эмиссия? Шум? Механические свойства (например, размещение более массивных компонентов рядом с механическими опорами? Служебные характеристики, например, не расположить соединители на плате ближе друг к другу, чем могут управлять человеческие пальцы? чехлы, вентиляторы и пр.)

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

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

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

Боб Кернс
источник
Так много для Сингулярности ...
Питер Мортенсен
@PeterMortensen Человеческое мнение не имеет значения после Сингулярности.
Спехро Пефхани
1
Я думаю, что пункт 2 действительно единственная значимая часть ответа. Существует много алгоритмов, которые могут очень быстро решить задачи, полные NP, со значительными размерами задач, до «достаточно хорошей» степени с очень приемлемыми временными затратами, причем достаточно хорошие часто находятся в пределах 2-3% от оптимального.
whatsisname
Это хорошее замечание о "достаточно хорошо"! Хотя, чтобы быть полностью технически точным, мы должны тщательно квалифицировать слово «решить» (как вы сделали). Однако тогда затраты на процессор и хранилище были огромной проблемой. Но даже несмотря на то, что размеры проблем выросли, наши вычислительные возможности выросли еще больше.
Боб Кернс
9

У моего программного обеспечения есть россыпь. Я запустил его один раз, чтобы посмотреть, что произойдет. Она взорвалась сквозь доску, и на ней появились все компоненты. Когда я смотрел на это, запчасти были ВЕЗДЕ. Микросхема была в одном углу, а ее разъединительная крышка - в другом. Критический путь зигзагообразно взад и вперед по доске.

Моя точка зрения в том, что размещение - это самая сложная часть макета, чтобы получить правильные результаты. Сначала есть механические ограничения. ME / промышленный дизайнер хочет, чтобы ваш разъем / выключатель / индикатор / светодиод / любой другой внешний интерфейсный элемент оторвался от платы в определенном месте. Некоторые компоненты могут быть слишком высокими, чтобы находиться в определенных местах внутри корпуса. Могут быть части схемы, которые должны сохранять определенный зазор для изоляции.

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

Мэтт Янг
источник
Мне нравится этот ответ, хотя до сих пор кажется, что программное обеспечение не соответствует той работе, которой оно должно быть.
Адам
6
@ Adam По мере накопления опыта вы будете лучше понимать. Процесс размещения невероятно сложен, и крысиное гнездо рассказывает только часть истории. Возьмите, например, развязывающие колпачки, как россыпь должна знать, где их поставить? Насколько это важно, все эти колпачки могут быть размещены вместе в произвольном месте.
Мэтт Янг
2
Ограничения расстояния кажутся приемлемым вариантом для этого.
Тим Сегин,
Как называется ваше программное обеспечение?
Даниэле Теста
2

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

ThreePhaseEel
источник