added area to datasheet

This commit is contained in:
Jesse Cirimelli-Low 2018-11-08 21:30:17 -08:00
parent 30bffdf1b4
commit d6c0247ff2
3 changed files with 8 additions and 7 deletions

View File

@ -502,6 +502,7 @@ class lib:
def parse_info(self,corner,lib_name): def parse_info(self,corner,lib_name):
""" Copies important characterization data to datasheet.info to be added to datasheet """
if OPTS.is_unit_test: if OPTS.is_unit_test:
return return
datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+') datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+')

View File

@ -7,7 +7,6 @@ packages to be installed.
#TODO: #TODO:
#locate all port elements in .lib #locate all port elements in .lib
#Locate all timing elements in .lib #Locate all timing elements in .lib
#Calculate area from .gds file
#Diagram generation #Diagram generation
#Improve css #Improve css
@ -43,7 +42,7 @@ def process_name(corner):
else: else:
return "custom" return "custom"
def parse_characterizer_csv(f,pages): def parse_characterizer_csv(sram,f,pages):
""" """
Parses output data of the Liberty file generator in order to construct the timing and Parses output data of the Liberty file generator in order to construct the timing and
current table current table
@ -174,7 +173,6 @@ def parse_characterizer_csv(f,pages):
new_sheet.timing.append(timing_and_current_data_item('CSb hold falling',FF_HOLD_HL_MIN,FF_HOLD_HL_MAX,'ns')) new_sheet.timing.append(timing_and_current_data_item('CSb hold falling',FF_HOLD_HL_MIN,FF_HOLD_HL_MAX,'ns'))
new_sheet.timing.append(timing_and_current_data_item('AC current','2','3','4')) new_sheet.timing.append(timing_and_current_data_item('AC current','2','3','4'))
new_sheet.timing.append(timing_and_current_data_item('Standby current','2','3','4')) new_sheet.timing.append(timing_and_current_data_item('Standby current','2','3','4'))
new_sheet.timing.append(timing_and_current_data_item('Area','2','3','4'))
if not OPTS.netlist_only: if not OPTS.netlist_only:
#physical layout files should not be generated in netlist only mode #physical layout files should not be generated in netlist only mode
@ -197,13 +195,15 @@ def parse_characterizer_csv(f,pages):
new_sheet.io.append(in_out_item('NUM_RW_PORTS',NUM_RW_PORTS)) new_sheet.io.append(in_out_item('NUM_RW_PORTS',NUM_RW_PORTS))
new_sheet.io.append(in_out_item('NUM_R_PORTS',NUM_R_PORTS)) new_sheet.io.append(in_out_item('NUM_R_PORTS',NUM_R_PORTS))
new_sheet.io.append(in_out_item('NUM_W_PORTS',NUM_W_PORTS)) new_sheet.io.append(in_out_item('NUM_W_PORTS',NUM_W_PORTS))
new_sheet.io.append(in_out_item('Area',sram.width * sram.height))
class datasheet_gen(): class datasheet_gen():
def datasheet_write(name): def datasheet_write(sram,name):
if OPTS.datasheet_gen: if OPTS.datasheet_gen:
in_dir = OPTS.openram_temp in_dir = OPTS.openram_temp
@ -213,7 +213,7 @@ class datasheet_gen():
datasheets = [] datasheets = []
parse_characterizer_csv(in_dir + "/datasheet.info", datasheets) parse_characterizer_csv(sram, in_dir + "/datasheet.info", datasheets)
for sheets in datasheets: for sheets in datasheets:

View File

@ -122,7 +122,7 @@ class sram():
from datasheet_gen import datasheet_gen from datasheet_gen import datasheet_gen
dname = OPTS.output_path + self.s.name + ".html" dname = OPTS.output_path + self.s.name + ".html"
print("Datasheet: writing to {0}".format(dname)) print("Datasheet: writing to {0}".format(dname))
datasheet_gen.datasheet_write(dname) datasheet_gen.datasheet_write(self.s,dname)
print_time("Datasheet", datetime.datetime.now(), start_time) print_time("Datasheet", datetime.datetime.now(), start_time)
# Write a verilog model # Write a verilog model