add VIA but metal not working yet
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 28 Feb 2020 10:27:47 +0000 (10:27 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 28 Feb 2020 10:27:47 +0000 (10:27 +0000)
experiments5/doAlu16.py

index d6e51a45c9ea3866a26906eacbfe7b57ae4e21ee..75c3369657c5f8d527df5c472ca39c9fb518c98e 100755 (executable)
@@ -54,24 +54,24 @@ def createHorizontal ( contactPaths, y, layer, width=None):
 
     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)
@@ -226,11 +226,13 @@ def add ( **kw ):
         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
@@ -559,9 +561,9 @@ def alu_hier_route(**kw):
 
 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