Die Software für das Schaltungsdesign, die ich gesehen habe, bietet die Möglichkeit, 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 die Gesamtgröße der Leiterplatte zu minimieren?
Ist das einfach zu kompliziert, um automatisiert zu werden?
23
Antworten:
Ich habe in letzter Zeit einige Leiterplatten entworfen und empfehle Ihnen, für Ihr Endprodukt KEINEN Auto-Placer oder Auto-Router zu verwenden. (Proteus hat Auto Placer.)
Zuallererst - 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.
Das automatische Routing würde nicht wissen, bei welcher Platzierung Sie ein besseres Ablaufverfolgungsmuster erhalten, wodurch Sie nicht nur ein effizientes Design erstellen, sondern auch das Rauschen in der Schaltung minimieren können. Ebenso weiß das automatische Routing nicht, dass Sie eine Spur besser routen können, wenn Sie eine Komponente leicht nach links oder rechts verschieben. Mit diesen Werkzeugen erhalten Sie nur ein Design, das der Schaltung entspricht. Aber wenn es um die Leistung in der realen Welt geht, liegen die Dinge anders.
Beispielsweise:
Ihre Software respektiert diese Konzepte nicht, da diese in Ihrem Schaltplan nicht erwähnt werden. Sie werden 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 in 90% der Fälle funktionieren, aber Sie müssen auch diese 10% berücksichtigen.
Mein Vorschlag ist, dass Sie einige PCB-Designkonzepte erlernen und versuchen sollten, diese selbst zu platzieren und zu routen. Sie können Ihr Schaltplan- und Board-Layout jederzeit in Foren veröffentlichen und Experten geben Ihnen ihre Meinung / Vorschläge.
quelle
Mein Router hat einen Platzierer und Unterstützung für "Räume". Damit können Sie Bereiche zeichnen und Teile aus dem Schaltplan "Räumen" zuordnen. Der Autoplacer gruppiert sie in dem Raum, dem das Teil zugewiesen ist. Ich bin mir ziemlich sicher, dass es Unterstützung für diesen Connector gibt. Es gibt auch ein Tool, das die automatische Entkopplungsplatzierung und Teileauswahl / -optimierung basierend auf Simulationsergebnissen durchführen kann. Es ist zwar nicht billig :) aber es funktioniert.
Der Autoplatzierer kann Ihnen ein wenig Zeit sparen, indem er alles so zusammenfügt. Aber ich bevorzuge immer noch das Cross-Probing des Schaltplans gegenüber dem Layout-in-Place-Modus.
Genau wie beim Auto-Router erfahren Sie, was Sie in Bezug auf Einschränkungen eingegeben haben und wie gut Sie es verwenden können. Wenn Sie nur versuchen, Ihren Auto-Router zu verwenden, ohne ihn richtig einzuschränken, wird er einfach überall hin geroutet. Bei ordnungsgemäßer Einrichtung werden damit große DDR-Abschnitte mit angepasster Länge korrekt geroutet. Bei viel größeren und dichteren Boards ist dies fast eine Notwendigkeit und sicherlich eine Voraussetzung für einen Layout-Service-Shop, der die Geschwindigkeit benötigt. Für jemanden, der nur ein paar kleine Bretter im Jahr macht, lohnen sich diese Dinge jedoch möglicherweise nicht.
quelle
Eine Sache, die Sie nicht berücksichtigen, ist, dass ein Schaltplan nicht genügend Informationen enthält, um eine Platine richtig anzuordnen .
Grundsätzlich erfordert das PCB-Layout die Berücksichtigung und Anpassung von ein paar Dutzend Layoutanforderungen pro Teil , von denen keine im Schaltplan kodifiziert ist. Betrachten Sie nur die Bypass-Kondensatoren. Damit ein automatisiertes System den Überbrückungskondensator für jede Komponente ordnungsgemäß anordnet, müssen im Schaltplan einige zusätzliche Anweisungen enthalten sein, die dem Autorouter vorschreiben, dass die Spur 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 kodieren , um Differentialpaare / kontrollierte Impedanz, Schutzspuren (falls erforderlich) usw. festzulegen.
Grundsätzlich gibt es eine Menge zusätzlicher Variablen, die die Platzierung steuern und die in schematischen / Ratsnest-Dokumenten normalerweise überhaupt nicht codiert sind.
Selbst wenn Sie davon ausgehen, dass Sie alle oben genannten Designbeschränkungen haben, ist der Platzbedarf für ein allgemeines Layout enorm . Dies entspricht 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 Brute-Force-Sicht völlig unlösbar. Jede Lösung muss daher einen heuristischen Mechanismus beinhalten, der seine eigenen Komplexitäten aufweist.
Realistisch ist der Hauptgrund, warum es nicht mindestens bessere Autorouter gibt, 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, der jemals existiert, wird einem realen Layout von einem tatsächlichen Menschen nicht einmal nahe kommen.
Wenn ich mich inmitten eines besonders langweiligen Layouts befinde, habe ich normalerweise einige Fantasien, meinen eigenen Autorouter zu entwerfen, indem ich etwas mit Vektorfeldern und simuliertem Tempern mache, aber selbst das würde sich nur einem lokalen Optimum nähern, anstatt einem allgemeinen optimalen Layout.
quelle
Von 1974 bis 1975 arbeitete ich in der Design Automation-Abteilung von Honeywell. Das Problem hat sich seitdem nicht geändert:
Es gibt AI-basierte Ansätze, um mit solchen Problemen umzugehen. Irgendwann ist es für den Designer jedoch einfacher, einfach Dinge auszuprobieren und Feedback von der Software zu den Entwurfskriterien zu erhalten, an denen er interessiert ist. Wenn Sie AI-Software alles mitteilen, was Sie wissen, kann dies eine endlose, undankbare Aufgabe sein. Letztendlich muss die Software Sie, den Designer und Ihre Kompromisse befriedigen.
Dies funktioniert am besten, wenn Sie es als eine Zusammenarbeit zwischen Designer und Software betrachten, wobei der Designer die endgültigen Entscheidungen trifft. Die Software kann Informationen zu den Eigenschaften bereitstellen und Vorschläge zur Verbesserung einer Eigenschaft von Interesse sowie zur Ermittlung der Konsequenzen einer Änderung enthalten.
Aber ich gehe davon aus, dass wir niemals ein vollautomatisiertes Layout sehen werden - solange wir Menschen haben, die sich um das Ergebnis kümmern.
quelle
Meine Software hat einen Platzierer. Ich habe es einmal gemacht, um zu sehen, was passieren würde. Es raste durch das Board und brachte alle Komponenten auf. Wenn ich es mir ansah, waren Teile ÜBERALL. Der IC befand sich in einer Ecke und die Entkopplungskappe in der anderen. Der kritische Pfad ging im Zick-Zack auf der ganzen Linie vor und zurück.
Mein Punkt hier ist, dass die Platzierung der schwierigste Teil des Layouts ist, um es richtig zu machen. Erstens gibt es die mechanischen Einschränkungen. Der ME / Industriedesigner möchte, dass Ihr Stecker / Schalter / Poti / LED / jede andere externe Schnittstellenkomponente an einer bestimmten Stelle von der Platine kommt. Einige Komponenten sind möglicherweise zu hoch, um sich in bestimmten Bereichen des Gehäuses zu befinden. Es kann Teile des Stromkreises geben, die einen bestimmten Abstand zur Isolierung einhalten müssen.
Software kann so konfiguriert werden, dass sie mit einigen dieser Faktoren zurechtkommt. Sie kann jedoch niemals so gut funktionieren oder Probleme visuell so erkennen, wie es ein Mensch kann. In einer perfekten Welt sollte ein schneller Durchlauf des Autorouters in der Lage sein, das Layout fertigzustellen, wenn Sie die richtige Platzierung haben, die Stromversorgung, die Erdung und das Routing für kritische Pfade durchführen.
quelle
Ich habe schon früher Auto-Placer benutzt, und sie sind in der Tat so dumm wie ein Steinhaufen. Das einzige, wofür Sie sie gebrauchen können, ist ein Haufen Fußabdrücke zu entwirren, die alle an derselben Stelle in Ihr Board importiert wurden. alles andere ist einfach zu viel verlangt.
quelle