Additional corrections to the standalone library compile scripts.
diff --git a/common/create_gds_library.py b/common/create_gds_library.py
index 23b7553..85380fe 100755
--- a/common/create_gds_library.py
+++ b/common/create_gds_library.py
@@ -36,7 +36,7 @@
#----------------------------------------------------------------------------
-def create_gds_library(destlibdir, destlib, startup_script, do_compile_only, excludelist, keep):
+def create_gds_library(destlibdir, destlib, startup_script, do_compile_only=False, excludelist=[], keep=False):
alllibname = destlibdir + '/' + destlib + '.gds'
if os.path.isfile(alllibname):
@@ -130,9 +130,6 @@
for gfile in glist:
if os.path.isfile(gfile):
os.remove(gfile)
- if newname:
- if os.path.isfile(newname):
- os.remove(newname)
if not keep:
os.remove(destlibdir + '/generate_magic.tcl')
else:
@@ -163,7 +160,7 @@
keyval = option[1:].split('=')
if keyval[0] == 'compile-only':
if len(keyval) > 0:
- if keyval[1].tolower() == 'true' or keyval[1] == 'yes' or keyval[1] == '1':
+ if keyval[1].tolower() == 'true' or keyval[1].tolower() == 'yes' or keyval[1] == '1':
do_compile_only = True
else:
do_compile_only = True
diff --git a/common/create_lef_library.py b/common/create_lef_library.py
index 2b76f9a..2d56b41 100755
--- a/common/create_lef_library.py
+++ b/common/create_lef_library.py
@@ -14,6 +14,8 @@
import glob
import fnmatch
+#----------------------------------------------------------------------------
+
def usage():
print('')
print('Usage:')
@@ -29,7 +31,9 @@
print(' -excludelist= is a comma-separated list of files to ignore')
print('')
-def create_lef_library(destlibdir, destlib, do_compile_only, excludelist):
+#----------------------------------------------------------------------------
+
+def create_lef_library(destlibdir, destlib, do_compile_only=False, excludelist=[]):
alllibname = destlibdir + '/' + destlib + '.lef'
if os.path.isfile(alllibname):
@@ -84,9 +88,6 @@
for lfile in llist:
if os.path.isfile(lfile):
os.remove(lfile)
- if newname:
- if os.path.isfile(newname):
- os.remove(newname)
else:
print('Only one file (' + str(llist) + '); ignoring "compile" option.')
@@ -114,7 +115,7 @@
keyval = option[1:].split('=')
if keyval[0] == 'compile-only':
if len(keyval) > 0:
- if keyval[1].tolower() == 'true' or keyval[1] == 'yes' or keyval[1] == '1':
+ if keyval[1].tolower() == 'true' or keyval[1].tolower() == 'yes' or keyval[1] == '1':
do_compile_only = True
else:
do_compile_only = True
diff --git a/common/create_lib_library.py b/common/create_lib_library.py
index 8f9a39f..7ee350c 100755
--- a/common/create_lib_library.py
+++ b/common/create_lib_library.py
@@ -14,6 +14,8 @@
import glob
import fnmatch
+#----------------------------------------------------------------------------
+
def usage():
print('')
print('Usage:')
@@ -29,14 +31,16 @@
print(' -excludelist= is a comma-separated list of files to ignore')
print('')
+#----------------------------------------------------------------------------
# Warning: This script is unfinished. Needs to parse the library header
# in each cell and generate a new library header combining the contents of
# all cell headers. Also: The library name in the header needs to be
# changed to the full library name. Also: There is no mechanism for
# collecting all files belonging to a single process corner/temperature/
# voltage.
+#----------------------------------------------------------------------------
-def create_lib_library(destlibdir, destlib, do_compile_only, excludelist):
+def create_lib_library(destlibdir, destlib, do_compile_only=False, excludelist=[]):
alllibname = destlibdir + '/' + destlib + '.lib'
if os.path.isfile(alllibname):
@@ -83,9 +87,6 @@
for lfile in llist:
if os.path.isfile(lfile):
os.remove(lfile)
- if newname:
- if os.path.isfile(newname):
- os.remove(newname)
else:
print('Only one file (' + str(llist) + '); ignoring "compile" option.')
@@ -113,7 +114,7 @@
keyval = option[1:].split('=')
if keyval[0] == 'compile-only':
if len(keyval) > 0:
- if keyval[1].tolower() == 'true' or keyval[1] == 'yes' or keyval[1] == '1':
+ if keyval[1].tolower() == 'true' or keyval[1].tolower() == 'yes' or keyval[1] == '1':
do_compile_only = True
else:
do_compile_only = True
diff --git a/common/create_spice_library.py b/common/create_spice_library.py
index 6b8aa83..a25ac34 100755
--- a/common/create_spice_library.py
+++ b/common/create_spice_library.py
@@ -36,7 +36,7 @@
#----------------------------------------------------------------------------
-def create_spice_library(destlibdir, destlib, spiext, do_compile_only, do_stub, excludelist):
+def create_spice_library(destlibdir, destlib, spiext, do_compile_only=False, do_stub=False, excludelist=[]):
fformat = 'CDL' if spiext == '.cdl' else 'SPICE'
diff --git a/common/create_verilog_library.py b/common/create_verilog_library.py
index d8565f4..fb530ab 100755
--- a/common/create_verilog_library.py
+++ b/common/create_verilog_library.py
@@ -35,7 +35,7 @@
#----------------------------------------------------------------------------
-def create_verilog_library(destlibdir, destlib, do_compile_only, do_stub, excludelist):
+def create_verilog_library(destlibdir, destlib, do_compile_only=False, do_stub=False, excludelist=[]):
alllibname = destlibdir + '/' + destlib + '.v'
if os.path.isfile(alllibname):
diff --git a/common/foundry_install.py b/common/foundry_install.py
index 267342b..6e337f5 100755
--- a/common/foundry_install.py
+++ b/common/foundry_install.py
@@ -872,6 +872,11 @@
create_verilog_library(destlibdir, compname, do_compile_only, do_stub, excludelist)
+ if do_compile_only == True:
+ if newname:
+ if os.path.isfile(newname):
+ os.remove(newname)
+
elif option[0] == 'gds' and have_mag_8_2:
# If there is not a single file with all GDS cells in it,
# then compile one.
@@ -882,6 +887,11 @@
startup_script = targetdir + mag_current + pdkname + '.magicrc'
create_gds_library(destlibdir, compname, startup_script, do_compile_only, excludelist)
+ if do_compile_only == True:
+ if newname:
+ if os.path.isfile(newname):
+ os.remove(newname)
+
elif option[0] == 'liberty' or option[0] == 'lib':
# If there is not a single file with all liberty cells in it,
# then compile one, because one does not want to have to have
@@ -889,6 +899,11 @@
create_lib_library(destlibdir, compname, do_compile_only, excludelist)
+ if do_compile_only == True:
+ if newname:
+ if os.path.isfile(newname):
+ os.remove(newname)
+
elif option[0] == 'spice' or option[0] == 'spi':
# If there is not a single file with all SPICE subcircuits in it,
# then compile one, because one does not want to have to have
@@ -919,6 +934,11 @@
create_lef_library(destlibdir, compname, do_compile_only, excludelist)
+ if do_compile_only == True:
+ if newname:
+ if os.path.isfile(newname):
+ os.remove(newname)
+
# Find any libraries/options marked as "privileged" (or "private") and
# move the files from libs.tech or libs.ref to libs.priv, leaving a
# symbolic link in the original location. Do this during the initial