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


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.)

  • 1
    The Tikz approach should work fine. A solution for your hanging Java program is reasonably straightforward. Answer given in the linked question. Nov 14 '15 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?) Nov 15 '15 at 11:51

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
    This looks REALLY great! I've no experience with Python, but maybe this will be the ultimate reason to finally start learning it! Nov 16 '15 at 8:43

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, privacy policy and cookie policy

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