Wrapped script in main function
Signed-off-by: Grzegorz Latosinski <glatosinski@antmicro.com>
This commit is contained in:
parent
c8b18d8ad4
commit
f177fa7797
|
@ -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))
|
||||||
|
|
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue