2018-10-12 01:03:05 +02:00
|
|
|
from flask_table import *
|
|
|
|
|
from operating_conditions import *
|
|
|
|
|
from characterization_corners import *
|
|
|
|
|
from deliverables import *
|
|
|
|
|
from timing_and_current_data import *
|
2018-10-18 04:27:09 +02:00
|
|
|
from in_out import *
|
|
|
|
|
import os
|
|
|
|
|
from globals import OPTS
|
2018-10-12 01:03:05 +02:00
|
|
|
|
|
|
|
|
class datasheet():
|
2018-10-31 05:37:30 +01:00
|
|
|
"""
|
|
|
|
|
Defines the layout,but not the data, of the html datasheet
|
|
|
|
|
"""
|
2018-10-12 01:03:05 +02:00
|
|
|
def __init__(self,identifier):
|
2018-10-18 04:27:09 +02:00
|
|
|
self.io = []
|
2018-10-12 01:03:05 +02:00
|
|
|
self.corners = []
|
|
|
|
|
self.timing = []
|
|
|
|
|
self.operating = []
|
|
|
|
|
self.dlv = []
|
|
|
|
|
self.name = identifier
|
|
|
|
|
self.html = ""
|
2018-10-18 04:27:09 +02:00
|
|
|
|
2018-10-12 01:03:05 +02:00
|
|
|
|
|
|
|
|
def generate_html(self):
|
2018-10-31 05:37:30 +01:00
|
|
|
"""
|
|
|
|
|
Generates html tables using flask-table
|
|
|
|
|
"""
|
2018-10-20 23:13:18 +02:00
|
|
|
with open(os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/datasheet.css', 'r') as datasheet_css:
|
2018-10-31 05:37:30 +01:00
|
|
|
#css styling is kept in a seperate file
|
2018-10-20 23:13:18 +02:00
|
|
|
self.html += datasheet_css.read()
|
|
|
|
|
|
2018-10-18 04:27:09 +02:00
|
|
|
self.html +='<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>'+ self.name + '.html' + '</p>'
|
|
|
|
|
|
|
|
|
|
self.html +='<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>Ports and Configuration (DEBUG)</p>'
|
|
|
|
|
self.html += in_out(self.io,table_id='data').__html__().replace('<','<').replace('"','"').replace('>',">")
|
|
|
|
|
|
2018-10-12 01:03:05 +02:00
|
|
|
self.html +='<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>Operating Conditions</p>'
|
|
|
|
|
self.html += operating_conditions(self.operating,table_id='data').__html__()
|
2018-10-18 04:27:09 +02:00
|
|
|
|
2018-10-12 01:03:05 +02:00
|
|
|
self.html += '<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>Timing and Current Data</p>'
|
|
|
|
|
self.html += timing_and_current_data(self.timing,table_id='data').__html__()
|
2018-10-18 04:27:09 +02:00
|
|
|
|
2018-10-12 01:03:05 +02:00
|
|
|
self.html += '<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>Characterization Corners</p>'
|
|
|
|
|
self.html += characterization_corners(self.corners,table_id='data').__html__()
|
2018-10-18 04:27:09 +02:00
|
|
|
|
2018-10-12 01:03:05 +02:00
|
|
|
self.html +='<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>Deliverables</p>'
|
|
|
|
|
self.html += deliverables(self.dlv,table_id='data').__html__().replace('<','<').replace('"','"').replace('>',">")
|
|
|
|
|
|
2018-10-18 04:27:09 +02:00
|
|
|
self.html +='<p style=font-size: 20px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;>*Feature only supported with characterizer</p>'
|
|
|
|
|
|
|
|
|
|
self.html +='<img src=' + os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/vlsi_logo.png alt="VLSIDA" />'
|