Die Schaltungsdesign-Software, die ich gesehen habe, hat die Fähigkeit, Leiterbahnen usw. automatisch auf einer Leiterplatte zu routen.
Aber warum ist diese Software nicht in der Lage, Komponenten automatisch auf einer Leiterplatte zu platzieren, um beispielsweise die Gesamtgröße der Leiterplatte zu minimieren?
Ist das einfach zu kompliziert, um es zu automatisieren?
Ich habe kürzlich einige PCBs entworfen und würde Ihnen empfehlen, KEINEN Auto-Placer oder Auto-Router für Ihr Endprodukt zu verwenden. (Proteus hat einen Autoplacer.)
Zunächst einmal - Ihre Software ist so intelligent wie ein Regenwurm, wenn es um die automatische Platzierung oder das automatische Routing geht. Mit anderen Worten, es ist dumm wie eine Kartoffel.
Auto-Routing würde nicht wissen, welche Platzierung Ihnen ein besseres Leiterbahnmuster liefert, wodurch Sie nicht nur ein effizientes Design erstellen, sondern auch das Rauschen in der Schaltung minimieren können. Ebenso weiß Auto-Routing nicht, dass Sie durch leichtes Verschieben einer Komponente nach links oder rechts eine Spur besser routen können. Diese Tools geben Ihnen nur ein Design, das entsprechend der Schaltung korrekt ist. Aber wenn es um die Leistung in der realen Welt geht, liegen die Dinge anders.
Zum Beispiel:
Ihre Software wird diese Konzepte nicht berücksichtigen, da diese in Ihrem Schaltplan nicht erwähnt werden. Sie werden es erst wissen, wenn Sie die Leiterplatte hergestellt haben und sie nicht die ganze Zeit wie erwartet funktioniert. Ich sage nicht, dass es nicht funktionieren wird. Es könnte zu 90 % funktionieren, aber Sie müssen auch diese 10 % berücksichtigen.
Mein Vorschlag ist, dass Sie einige PCB-Designkonzepte lernen und versuchen sollten, sie selbst zu platzieren und zu routen. Sie können Ihren Schaltplan und Ihr Platinenlayout jederzeit in Foren posten und Experten geben Ihnen ihre Meinung/Vorschläge.
Eine Sache, die Sie nicht berücksichtigen, ist, dass ein Schaltplan nicht genügend Informationen enthält, um eine Platine richtig zu belegen .
Grundsätzlich erfordert das PCB-Layout die Berücksichtigung und Anpassung an einige Dutzend Layout-Anforderungen pro Teil , von denen keine im Schaltplan kodifiziert ist. Betrachten Sie nur die Bypass-Kondensatoren. Damit ein automatisiertes System den Bypass-Kondensator für jede Komponente richtig platziert, müssten Sie einige zusätzliche Anweisungen im Schaltplan haben, die dem Autorouter vorschreiben, dass die Leiterbahn zwischen den beiden Knoten eine bestimmte Länge unterschreiten muss.
Vermutlich benötigen Sie dann weitere Anweisungen, um die Priorität der Längenminimierung für verschiedene Netze zu codieren, etwas, um differenzielle Paare / kontrollierte Impedanz, Schutzspuren (falls erforderlich) usw. vorzuschreiben ...
Grundsätzlich gibt es viele zusätzliche Variablen, die die Platzierung steuern, die in Schaltplan-/Ratsnest-Dokumenten normalerweise überhaupt nicht codiert sind.
Selbst wenn Sie davon ausgehen, dass Sie alle oben genannten Designbeschränkungen haben, ist die schiere Größe des Problemraums für ein gemeinsames Layout enorm . Es ist das Äquivalent zu dem Versuch, eine Gleichung mit Tausenden von Eingaben zu lösen, wobei jede Eingabe einen anderen, nichtlinearen Effekt auf alle anderen hat. Tatsächlich ist das Problem aus einer Brute-Force-Perspektive völlig unlösbar. Jede Lösung muss daher eine Art heuristischen Mechanismus beinhalten, der seine eigenen Komplexitäten hat.
Realistisch gesehen liegt der Hauptgrund dafür, dass es nicht zumindest bessere Autorouter gibt, darin, dass es einfach keinen Markt gibt. Der EDA-Markt ist im Vergleich zu vielen anderen Nischenmärkten für Spezialsoftware vergleichsweise klein, und selbst der beste Autorouter aller Zeiten wird sich nicht einmal einem realen Layout eines echten Menschen nähern.
Wenn ich mich inmitten eines besonders langweiligen Layouts befinde, fantasiere ich normalerweise, zu versuchen, meinen eigenen Autorouter zu entwerfen, indem ich etwas mit Vektorfeldern und simuliertem Glühen mache, aber selbst das würde nur ein lokales Optimum erreichen und nicht ein allgemeines optimales Layout.
Mein Router hat einen Placer und Unterstützung für "Räume". Damit können Sie Bereiche zeichnen und Teile "Räumen" aus dem Schaltplan zuweisen. Der Autoplacer gruppiert sie in dem Raum, dem das Teil zugewiesen ist. Ziemlich sicher, dass dieser Anschluss unterstützt wird, sollte auch an diesen Ort gehen. Es gibt auch ein Tool, das eine automatische Entkopplungsplatzierung und Teileauswahl/-optimierung basierend auf Simulationsergebnissen durchführen kann. Es ist zwar nicht billig :) aber es funktioniert.
Der Autoplacer kann Ihnen ein wenig Zeit sparen, indem er alles so zusammenstellt. Aber ich ziehe es immer noch vor, den Schaltplan dem Layout-in-Place-Modus zu prüfen.
Genau wie beim Autorouter erhalten Sie heraus, was Sie an Einschränkungen eingeben und wie gut Sie es verwenden können. Wenn Sie nur versuchen, Ihren Auto-Router zu verwenden, ohne ihn richtig einzuschränken, leitet er einfach überall hin. Wenn es richtig eingerichtet ist, verwenden wir es, um große DDR-Abschnitte mit passender Länge korrekt zu routen. Auf viel größeren und dichteren Boards ist es fast eine Notwendigkeit und sicherlich eine Voraussetzung für einen Layout-Dienstleister, der die Geschwindigkeit benötigt. Diese Dinge sind es jedoch möglicherweise nicht wert für jemanden, der nur ein paar kleine Boards im Jahr macht.
In den Jahren 1974-1975 arbeitete ich in der Abteilung Design Automation bei Honeywell. Das Problem hat sich seitdem nicht geändert:
Es gibt KI-basierte Ansätze, um mit solchen Problemen umzugehen. Irgendwann ist es für den Designer jedoch einfacher, Dinge einfach auszuprobieren und Feedback von der Software zu den Designkriterien zu erhalten, an denen er interessiert ist. Der KI-Software alles mitzuteilen, was Sie wissen, kann eine endlose, undankbare Aufgabe sein. Letztendlich muss die Software Sie, den Designer, und Ihre Kompromisse zufrieden stellen.
Am besten funktioniert dies also, wenn man es als Zusammenarbeit zwischen Designer und Software betrachtet, wobei der Designer die endgültigen Entscheidungen trifft. Die Software kann Informationen über die Eigenschaften bereitstellen und Möglichkeiten zur Verbesserung einer interessierenden Eigenschaft vorschlagen und dabei helfen, die Folgen einer Änderung zu untersuchen.
Aber ich sage voraus, dass wir niemals ein vollautomatisiertes Layout sehen werden – solange wir Menschen haben, die sich das Ergebnis ansehen und sich darum kümmern.
Meine Software hat einen Placer. Ich habe es einmal laufen lassen, nur um zu sehen, was passieren würde. Es ging reißend durch das Brett und bekam alle Komponenten darauf. Als ich es mir ansah, waren überall Teile. Der IC befand sich in einer Ecke und seine Entkopplungskappe in der anderen. Der kritische Pfad verlief im Zickzack hin und her über das Brett.
Mein Punkt hier ist, dass die Platzierung der schwierigste Teil des Layouts ist, um es richtig zu machen. Da sind zunächst die mechanischen Einschränkungen. Der ME/Industriedesigner möchte, dass Ihr Anschluss/Schalter/Pot/LED/welche andere externe Schnittstellenkomponente an einer bestimmten Stelle von der Platine kommt. Einige Komponenten sind möglicherweise zu groß, um sie in bestimmten Bereichen innerhalb des Gehäuses zu platzieren. Es kann Teile des Stromkreises geben, die einen gewissen Abstand zur Isolierung einhalten müssen.
Software kann so konfiguriert werden, dass sie mit einigen dieser Faktoren umgeht, aber sie wird niemals so gut funktionieren oder Probleme visuell so erkennen können, wie es ein Mensch kann. In einer perfekten Welt sollte, wenn Sie die Platzierung richtig machen, Strom, Masse und kritische Pfade leiten, ein schneller Durchgang des Autorouters in der Lage sein, das Layout fertigzustellen.
Ich habe bereits Autoplacer verwendet, und sie sind in der Tat so dumm wie ein Steinhaufen. Das einzige, wofür Sie sie vernünftig verwenden können, ist, einen Haufen Fußabdrücke zu entwirren, die alle an derselben Stelle auf Ihrem Board importiert wurden. alles andere ist einfach zu viel verlangt.
Großer Josch
efox29
Markierungen
Adam
Nick Johnson
Nick Johnson
Nick Alexejew
Greg d’Eon
Adam
Navin
Jeanne Pindar
Adam Davis
wie heißt es
Nick Johnson
wie heißt es
Russell McMahon
Russell McMahon
Russell McMahon
DKNguyen