definitions & routines shared by projects
Revision | b461aa85b97f217bcf5c58211b7d8d98b6a1dc62 (tree) |
---|---|
Time | 2020-02-14 06:14:36 |
Author | Pawel Jewstafjew <Pawel.Jewstafjew@gmai...> |
Commiter | Pawel Jewstafjew |
netlist/netlist.py
@@ -329,17 +329,27 @@ class NetList: | ||
329 | 329 | return False |
330 | 330 | print device.name, pin_name, 'connected to net', net_name, 'instances:', len(pins), pins |
331 | 331 | return True |
332 | + | |
333 | +# pin number | |
334 | + def find_connecting_net(self, device, pin): | |
335 | + node = Node((device.ref, pin)) | |
336 | + net_name = self.find_net(node) | |
337 | + if net_name == None: | |
338 | + return None # not on any net | |
339 | + if len(self.netlist[net_name]) == 1: | |
340 | + return None # sigle node net | |
341 | + print device.name, pin, 'connected to', net_name, self.netlist[net_name] | |
342 | + return net_name | |
343 | + | |
344 | +# pin name | |
332 | 345 | def unconnected_all(self, device, pin_name): |
333 | 346 | pins = device.pinout.pins(pin_name) |
334 | 347 | if pins == []: |
335 | 348 | print 'no pin matches', pin_name, 'in', device.name |
336 | 349 | assert(0) |
337 | 350 | for pin in pins: |
338 | - node = Node((device.ref, pin)) | |
339 | - net_name = self.find_net(node) | |
340 | - if net_name == None: | |
341 | - continue # not on any net - OK | |
342 | - if len(self.netlist[net_name]) != 1: | |
351 | + net_name = self.find_connecting_net(device, pin) | |
352 | + if net_name != None: | |
343 | 353 | print device.name, pin_name, pin, 'connected to', net_name, self.netlist[net_name] |
344 | 354 | return False |
345 | 355 | print device.name, pin_name, 'single node nets, instances:', len(pins) |