2019-04-26 12:21:50 -07:00
|
|
|
# See LICENSE for licensing information.
|
|
|
|
|
#
|
2023-01-28 22:56:27 -08:00
|
|
|
# Copyright (c) 2016-2023 Regents of the University of California and The Board
|
2019-06-14 08:43:41 -07:00
|
|
|
# of Regents for the Oklahoma Agricultural and Mechanical College
|
|
|
|
|
# (acting for and on behalf of Oklahoma State University)
|
|
|
|
|
# All rights reserved.
|
2019-04-26 12:21:50 -07:00
|
|
|
#
|
2018-09-11 10:17:24 -07:00
|
|
|
"""
|
|
|
|
|
This is a DRC/LVS/PEX interface file the case with no DRC/LVS tools.
|
|
|
|
|
"""
|
2022-11-27 13:01:20 -08:00
|
|
|
|
|
|
|
|
from openram import debug
|
2018-09-11 10:17:24 -07:00
|
|
|
|
|
|
|
|
# Only print the warning once.
|
|
|
|
|
drc_warned = False
|
|
|
|
|
lvs_warned = False
|
|
|
|
|
pex_warned = False
|
|
|
|
|
|
2020-04-02 12:52:42 -07:00
|
|
|
|
2020-12-21 13:51:50 -08:00
|
|
|
def write_drc_script(cell_name, gds_name, extract, final_verification=False, output_path=None, sp_name=None):
|
|
|
|
|
debug.error("Cannot write DRC script for unknown tool", -1)
|
2020-11-09 11:12:31 -08:00
|
|
|
|
|
|
|
|
|
2020-11-10 17:06:24 -08:00
|
|
|
def run_drc(cell_name, gds_name, sp_name, extract=False, final_verification=False, output_path=None):
|
2018-09-11 10:17:24 -07:00
|
|
|
global drc_warned
|
|
|
|
|
if not drc_warned:
|
2020-07-14 08:38:49 -07:00
|
|
|
debug.error("DRC unable to run.", -1)
|
2018-09-11 10:17:24 -07:00
|
|
|
drc_warned=True
|
2020-04-02 12:52:42 -07:00
|
|
|
# Since we warned, return a failing test.
|
2018-09-11 10:17:24 -07:00
|
|
|
return 1
|
2020-04-02 12:52:42 -07:00
|
|
|
|
|
|
|
|
|
2020-11-10 17:06:24 -08:00
|
|
|
def write_lvs_script(cell_name, gds_name, sp_name, final_verification=False, output_path=None):
|
2020-11-09 11:12:31 -08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
2020-11-10 17:06:24 -08:00
|
|
|
def run_lvs(cell_name, gds_name, sp_name, final_verification=False, output_path=None):
|
2018-09-11 10:17:24 -07:00
|
|
|
global lvs_warned
|
|
|
|
|
if not lvs_warned:
|
2020-07-14 08:38:49 -07:00
|
|
|
debug.error("LVS unable to run.", -1)
|
2018-09-11 10:17:24 -07:00
|
|
|
lvs_warned=True
|
|
|
|
|
# Since we warned, return a failing test.
|
|
|
|
|
return 1
|
|
|
|
|
|
2020-04-02 12:52:42 -07:00
|
|
|
|
2020-11-10 17:06:24 -08:00
|
|
|
def run_pex(name, gds_name, sp_name, output=None, final_verification=False, output_path=None):
|
2020-04-02 12:52:42 -07:00
|
|
|
global pex_warned
|
2018-09-11 10:17:24 -07:00
|
|
|
if not pex_warned:
|
2020-07-14 08:38:49 -07:00
|
|
|
debug.error("PEX unable to run.", -1)
|
2018-09-11 10:17:24 -07:00
|
|
|
pex_warned=True
|
2020-04-02 12:52:42 -07:00
|
|
|
# Since we warned, return a failing test.
|
2018-09-11 10:17:24 -07:00
|
|
|
return 1
|
|
|
|
|
|
2020-04-02 12:52:42 -07:00
|
|
|
|
2018-09-11 10:17:24 -07:00
|
|
|
def print_drc_stats():
|
|
|
|
|
pass
|
2020-04-02 12:52:42 -07:00
|
|
|
|
|
|
|
|
|
2018-09-11 10:17:24 -07:00
|
|
|
def print_lvs_stats():
|
|
|
|
|
pass
|
2020-04-02 12:52:42 -07:00
|
|
|
|
|
|
|
|
|
2018-09-11 10:17:24 -07:00
|
|
|
def print_pex_stats():
|
|
|
|
|
pass
|