diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 5bf4c9d6..e68e94df 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -8,18 +8,24 @@ Locate all timing elements in .lib Diagram generation Improve css """ - -import os, math -import optparse -from flask_table import * -import csv +import debug from globals import OPTS -from deliverables import * -from operating_conditions import * -from timing_and_current_data import * -from characterization_corners import * -from datasheet import * -from in_out import * + +if OPTS.datasheet_gen: + import flask_table + import os, math + import optparse + import csv + from deliverables import * + from operating_conditions import * + from timing_and_current_data import * + from characterization_corners import * + from datasheet import * + from in_out import * +else: + debug.warning("Python library flask_table not found. Skipping html datasheet generation. This can be installed with pip install flask-table.") + + def process_name(corner): if corner == "TT": @@ -131,20 +137,21 @@ def parse_file(f,pages): class datasheet_gen(): def datasheet_write(name): - - in_dir = OPTS.openram_temp - if not (os.path.isdir(in_dir)): - os.mkdir(in_dir) + if OPTS.datasheet_gen: + in_dir = OPTS.openram_temp + + if not (os.path.isdir(in_dir)): + os.mkdir(in_dir) - #if not (os.path.isdir(out_dir)): - # os.mkdir(out_dir) + #if not (os.path.isdir(out_dir)): + # os.mkdir(out_dir) - datasheets = [] - parse_file(in_dir + "/datasheet.info", datasheets) + datasheets = [] + parse_file(in_dir + "/datasheet.info", datasheets) - for sheets in datasheets: - with open(name, 'w+') as f: - sheets.generate_html() - f.write(sheets.html) + for sheets in datasheets: + with open(name, 'w+') as f: + sheets.generate_html() + f.write(sheets.html) diff --git a/compiler/globals.py b/compiler/globals.py index e67d4c4d..11606bf2 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -109,7 +109,6 @@ def check_versions(): import flask_table OPTS.datasheet_gen = 1 except: - debug.warning("flask_table is not installed. HTML datasheet will not be generated") OPTS.datasheet_gen = 0 diff --git a/compiler/sram.py b/compiler/sram.py index 56c7d912..59b7d7e8 100644 --- a/compiler/sram.py +++ b/compiler/sram.py @@ -109,13 +109,12 @@ class sram(): print_time("LEF", datetime.datetime.now(), start_time) # Write the datasheet - if OPTS.datasheet_gen: - start_time = datetime.datetime.now() - from datasheet_gen import datasheet_gen - dname = OPTS.output_path + self.s.name + ".html" - print("Datasheet: writing to {0}".format(dname)) - datasheet_gen.datasheet_write(dname) - print_time("Datasheet", datetime.datetime.now(), start_time) + start_time = datetime.datetime.now() + from datasheet_gen import datasheet_gen + dname = OPTS.output_path + self.s.name + ".html" + print("Datasheet: writing to {0}".format(dname)) + datasheet_gen.datasheet_write(dname) + print_time("Datasheet", datetime.datetime.now(), start_time) # Write a verilog model start_time = datetime.datetime.now()