Jedną z rzeczy, których nie bierzesz pod uwagę, jest to, że schemat nie zawiera wystarczającej ilości informacji, aby właściwie ułożyć planszę .
Zasadniczo układ PCB wymaga rozważenia i dostosowania do kilkudziesięciu wymagań dotyczących układu na część , z których żadne nie jest skodyfikowane na schemacie. Rozważ tylko kondensatory obejściowe. Aby zautomatyzowany system prawidłowo umieścił kondensator obejściowy dla każdego komponentu, potrzebne będą dodatkowe wytyczne na schemacie, które dyktują autorouterowi, że ślad między dwoma węzłami musi być poniżej określonej długości.
Prawdopodobnie potrzebne byłyby dalsze dyrektywy, aby zakodować priorytet minimalizacji długości dla różnych sieci, coś, co dyktuje pary różnicowe / kontrolowaną impedancję, ślady ochronne (w razie potrzeby) itp.
Zasadniczo istnieje wiele dodatkowych zmiennych, które sterują rozmieszczeniem, które zwykle nie są wcale zakodowane w dokumentach schematycznych / najszczerszych.
Co więcej, nawet jeśli założymy, że masz wszystkie powyższe ograniczenia projektowe, sama wielkość przestrzeni problemowej dla wspólnego układu jest ogromna . Jest to odpowiednik próby rozwiązania równania z tysiącami danych wejściowych, gdzie każde dane wejściowe mają inny, nieliniowy wpływ na wszystkie pozostałe. W rzeczywistości problem jest całkowicie nierozwiązywalny z perspektywy brutalnej siły. Każde rozwiązanie musi zatem obejmować jakiś mechanizm heurystyczny, który ma swoją złożoność.
Realistycznie, głównym powodem, dla którego nie ma co najmniej lepszych autorouterów, jest to, że po prostu nie ma rynku. Rynek EDA jest stosunkowo niewielki w porównaniu do wielu innych niszowych rynków oprogramowania specjalnego, a nawet najlepszy autorouter nigdy nie zbliży się do prawdziwego układu przez prawdziwego człowieka.
Kiedy jestem w trakcie wyjątkowo nudnego układu, zwykle mam fantazje o próbie zaprojektowania własnego autorutera, robiąc coś z polami wektorowymi i symulowanym wyżarzaniem, ale nawet to zbliżyłoby się do lokalnego optimum, a nie ogólnego optymalnego układu.