4

I'm looking for a (preferably open source) tool to visualize logic circuits such as this

circuit

with the following constraints:

  • The diagram description should be given programmatically (through java or by providing some kind of textual description which is read from a file; basically I want to be able to call a Java method - which, in turn, may run an external program; I do NOT want a visual tool which requires user input).
  • The output should be a PDF.
  • If possible, routing should be done automatically.
  • It should run on Windows.

While this seems simple enough, I have not found anything satisfactory through extensive research. The tools that came closest were:

I obviously looked at graphviz, but the problem there is that you cannot tell graphviz where exactly the edges should dock on to the nodes - which is essential if you want to specify inputs and outputs.

There is also this question on SE: https://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing. But without going into detail, all of the suggestions there didn't work for me due to the above mentioned constraints.

I'd have expected this to be a problem solved many times before... (And maybe I just googled poorly.)

2
  • 1
    The Tikz approach should work fine. A solution for your hanging Java program is reasonably straightforward. Answer given in the linked question. Commented Nov 14, 2015 at 21:04
  • @DanielRenshaw Thanks, I'm looking into it (I have tried redirecting the output before, though not in the same way; the suggestions seems reasonable after all; I'll let you know; with tikz I'll have to do the routing manually, right?) Commented Nov 15, 2015 at 11:51

2 Answers 2

3

I would suggest taking a look at SchemDraw which is a python package which:

  • can output results in svg, eps, or pdf,
  • allows you to define your own components,
  • is cross platform, (including windows),
  • is free, gratis & FOSS

You can either create the diagrams directly from python or you can define your own format for storing the information and parse it in.

1
  • 1
    This looks REALLY great! I've no experience with Python, but maybe this will be the ultimate reason to finally start learning it! Commented Nov 16, 2015 at 8:43
2

There's a new project called netlistsvg which may fit the bill; it's still in the early stages but is geared toward logic diagrams, and especially Verilog synthesis.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.