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


23

Програмне забезпечення для проектування схем, яке я бачив, має можливість автоматично маршрутизувати сліди тощо на друкованій платі.
Але чому це програмне забезпечення не має можливості автоматично розміщувати компоненти на друкованій платі, щоб зменшити загальний розмір плати?
Це занадто складно, щоб бути автоматизованим?


8
Автоперевідники повинні мати можливість оптимально розміщувати компоненти на основі обмежень (тобто "кнопка повинна перейти сюди", "світлодіод може бути в будь-якому місці цієї області"). Вони також повинні мати можливість вибору оптимальних штифтів, які слід використовувати для деталей, які мають багато еквівалентних штифтів (тобто "використовувати будь-який іонний штифт, який має ШІМ"). На жаль, я ніколи не бачив жодної, яка виконує будь-яку з цих функцій. Можливо, коли-небудь.
bigjosh

7
розміщення (і орієнтація, заміна воріт, заміна штифтів) дійсно, дуже важливо. Це найважливіше для отримання хорошої маршрутизації. Я думаю, що розумний автозарядник повинен починатись із схематичного розміщення, якщо тільки схема не є однією з тих сучасних "скриньок, оточених мережевими списками".
відмітки

2
виходячи з тла, який не є схемою, мені здається, що гніздо щурів повинно вистачити для оптимального розташування всіх компонентів, можливо, з деякими обмеженнями. Чи більшість справжніх схем розроблені вручніше, ніж це?
Адам

3
Коротше кажучи, оптимальне розташування компонентів - навіть без усіх міркувань, що випливають із цього, як фактичного, неідеального ланцюга - дуже складна проблема CS. Насправді це приклад проблеми продавця подорожей, і як таке оптимальне рішення неможливо.
Нік Джонсон

2
@ Gregd'Eon Я дивуюсь те саме. Безумовно, за допомогою більшої кількості робочих авторозміщувачів можна зрозуміти ролі роз'єднаних ковпачків та імітувати шум ланцюга тощо
Адам,

Відповіді:


19

Нещодавно я розробляв деякі друковані плати, і я б запропонував вам НЕ використовувати для свого кінцевого продукту авторозміщувач або автоматичний роутер. (Proteus має автоматичний розсип.)

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

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

  • Роз'єднані конденсатори повинні бути фізично близькими до ІС.
  • Повинні бути петлі найменш укладеної площі.
  • Площина землі повинна бути максимально міцною.
  • Жоден заважаючий сигнал не повинен бути близьким до вашого кристалічного генератора тощо.

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

Мої пропозиції полягають у тому, що ви повинні вивчити деякі концепції проектування друкованої плати та спробувати розмістити та маршрутизувати самостійно. Ви завжди можете розміщувати свою схематичну схему та макет на форумах, і експерти дадуть вам свою думку / пропозиції.


5
+1 для дощового черв'яка та картоплі. Кожен раз, коли я використовував автоматичний розсип і авторуту, я робив критичні біти і залишав це легко, але навіть це було занадто багато, щоб запитати: 60% плати було розміщено та направлено після остаточного проходу. Краще робити все самостійно, за винятком, можливо, величезних вимог, що мають багато вільного місця.
Містер Містер

1
@Mister - Так, ви праві. Навіть час від часу я використовую автоматичний маршрутизатор, щоб отримати уявлення про маршрутизацію, і я закінчую критичні розділи. Однак я зараз використовую Eagle, і він не має автоматичного розсилки.
Whiskeyjack

1
Одрукуйте в моєму коментарі вище: "для величезних проектів низьких вимог *". Очевидно, що високочастотна цифрова частота не буде добре працювати з маршрутизацією та автоматичним розміщенням ...
Mister Mystère

1
Я не бачу жодної теоретичної причини, чому авто-маршрутизатор не міг би врахувати всі вищезазначені обмеження та найкращі практики при автоматичному розміщенні деталей. Насправді ідеальний автороутер повинен мати можливість знайти оптимальне місце розташування, яке відповідає цим цілям краще, ніж може людина. Бути впевненим у цьому є складна проблема, але це не неможливо, і я б ставлю на облік, що незабаром ми почнемо бачити хмарні автоматичні маршрутизатори з автоматичними розсилками, які можуть перемогти навіть найкращих людей.
bigjosh

1
@bigjosh - Ваш коментар має багато сенсу. Правильна маршрутизація та розміщення містить декілька вказівок, які, якщо їх розбити на просту логіку, повинні давати змогу комп’ютерам перемагати людей. Залишиться, можливо, трильйони розрахунків - перевірка тисяч повністю розбитих дощок і з'ясування оптимального рішення. З хмарними системами це не повинно бути занадто важким. Будемо сподіватися, що якийсь проект з відкритим кодом розпочнеться незабаром, щоб зробити це реальністю. Це може бути краще, ніж люди таким чином, що люди насправді не йдуть на багаторазові повторення, коли вони знайшли робоче рішення - принаймні, я цього не роблю.
Whiskeyjack

13

Мій маршрутизатор має розсип і підтримку для "номерів". Щоб ми намалювали області та призначили частини «кімнатам» зі схеми. Автомобільний розсип згрупує їх разом у кімнаті, якій призначена частина. Досить впевнений, що у нього є підтримка цього роз'єму, щоб він також перейшов до цього місця. Існує також інструмент, який може робити автоматичне роз'єднання розміщення та вибір / оптимізацію деталей на основі результатів моделювання. Хоча це і не дешево :), але це працює.

Авторозміщувач може заощадити трохи часу, розмістивши все так. Але я все одно віддаю перевагу перехресному зондуванню схематичної схеми перед розташуванням у режимі місця.

Так само, як і в автоматичному маршрутизаторі, ви зрозумієте, що ви ставите перед обмеженнями і наскільки добре ви можете ним користуватися. Якщо ви просто намагаєтесь використовувати свій автоматичний маршрутизатор, не обмежуючи його належним чином, він просто рухається скрізь. При правильному налаштуванні ми використовуємо його, щоб правильно прокласти DDR-розділи великої довжини. На набагато більших і щільніших дошках це майже необхідність, і, звичайно, вимога до магазину сервісних розробок, який потребує швидкості. Однак це може бути не вартим того, щоб хтось робив лише кілька невеликих дощок на рік.


4
Який у вас пакет CAD?
Містер Містер

5
Версійна версія Allegro, розв'язка - від Sigrity, що зараз належить каденції. Мені також подобаються прокладки. Цей новий автоматичний маршрутизатор, який повинен базуватися на маршруті, виглядає цікаво.
Деякий апаратний хлопець

Я мав уявлення, що це може бути каденція. Я використовував це для ознайомлення з дизайном ІС, він справді є чудовим пакетом, і я вважаю, що його автозапуск і автозарядка можуть бути просто ефективними, якщо обмеження будуть правильно сформульовані (що зводиться до досвіду / навчання).
Містер Містер

Добре сказано. Розміщення деталей та маршрутизація не є неможливим, це просто набагато складніше та нечіткіше, ніж схематичне захоплення. Перш за все, схема діапазону далеко не повна вхідних частин для авторозміщення. Регулярні пакети друкованих плат призначені для проводки, а не для автоматичного розміщення.
tomnexus

12

Одне, що ви не замислюєтесь, це те, що схема не містить достатньо інформації, щоб правильно розмістити дошку .

В основному макет друкованої плати вимагає розгляду та розміщення декількох десятків вимог до компонування на частину , жодна з яких не кодифікована схематично. Розглянемо лише обхідні конденсатори. Щоб автоматизована система правильно розмістила обхідний конденсатор для кожного компонента, вам потрібно мати кілька додаткових директив щодо схеми, яка диктує авторуту, що слід між двома вузлами повинен бути нижче певної довжини.
Імовірно, тоді вам знадобляться додаткові директиви для кодування пріоритету мінімізації довжини для різних мереж, щось для диктування диференціальних пар / керованого опору, захисних слідів (за потреби) тощо ...
В основному, існує маса додаткових змінних, які визначають розташування, які зазвичай взагалі не кодуються в схемах / ratsnest документах.

Крім того, навіть якщо ви припускаєте, що у вас є всі перераховані вище дизайнерські обмеження, розмір проблемного простору для спільної верстки є величезним . Це еквівалент спроби розв'язати рівняння з тисячами входів, де кожен вхід має різний, нелінійний вплив на всі інші. По суті, проблема є абсолютно нерозв'язною з точки зору грубої сили. Тому будь-яке рішення повинно включати якийсь евристичний механізм, який має власні складності.


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

Коли я в розпалі особливо нудної верстки, у мене зазвичай є фантазії, як намагатися створити власну автосмужку, роблячи щось із векторними полями та імітуючи відпал, але навіть це підходило б лише до локального оптимуму, а не до загального оптимального макета.


10

Ще в 1974-1975 роках я працював у відділі автоматизації дизайну в Honeywell. Проблема не змінилася з тих пір:

  1. Обчислювально неможливо оптимізувати. Як і більшість проблем глобальної оптимізації, це NP-Complete, тобто складність обчислень зростає жахливо швидко. Оскільки ви не можете чекати трильйона років (або гірше), ми можемо вважати оптимальне рішення неможливим.
  2. Програмі незрозуміло лише те, що ви хочете оптимізувати. Логічне групування за вашою моделлю організації схеми? Довжина сліду? Площа ради? Паразитне з’єднання? Затримка розповсюдження? Теплове розсіювання (max temp)? Термічне видування з секцій підвищеної потужності до чутливих до температури компонентів? Випромінювання в РФ? Шум? Механічні властивості (наприклад, розміщення більш масивних компонентів поблизу механічних опор? Характеристики обслуговування, такі як не розміщувати бортові роз'єми ближче один до одного, ніж людські пальці можуть керувати? Зовнішні обмеження, як-от розташування з'єднувачів, або встановлення в доступному просторі (без конфліктів з корпуси, вентилятори тощо)

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

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

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


Стільки для сингулярності ...
Пітер Мортенсен,

@PeterMortensen Думки людини не матимуть значення після Сингулярності.
Spehro Pefhany

1
Я думаю, що пункт 2 - це справді єдина відповідна частина відповіді. Існує багато алгоритмів, які дозволяють дуже швидко вирішити проблеми, повні з NP, із значними розмірами проблем, до "достатньо хорошого" ступеня з дуже прийнятною витратою часу, досить добре, що вона знаходиться в межах 2-3% від оптимальної.
whatsisname

Це хороший пункт про "досить добре"! Хоча, щоб бути повністю технічно точним, ми повинні ретельно кваліфікувати слово "вирішити" (як і ви). Однак, вартість процесора та пам’яті мала тоді величезну проблему. Але, хоча розміри проблем зросли, наша обчислювальна спроможність зросла ще більше.
Боб Кернс

9

Моє програмне забезпечення має розсип. Я запустив це один раз, щоб побачити, що буде. Він прорвався ревом по дошці і отримав усі компоненти на ньому. Коли я дивився на це, частини були ВСЕ. СК знаходився в одному куті, а його розв'язувальний ковпачок - в іншому. Критична доріжка, зігзагована назад і вперед по всій дошці.

Моя думка тут - розміщення - найважча частина макета, щоб правильно вийти. Спочатку виникають механічні обмеження. МЕ / промисловий дизайнер хоче, щоб ваш роз'єм / перемикач / горщик / світлодіод / будь-який інший зовнішній компонент взаємозв'язку відходив від плати в певному місці. Деякі компоненти можуть бути занадто високими, щоб бути у певних місцях всередині корпусу. Можуть бути частини ланцюга, які потребують збереження певного зазору для ізоляції.

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


Мені подобається ця відповідь, хоча це все ще здається такою мірою, що програмне забезпечення не відповідає тій роботі, якою вона повинна бути.
Адам

6
@Adam Як ви отримаєте більше досвіду, ви зрозумієте краще. Процес розміщення надзвичайно складний, а гніздо щура розповідає лише частину історії. Візьмемо, наприклад, кришки для розв’язки, як належить знати, куди їх розмістити? Наскільки це стосується, ці шапки можуть бути розміщені разом у будь-якому довільному місці.
Метт Янг

2
Обмеження відстані здається можливим варіантом для цього.
Тім Сегейн

Як називається ваше програмне забезпечення?
Даніеле Теста

2

Раніше я використовував авто-розсипи, і вони справді такі німі, як купу скель. Про єдине, для чого ви можете їх сумлінно використати - це розкрутити купу слідів, які всі були імпортовані у вашу дошку в тому самому місці на ній; нічого іншого - просто занадто багато, щоб запитати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.