mirror of https://github.com/VLSIDA/OpenRAM.git
Adds checks to prevent characterization of redundant corners.
This commit is contained in:
parent
e4fef73e3f
commit
df2f981a34
|
|
@ -81,17 +81,25 @@ class lib:
|
||||||
self.lib_files = []
|
self.lib_files = []
|
||||||
|
|
||||||
# Nominal corner
|
# Nominal corner
|
||||||
self.add_corner(nom_process, nom_supply, nom_temperature)
|
corner_set = set()
|
||||||
|
nom_corner = (nom_process, nom_supply, nom_temperature)
|
||||||
|
corner_set.add(nom_corner)
|
||||||
if not OPTS.nominal_corner_only:
|
if not OPTS.nominal_corner_only:
|
||||||
# Temperature corners
|
# Temperature corners
|
||||||
self.add_corner(nom_process, nom_supply, min_temperature)
|
corner_set.add((nom_process, nom_supply, min_temperature))
|
||||||
self.add_corner(nom_process, nom_supply, max_temperature)
|
corner_set.add((nom_process, nom_supply, max_temperature))
|
||||||
# Supply corners
|
# Supply corners
|
||||||
self.add_corner(nom_process, min_supply, nom_temperature)
|
corner_set.add((nom_process, min_supply, nom_temperature))
|
||||||
self.add_corner(nom_process, max_supply, nom_temperature)
|
corner_set.add((nom_process, max_supply, nom_temperature))
|
||||||
# Process corners
|
# Process corners
|
||||||
self.add_corner(min_process, nom_supply, nom_temperature)
|
corner_set.add((min_process, nom_supply, nom_temperature))
|
||||||
self.add_corner(max_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)
|
||||||
|
corner_set.remove(nom_corner)
|
||||||
|
for corner_tuple in corner_set:
|
||||||
|
self.add_corner(*corner_tuple)
|
||||||
|
|
||||||
def add_corner(self, proc, volt, temp):
|
def add_corner(self, proc, volt, temp):
|
||||||
self.corner_name = "{0}_{1}_{2}V_{3}C".format(self.sram.name,
|
self.corner_name = "{0}_{1}_{2}V_{3}C".format(self.sram.name,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue