There are several graph and circuit tools to draw, but I was unable to use them to do what I will describe below:
Suppose I have a block with three inputs and two outputs. I'd like to draw a rectangle with three dots on the left face and two dots on the right face. Each dots is an input or an output, depends on the side.
I'd like to connect blocks using scripts. Suppose a pseudo code like that:
block FA { a input, b input, cin input, s output, cout output }
logic_and and1 { a input, b input, o output }
logic_not not1 { a input, o output }
arrow a1 {and1.o , FA.a }
arrow a2 {FA.s, not1.a }
And as output I get an image like this:
yED is fantastic, as well as Graphviz, but I couldn't create my own "link points" to connect the edges exactly where I want to.
I need a way to generate the script using the language that you advise me, then draw it.
I have very large circuits to draw and this task is unfeasible to be done by hand. I prefer to build a converter than draw more than eight thousand circuits. :-)
I hope someone can help me.