contacts = contactPaths
- if width is None: width = toDbU(2.0)
+ if width is None: width = l(2.0)
contacts.sort( xincrease )
for i in range(1,len(contacts)):
Horizontal.create( contacts[i-1], contacts[i], layer, y, width )
-def build_downtrace(net, layer, x, y, y1):
+def build_downtrace(net, via, layer, x, y, y1):
contacts = \
- [ Contact.create( net, layer, l(x), l(y), l(2.0), l(2.0) )
- , Contact.create( net, layer, l(x), l(y1), l(2.0), l(2.0) )
+ [ Contact.create( net, via, l(x), l(y), l(1.0), l(1.0) )
+ , Contact.create( net, via, l(x), l(y1), l(1.0), l(1.0) )
]
createVertical( contacts, l(x), layer )
- print "slaves", contacts[-1].getSlaveComponents()
- for component in contacts[-1].getSlaveComponents():
- NetExternalComponents.setExternal(component)
+ #print "slaves", contacts[-1].getSlaveComponents()
+ #for component in contacts[-1].getSlaveComponents():
+ #NetExternalComponents.setExternal(component)
#print "af", dir(af)
#sys.exit(0)
success = katana.getSuccessState()
katana.destroy()
- if False:
+ if True:
+ VIA23 = DataBase.getDB().getTechnology().getLayer( 'VIA23' )
UpdateSession.open()
+ build_downtrace(net, VIA23, metal3, 10, 10, 20)
cell.setAbutmentBox( ab )
for i in range(16):
- if True:
+ if False:
net = cell.getNet('b(%d)' % i)
x = 20.0*i + 10.0 + 10
y = height-10
if __name__ == '__main__':
success = add()
- success = sub()
- success = alu_hier_place()
- success = alu_hier_route()
+ #success = sub()
+ #success = alu_hier_place()
+ #success = alu_hier_route()
shellSuccess = 0
if not success: shellSuccess = 1