From e22176d81472af953ddaa54d12673da9d9d20a3f Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Fri, 13 May 2022 17:32:52 -0700 Subject: Somewhat more useful default net names --- lace.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lace.rb b/lace.rb index 1d7f2f9..a9b0f36 100644 --- a/lace.rb +++ b/lace.rb @@ -79,25 +79,25 @@ module Lace end def real_nets(refs) - n = 1 nets = {} seen = Set.new @nets.each do | id, net | next if seen.member?(net.object_id) seen.add(net.object_id) - name = net.name - unless name - name = "$unnamed#{n}" - n += 1 - end - raise "Multiple disconnected nets named #{name}" if nets.member?(name) nodes = [] + parts = [] refs.each do | ref, comp | comp.pins.each do | pin, pinnet | - nodes << {:ref => ref, :pin => pin} if definitive_net(pinnet).object_id == net.object_id + next unless definitive_net(pinnet).object_id == net.object_id + nodes << {:ref => ref, :pin => pin} + parts << "#{ref}$#{pin}" end end - nets[name] = nodes if nodes.size > 1 + next unless nodes.size > 1 + name = net.name + name = parts.sort.join("_") unless name + raise "Multiple disconnected nets named #{name}" if nets.member?(name) + nets[name] = nodes end return nets end -- cgit v1.2.3