Tool zum programmgesteuerten Zeichnen von Logikschaltungen in PDF

Ich suche nach einem (vorzugsweise Open Source) Tool, um solche Logikschaltungen zu visualisieren

Schaltkreis

mit folgenden Einschränkungen:

  • Die Diagrammbeschreibung sollte programmgesteuert gegeben werden (über Java oder durch Bereitstellen einer Art Textbeschreibung, die aus einer Datei gelesen wird; im Grunde möchte ich in der Lage sein, eine Java-Methode aufzurufen - die wiederum ein externes Programm ausführen kann; das tue ich KEIN visuelles Tool, das Benutzereingaben erfordert).
  • Die Ausgabe sollte ein PDF sein.
  • Wenn möglich, sollte das Routing automatisch erfolgen.
  • Es sollte unter Windows laufen .

Während dies einfach genug erscheint, habe ich durch umfangreiche Recherchen nichts Befriedigendes gefunden. Die Werkzeuge, die am nächsten kamen, waren:

Ich habe mir natürlich graphviz angesehen, aber das Problem dabei ist, dass man graphviz nicht sagen kann, wo genau die Kanten an die Knoten andocken sollen - was unerlässlich ist, wenn man Ein- und Ausgänge spezifizieren will.

Es gibt auch diese Frage auf SE: https://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing . Aber ohne ins Detail zu gehen, alle Vorschläge dort haben für mich aufgrund der oben genannten Einschränkungen nicht funktioniert.

Ich hätte erwartet, dass dies ein Problem ist, das schon oft gelöst wurde ... (Und vielleicht habe ich nur schlecht gegoogelt.)

Der Tikz-Ansatz sollte gut funktionieren. Eine Lösung für Ihr hängendes Java-Programm ist relativ einfach. Antwort in der verlinkten Frage.
@DanielRenshaw Danke, ich schaue mir das an (Ich habe schon einmal versucht, die Ausgabe umzuleiten, wenn auch nicht auf die gleiche Weise; die Vorschläge scheinen doch vernünftig zu sein; ich werde es dich wissen lassen; mit tikz muss ich das Routing durchführen manuell, oder?)

Antworten (2)

Ich würde vorschlagen, einen Blick auf SchemDraw zu werfen , ein Python -Paket, das:

  • kann Ergebnisse in svg, eps oder pdf ausgeben,
  • ermöglicht es Ihnen, Ihre eigenen Komponenten zu definieren,
  • ist plattformübergreifend (einschließlich Windows),
  • ist kostenlos, gratis & FOSS

Sie können die Diagramme entweder direkt aus Python erstellen oder Ihr eigenes Format zum Speichern der Informationen definieren und diese darin analysieren.

Das sieht WIRKLICH toll aus! Ich habe keine Erfahrung mit Python, aber vielleicht ist das der ultimative Grund, es endlich zu lernen!

Es gibt ein neues Projekt namens netlistsvg , das vielleicht ins Schwarze trifft; Es befindet sich noch in den Anfängen, ist aber auf Logikdiagramme und insbesondere auf die Verilog-Synthese ausgerichtet.