removed tabs and fixed bug in which datasheets generated without the characterizer running

This commit is contained in:
Jesse Cirimelli-Low 2018-10-11 11:18:40 -07:00
parent 49268b025f
commit bc54bc238f
3 changed files with 77 additions and 88 deletions

View File

@ -64,7 +64,8 @@ s = sram(sram_config=c,
s.save() s.save()
# generate datasheet from characterization of created SRAM # generate datasheet from characterization of created SRAM
p = parser.parse(OPTS.openram_temp,os.environ.get('OPENRAM_HOME')+"/datasheets") if not OPTS.analytical_delay:
p = parser.parse(OPTS.openram_temp,os.environ.get('OPENRAM_HOME')+"/datasheets")
# Delete temp files etc. # Delete temp files etc.
end_openram() end_openram()

View File

@ -17,60 +17,60 @@ import contextlib
from globals import OPTS from globals import OPTS
class deliverables(Table): class deliverables(Table):
typ = Col('Type') typ = Col('Type')
description = Col('Description') description = Col('Description')
link = Col('Link') link = Col('Link')
class deliverables_item(object): class deliverables_item(object):
def __init__(self, typ, description,link): def __init__(self, typ, description,link):
self.typ = typ self.typ = typ
self.description = description self.description = description
self.link = link self.link = link
class operating_conditions(Table): class operating_conditions(Table):
parameter = Col('Parameter') parameter = Col('Parameter')
min = Col('Min') min = Col('Min')
typ = Col('Typ') typ = Col('Typ')
max = Col('Max') max = Col('Max')
units = Col('Units') units = Col('Units')
class operating_conditions_item(object): class operating_conditions_item(object):
def __init__(self, parameter, min, typ, max, units): def __init__(self, parameter, min, typ, max, units):
self.parameter = parameter self.parameter = parameter
self.min = min self.min = min
self.typ = typ self.typ = typ
self.max = max self.max = max
self.units = units self.units = units
class timing_and_current_data(Table): class timing_and_current_data(Table):
parameter = Col('Parameter') parameter = Col('Parameter')
min = Col('Min') min = Col('Min')
max = Col('Max') max = Col('Max')
units = Col('Units') units = Col('Units')
class timing_and_current_data_item(object): class timing_and_current_data_item(object):
def __init__(self, parameter, min, max, units): def __init__(self, parameter, min, max, units):
self.parameter = parameter self.parameter = parameter
self.min = min self.min = min
self.max = max self.max = max
self.units = units self.units = units
class characterization_corners(Table): class characterization_corners(Table):
corner_name = Col('Corner Name') corner_name = Col('Corner Name')
process = Col('Process') process = Col('Process')
power_supply = Col('Power Supply') power_supply = Col('Power Supply')
temperature = Col('Temperature') temperature = Col('Temperature')
library_name_suffix = Col('Library Name Suffix') library_name_suffix = Col('Library Name Suffix')
class characterization_corners_item(object): class characterization_corners_item(object):
def __init__(self, corner_name, process, power_supply, temperature, library_name_suffix): def __init__(self, corner_name, process, power_supply, temperature, library_name_suffix):
self.corner_name = corner_name self.corner_name = corner_name
self.process = process self.process = process
self.power_supply = power_supply self.power_supply = power_supply
self.temperature = temperature self.temperature = temperature
self.library_name_suffix = library_name_suffix self.library_name_suffix = library_name_suffix
def process_name(corner): def process_name(corner):
if corner == "TT": if corner == "TT":
@ -207,7 +207,7 @@ class parse():
def __init__(self,in_dir,out_dir): def __init__(self,in_dir,out_dir):
if not (os.path.isdir(in_dir)): if not (os.path.isdir(in_dir)):
os.mkdir(in_dir) os.mkdir(in_dir)
if not (os.path.isdir(out_dir)): if not (os.path.isdir(out_dir)):
os.mkdir(out_dir) os.mkdir(out_dir)
@ -221,16 +221,3 @@ class parse():
with open(out_dir + "/" + sheets.name + ".html", 'w+') as f: with open(out_dir + "/" + sheets.name + ".html", 'w+') as f:
with contextlib.redirect_stdout(f): with contextlib.redirect_stdout(f):
sheets.print() sheets.print()

View File

@ -63,9 +63,10 @@ class openram_test(openram_test):
files = glob.glob('{0}/*.lib'.format(out_path)) files = glob.glob('{0}/*.lib'.format(out_path))
self.assertTrue(len(files)>0) self.assertTrue(len(files)>0)
# Make sure there is any .html file # Make sure there is any .html file if characterizer was ran
datasheets = glob.glob('{0}/{1}/*html'.format(OPENRAM_HOME,datasheets)) if not OPTS.analytical_delay:
self.assertTrue(len(datasheets)>0) datasheets = glob.glob('{0}/{1}/*html'.format(OPENRAM_HOME,'datasheets'))
self.assertTrue(len(datasheets)>0)
# grep any errors from the output # grep any errors from the output
output_log = open("{0}/output.log".format(out_path),"r") output_log = open("{0}/output.log".format(out_path),"r")