Added an option that prevents lib.py from generating corners and only uses corners in config file.

This commit is contained in:
Hunter Nichols 2020-12-17 15:32:15 -08:00
parent 240dc784af
commit 732404b330
2 changed files with 23 additions and 12 deletions

View File

@ -77,18 +77,27 @@ class lib:
# Nominal corner
corner_set = set()
nom_corner = (nom_process, nom_supply, nom_temperature)
corner_set.add(nom_corner)
if not OPTS.nominal_corner_only:
# Temperature corners
corner_set.add((nom_process, nom_supply, min_temperature))
corner_set.add((nom_process, nom_supply, max_temperature))
# Supply corners
corner_set.add((nom_process, min_supply, nom_temperature))
corner_set.add((nom_process, max_supply, nom_temperature))
# Process corners
corner_set.add((min_process, nom_supply, nom_temperature))
corner_set.add((max_process, nom_supply, nom_temperature))
if OPTS.only_use_config_corners:
if OPTS.nominal_corner_only:
debug.warning("Nominal corner only option ignored if use only config corners is set.")
# Generate a powerset of input PVT lists
for p in self.process_corners:
for v in self.supply_voltages:
for t in self.temperatures:
corner_set.add((p, v, t))
else:
nom_corner = (nom_process, nom_supply, nom_temperature)
corner_set.add(nom_corner)
if not OPTS.nominal_corner_only:
# Temperature corners
corner_set.add((nom_process, nom_supply, min_temperature))
corner_set.add((nom_process, nom_supply, max_temperature))
# Supply corners
corner_set.add((nom_process, min_supply, nom_temperature))
corner_set.add((nom_process, max_supply, nom_temperature))
# Process corners
corner_set.add((min_process, nom_supply, nom_temperature))
corner_set.add((max_process, nom_supply, nom_temperature))
# Enforce that nominal corner is the first to be characterized
self.add_corner(*nom_corner)

View File

@ -82,6 +82,8 @@ class options(optparse.Values):
verbose_level = 0
# Drop to pdb on failure?
debug = False
# Only use corners in config file. Disables generated corners
only_use_config_corners = False
###################