Wrapped script in main function

Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
This commit is contained in:
Grzegorz Latosinski 2020-11-16 17:38:07 +01:00
parent c8b18d8ad4
commit f177fa7797
2 changed files with 24 additions and 9 deletions

View File

@ -24,6 +24,7 @@ import matplotlib.pyplot as plt
from pathlib import Path from pathlib import Path
import csv import csv
from collections import defaultdict from collections import defaultdict
import sys
logger = Logging.setup_logging() logger = Logging.setup_logging()
@ -120,14 +121,14 @@ def generate_fet_plots(
# fet_W and fet_L values here are only for initialization, they are # fet_W and fet_L values here are only for initialization, they are
# later changed in the for loop # later changed in the for loop
c = create_test_circuit(fet_type, iparam, 0.15, 1, corner_path) c = create_test_circuit(fet_type, iparam, 0.15, 1, corner_path)
bins = read_bins(bins_csv) bins = read_bins(bins_csv)
bins_by_W = defaultdict(list) bins_by_W = defaultdict(list)
# group bins by W # group bins by W
for line in bins: for line in bins:
bins_by_W[line[2]].append(line) bins_by_W[line[2]].append(line)
Ws = only_W if only_W is not None else list(bins_by_W.keys()) Ws = only_W if only_W is not None else list(bins_by_W.keys())
for W in Ws: for W in Ws:
@ -149,17 +150,18 @@ def generate_fet_plots(
) )
fg.tight_layout() fg.tight_layout()
fg.savefig( fg.savefig(
Path(outdir) / (outprefix + f'_{name}_W{str(W).replace(".", "_")}.{ext}'), Path(outdir) / (
outprefix + f'_{name}_W{str(W).replace(".", "_")}.{ext}'),
bbox_extra_artists=(lg,), bbox_extra_artists=(lg,),
bbox_inches='tight' bbox_inches='tight'
) )
plt.close('all') plt.close('all')
if __name__ == '__main__': def main(argv):
import argparse import argparse
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser(prog=argv[0])
parser.add_argument( parser.add_argument(
'fet_type', 'fet_type',
help='FET type to simulate' help='FET type to simulate'
@ -194,7 +196,7 @@ if __name__ == '__main__':
help='The image extension to use for figures', help='The image extension to use for figures',
default='svg' default='svg'
) )
args = parser.parse_args() args = parser.parse_args(argv[1:])
if args.outprefix is None: if args.outprefix is None:
args.outprefix = args.fet_type args.outprefix = args.fet_type
@ -207,3 +209,9 @@ if __name__ == '__main__':
args.outprefix, args.outprefix,
args.only_w, args.only_w,
args.ext) args.ext)
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@ -19,11 +19,13 @@
import argparse import argparse
from pathlib import Path from pathlib import Path
import sys
from fet_simulator import generate_fet_plots from fet_simulator import generate_fet_plots
if __name__ == '__main__':
parser = argparse.ArgumentParser() def main(argv):
parser = argparse.ArgumentParser(prog=argv[0])
parser.add_argument( parser.add_argument(
'fd_pr_dir', 'fd_pr_dir',
help='Path to the particular version of the primitive library', help='Path to the particular version of the primitive library',
@ -35,7 +37,7 @@ if __name__ == '__main__':
type=Path type=Path
) )
args = parser.parse_args() args = parser.parse_args(argv[1:])
typicalcorner = args.fd_pr_dir / 'models/corners/tt.spice' typicalcorner = args.fd_pr_dir / 'models/corners/tt.spice'
@ -70,3 +72,8 @@ if __name__ == '__main__':
f'sim_{fetname}_', f'sim_{fetname}_',
onlyw onlyw
) )
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv))