Программное обеспечение для проектирования схем, которое я видел, имеет возможность автоматически разводить дорожки и т. Д. На печатной плате.
Но почему это программное обеспечение не может автоматически размещать компоненты на печатной плате, скажем, для минимизации общего размера платы?
Это слишком сложно для автоматизации?
Недавно я разрабатывал некоторые печатные платы, и я бы посоветовал вам НЕ использовать автоматическую установку или автоматическую трассировку для вашего конечного продукта. (Протеус имеет автоматическую россыпь.)
Во-первых, ваше программное обеспечение умнее дождевого червя, когда речь идет об автоматическом размещении или автоматической маршрутизации. Другими словами, он тупой как картошка.
Автоматическая трассировка не будет знать, какое размещение даст вам лучший шаблон трассировки, что позволит вам не только сделать эффективный дизайн, но и минимизировать шум в цепи. Точно так же автоматическая трассировка не знает, что небольшое смещение компонента влево или вправо позволит вам лучше трассировать дорожку. Эти инструменты просто дадут вам дизайн, который будет правильным в соответствии со схемой. Но когда дело доходит до реальной производительности, все обстоит иначе.
Например:
Ваше программное обеспечение не будет учитывать эти концепции, потому что они не упомянуты в вашей схеме. Вы узнаете об этом только тогда, когда у вас будет изготовлена печатная плата, и она не всегда будет работать должным образом. Я не говорю, что это не сработает. Это может сработать в 90% случаев, но вы должны учитывать и эти 10%.
Я предлагаю вам изучить некоторые концепции проектирования печатных плат и попробовать разместить и развести их самостоятельно. Вы всегда можете опубликовать свою схему и макет платы на форумах, и эксперты выскажут свое мнение/предложения.
Одна вещь, которую вы не принимаете во внимание, это то, что схема не содержит достаточно информации для правильной компоновки платы .
По сути, компоновка печатной платы требует рассмотрения и учета нескольких десятков требований к компоновке каждой детали , ни одно из которых не закреплено в схеме. Рассмотрим только шунтирующие конденсаторы. Чтобы автоматическая система правильно разместила обходной конденсатор для каждого компонента, вам потребуются дополнительные директивы на схеме, которые предписывают автотрассировщику, что дорожка между двумя узлами должна быть меньше определенной длины.
Предположительно, вам потребуются дополнительные директивы для кодирования приоритета минимизации длины для различных цепей, что-то, чтобы диктовать дифференциальные пары/управляемый импеданс, защитные трассы (при необходимости) и т. д.
По сути, есть много дополнительных переменных, которые управляют размещением, которые обычно вообще не кодируются в документах схемы/рацнеста.
Кроме того, даже если вы предполагаете, что у вас есть все вышеперечисленные ограничения дизайна, сам размер проблемного пространства для обычного макета огромен . Это эквивалентно попытке решить уравнение с тысячами входных данных, где каждый вход оказывает разное, нелинейное влияние на все остальные. По сути, проблема совершенно неразрешима с точки зрения грубой силы. Следовательно, любое решение должно включать в себя какой-то эвристический механизм, который имеет свои сложности.
На самом деле, основная причина, по которой нет лучших автотрассировщиков, заключается в том, что просто нет рынка. Рынок EDA сравнительно невелик по сравнению со многими другими нишевыми рынками программного обеспечения специального назначения, и даже самый лучший автотрассировщик никогда не приблизится к реальному макету, выполненному реальным человеком.
Находясь посреди особенно скучной компоновки, у меня обычно возникают фантазии о попытке спроектировать свой собственный автотрассировщик, делая что-то с векторными полями и имитацией отжига, но даже это будет приближаться только к локальному оптимуму, а не к общему оптимальному макету.
У моего роутера есть россыпь и поддержка "комнат". Это позволяет вам рисовать области и назначать части «комнатам» из схемы. Автоматическое размещение сгруппирует их вместе в комнате, к которой назначена часть. Почти уверен, что у него есть поддержка этого разъема, он тоже должен идти в это место. Существует также инструмент, который может выполнять автоматическое размещение развязки и выбор/оптимизацию деталей на основе результатов моделирования. Это не дешево, хотя :), но это работает.
Автоматическая россыпь может сэкономить вам немного времени, собрав все вместе вот так. Но я все же предпочитаю перекрестное исследование схемы макету в режиме места.
Как и в случае с автоматическим маршрутизатором, вы получаете то, что вы ввели с точки зрения ограничений и насколько хорошо вы можете его использовать. Если вы просто попытаетесь использовать свой автоматический маршрутизатор, не ограничивая его должным образом, он просто маршрутизируется повсюду. При правильной настройке мы используем его для правильной маршрутизации больших разделов DDR одинаковой длины. На гораздо больших и плотных платах это почти необходимость и, безусловно, требование для магазина услуг по верстке, которому нужна скорость. Однако эти вещи могут не стоить того, кто делает всего несколько небольших досок в год.
В 1974-1975 годах я работал в отделе автоматизации проектирования в Honeywell. С тех пор проблема не изменилась:
Существуют подходы, основанные на искусственном интеллекте, для решения подобных проблем. Однако в какой-то момент дизайнеру проще просто попробовать что-то и получить отзывы от программного обеспечения относительно критериев проектирования, которые его интересуют. Рассказывать программному обеспечению ИИ все, что вы знаете, может быть бесконечной и неблагодарной задачей. В конечном счете, программное обеспечение должно удовлетворять вас, дизайнера, и ваш набор компромиссов.
Таким образом, лучший способ для этого — рассматривать это как сотрудничество между дизайнером и программным обеспечением, при этом дизайнер принимает окончательные решения. Программное обеспечение может предоставить информацию о свойствах и может предложить способы улучшения интересующего свойства, а также помочь изучить последствия изменения.
Но я предсказываю, что мы никогда не увидим полностью автоматизированную компоновку — до тех пор, пока у нас есть люди, которые смотрят на результат и заботятся о нем.
У моего софта есть россыпь. Я запустил его один раз, просто чтобы посмотреть, что произойдет. Он с ревом прорвался через плату и собрал все компоненты на ней. Когда я посмотрел на него, части были ВЕЗДЕ. ИС находилась в одном углу, а ее развязывающий колпачок — в другом. Критический путь шел зигзагом взад-вперед по доске.
Я хочу сказать, что размещение — это самая сложная часть макета, чтобы сделать ее правильно. Во-первых, это механические ограничения. ME/промышленный дизайнер хочет, чтобы ваш разъем/переключатель/потенциометр/светодиод/любой другой внешний интерфейсный компонент отделялся от платы в определенном месте. Некоторые компоненты могут быть слишком высокими, чтобы находиться в определенных местах внутри корпуса. В цепи могут быть части, требующие определенного зазора для изоляции.
Программное обеспечение можно настроить так, чтобы оно справлялось с некоторыми из этих факторов, но оно никогда не будет работать так же хорошо и не сможет визуально видеть проблемы, как человек. В идеальном мире, если вы правильно разместите, выполните разводку питания, заземления и критических путей, быстрый проход автотрассировщика должен быть в состоянии завершить разводку.
Раньше я использовал автоматические россыпи, и они действительно такие же тупые, как груда камней. Единственное, для чего вы можете разумно их использовать, это для распутывания кучи посадочных мест, которые все были импортированы на вашу доску в одном и том же месте на ней; все остальное просто слишком много, чтобы просить.
большой джош
ефокс29
пометки
Адам
Ник Джонсон
Ник Джонсон
Ник Алексеев
Грег д'Эон
Адам
Навин
Жанна Пиндар
Адам Дэвис
как зовут
Ник Джонсон
как зовут
Рассел МакМахон
Рассел МакМахон
Рассел МакМахон
ДКНгуйен