Gibt es ein gemeinsames Netzlistenformat, das zwischen verschiedenen Schaltplan- / Leiterplatten- / EDA- / CAD-Tools portierbar ist, und wenn ja, wo befindet sich das Format oder die Referenz, damit ich es implementieren kann?
Wenn nicht, implementiert jedes Paket es anders, oder gibt es einige Standards, die, wenn sie implementiert werden, eine größere Kompatibilität mit einer breiten Palette von Tools bieten könnten?
schematics
cad
pcb
Adam Davis
quelle
quelle
Antworten:
EDIF - Electronic Design Interchange Format - ist ein herstellerneutrales Format zum Speichern von elektronischen Netzlisten und Schaltplänen. Es war einer der ersten Versuche, ein neutrales Datenaustauschformat für die EDA-Branche (Electronic Design Automation) zu etablieren.
Weitere Informationen und Links finden Sie unter http://en.wikipedia.org/wiki/EDIF .
quelle
Ich habe keine Standards gesehen. Jedes Paket implementiert ein eigenes Format. Glücklicherweise ist das Format sehr einfach, was die Übersetzung zwischen Paketen erleichtert.
Beispielsweise besteht die gEDA-Netzliste aus Datensätzen im folgenden Format:
NETNAME REFDES-PIN REFDES-PIN ...
Hier ist ein Beispiel von einem meiner Boards -
unnamed_net39 J28-3 U11-12
unnamed_net38 J28-1 J16-2 J27-1
GND J16-3 C16-2 J15-3 C15-2
Sie können diese Netzlistendatei problemlos in eine Datenstruktur einlesen und in ein anderes Format übersetzen.
quelle
Wenn sie in ASCII-Form gespeichert sind, ist es recht einfach, sie zu konvertieren. Ich kann die meisten Formate in die von mir verwendete Pulsonix-PCB-Software importieren. Das einzig ungeschickte ist Eagle; Eagle-Schaltpläne, PCBs und Bibliotheken müssen von einem speziell geschriebenen ULP konvertiert werden.
quelle
Ich habe auch nirgendwo ein Standardformat gesehen. Wie bereits erwähnt, sind Netzlistenformate jedoch sehr einfach und in der Regel textbasiert und daher trivial zwischen verschiedenen Formularen zu übersetzen.
Eine Netzliste ist einfach eine Liste von Netzen (Drähten) mit einer Liste von Ports (Pins von Komponenten), die an jedem Draht angebracht sind. Obwohl sich die Details unterscheiden, handelt es sich um eine Variation desselben Themas. In der Vergangenheit habe ich mehrere Skripte in Perl und Python geschrieben, mit denen sich Netzlisten leicht manipulieren lassen. Tatsächlich sind Netzlistendateien eine großartige Übung in der Textverarbeitung für Anfänger.
quelle
Um ehrlich zu sein, wenn Sie wirklich ein Netzlistenformat wollen, das in der Praxis mit nahezu jedem Tool funktioniert, haben Sie nur zwei ernsthafte Möglichkeiten:
Ja, dies sind vollständige Hardwarebeschreibungssprachen, und die Verwendung dieser Sprachen als Netzlistenformat kann als übertrieben angesehen werden. Es ist jedoch sehr einfach, und wenn ein Tool einfache, strukturierte VHDL- oder Verilog-Dateien ausgibt, können Sie davon ausgehen, dass Sie das Design in nahezu jedes andere EDA-Tool zurückführen können.
Als Nebeneffekt benötigen die meisten anderen Netzlistenformate (z. B. EDIF) einen extern definierten Satz von Grundelementen - entweder etwas herstellerspezifisches oder etwas wie LPM. Bei VHDL und Verilog können die Blätter der niedrigsten Ebene (Grundelemente) beliebig sein (z. B. synthetisierbarer RTL-Code, Simulationsmodelle, Blackboxen usw.).
Wenn Sie jedoch unbedingt ein tatsächliches Netzlistenformat haben müssen , schlage ich vor, das gnetlist-Format zu verwenden, das dann in viele andere Formate konvertiert werden kann.
quelle