netlistsvg icon indicating copy to clipboard operation
netlistsvg copied to clipboard

Port swapping

Open nturley opened this issue 6 years ago • 3 comments

There are some pins whose position are arbitrary. The layout engine should be able to move them around to reduce wire crossings.

nturley avatar Dec 24 '17 01:12 nturley

Right now all nodes have fixed port positions. Instead, you can set the node to have port constraints of fixed sides, and then adjust the port margin and spacing so that they line up with the original port positions. I think this would slightly change the positioning of the generic ports.

nturley avatar Dec 29 '17 12:12 nturley

Not sure why @dvc94ch declared this unnecessary with merging of #38. I think this would still be really useful to optimize port locations based on the edges and to do auto orientation of analog components.

You say the "layout engine" should do this I haven't found anything in ELK/ELKjs to help. Is this something we would have to do completely in netlistsvg?

kasbah avatar Jun 03 '18 17:06 kasbah

I don't think there is enough information in the input netlistsvg to find the signal path (probably requires a simulator to figure it out) The orientation of components is not something arbitrary that can be rotated at will.

This seems different from what this issue is about port swapping, which I think is useful. But what I think nturley is talking about is using a side constraint which would work very nicely for binary operators.

dvc94ch avatar Jun 04 '18 07:06 dvc94ch