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