netlistsvg icon indicating copy to clipboard operation
netlistsvg copied to clipboard

Redundant "Larry" VCCs and other connections

Open amstan opened this issue 6 years ago • 8 comments
trafficstars

I keep seeing connections that are redundant. Note a lot of the VCCs, they connect one way, but then they go around the part and connect from the other side too, just to be sure. Skin doesn't seem to make a difference for my file.

out See attachment for source json (same file as out_good.json from the other bug I submitted): out_good.zip

I noticed the same thing happening when using the common emitter example in the demo with the analog skin selected, see base of the transistor.

I remember there used to be a rendered picture of the common_emitter circuit in the docs and it didn't have this problem.

amstan avatar Mar 30 '19 02:03 amstan

This might be an issue I've seen before. If you look at the first screenshot on the readme you'll see there's a redundant line to count_out. It's due to the way that ELK doesn't really handle hyper edges.

I probably made it even worse when I added "lateral port" handling a while back.

I'll need to add a step to search for these redundant wires and delete it down to the minimum number required to connect all of the ports.

nturley avatar Apr 01 '19 03:04 nturley

Are you setting postCompaction now? https://github.com/nturley/netlistsvg/pull/40#issuecomment-394457005

kasbah avatar Apr 01 '19 10:04 kasbah

I need to write up a document of all of the types of bad layouts.

I think ELK is tracking this issue here: https://github.com/eclipse/elk/issues/374

I just added postCompaction the other day but it probably won't help with this particular issue.

nturley avatar Apr 04 '19 03:04 nturley

Here's the latest output (pulled a few hours ago) for my schematic: https://google.github.io/pcbdl/examples/servo_micro.svg

You can still see the same problem around U7 and U3.

postCompaction did make a lot of things shorter, I like that.

amstan avatar Apr 04 '19 04:04 amstan

It looks like youd benefit from wide nodes on multiple layers. We should try turning that on the analog skin as well. https://www.eclipse.org/elk/reference/options/org-eclipse-elk-layered-layering-widenodesonmultiplelayers.html

nturley avatar Apr 05 '19 00:04 nturley

I feel like I'm doing something wrong when trying to enable this.

It has no effect. But to be fair, even if I had typos it wouldn't complain about it

diff --git a/lib/analog.svg b/lib/analog.svg
index 0ef2d2e..6956616 100644
--- a/lib/analog.svg
+++ b/lib/analog.svg
@@ -9,6 +9,7 @@
	org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers="5"
	layered.compaction.postCompaction.strategy="4"
	elk.spacing.nodeNode= "35"
+        org.eclipse.elk.layered.layering.wideNodesOnMultipleLayers="AGGRESSIVE"
	org.eclipse.elk.direction="DOWN"/>
<s:low_priority_alias val="$dff" />
</s:properties>

amstan avatar Apr 05 '19 01:04 amstan

odd, I would've thought that would do something more interesting from the description.

nturley avatar Apr 05 '19 03:04 nturley

I can only assume I didn't enable it properly.

amstan avatar Apr 05 '19 04:04 amstan