2019-04-26 21:21:50 +02:00
|
|
|
# See LICENSE for licensing information.
|
|
|
|
|
#
|
2022-11-30 23:50:43 +01:00
|
|
|
# Copyright (c) 2016-2022 Regents of the University of California and The Board
|
2019-06-14 17:43:41 +02: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 21:21:50 +02:00
|
|
|
#
|
2018-09-11 19:17:24 +02:00
|
|
|
"""
|
|
|
|
|
This is a DRC/LVS/PEX interface file the case with no DRC/LVS tools.
|
|
|
|
|
"""
|
2022-11-27 22:01:20 +01:00
|
|
|
|
|
|
|
|
from openram import debug
|
2018-09-11 19:17:24 +02:00
|
|
|
|
|
|
|
|
# Only print the warning once.
|
|
|
|
|
drc_warned = False
|
|
|
|
|
lvs_warned = False
|
|
|
|
|
pex_warned = False
|
|
|
|
|
|
2020-04-02 21:52:42 +02:00
|
|
|
|
2020-12-21 22:51:50 +01: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 20:12:31 +01:00
|
|
|
|
|
|
|
|
|
2020-11-11 02:06:24 +01:00
|
|
|
def run_drc(cell_name, gds_name, sp_name, extract=False, final_verification=False, output_path=None):
|
2018-09-11 19:17:24 +02:00
|
|
|
global drc_warned
|
|
|
|
|
if not drc_warned:
|
2020-07-14 17:38:49 +02:00
|
|
|
debug.error("DRC unable to run.", -1)
|
2018-09-11 19:17:24 +02:00
|
|
|
drc_warned=True
|
2020-04-02 21:52:42 +02:00
|
|
|
# Since we warned, return a failing test.
|
2018-09-11 19:17:24 +02:00
|
|
|
return 1
|
2020-04-02 21:52:42 +02:00
|
|
|
|
|
|
|
|
|
2020-11-11 02:06:24 +01:00
|
|
|
def write_lvs_script(cell_name, gds_name, sp_name, final_verification=False, output_path=None):
|
2020-11-09 20:12:31 +01:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
2020-11-11 02:06:24 +01:00
|
|
|
def run_lvs(cell_name, gds_name, sp_name, final_verification=False, output_path=None):
|
2018-09-11 19:17:24 +02:00
|
|
|
global lvs_warned
|
|
|
|
|
if not lvs_warned:
|
2020-07-14 17:38:49 +02:00
|
|
|
debug.error("LVS unable to run.", -1)
|
2018-09-11 19:17:24 +02:00
|
|
|
lvs_warned=True
|
|
|
|
|
# Since we warned, return a failing test.
|
|
|
|
|
return 1
|
|
|
|
|
|
2020-04-02 21:52:42 +02:00
|
|
|
|
2020-11-11 02:06:24 +01:00
|
|
|
def run_pex(name, gds_name, sp_name, output=None, final_verification=False, output_path=None):
|
2020-04-02 21:52:42 +02:00
|
|
|
global pex_warned
|
2018-09-11 19:17:24 +02:00
|
|
|
if not pex_warned:
|
2020-07-14 17:38:49 +02:00
|
|
|
debug.error("PEX unable to run.", -1)
|
2018-09-11 19:17:24 +02:00
|
|
|
pex_warned=True
|
2020-04-02 21:52:42 +02:00
|
|
|
# Since we warned, return a failing test.
|
2018-09-11 19:17:24 +02:00
|
|
|
return 1
|
|
|
|
|
|
2020-04-02 21:52:42 +02:00
|
|
|
|
2018-09-11 19:17:24 +02:00
|
|
|
def print_drc_stats():
|
|
|
|
|
pass
|
2020-04-02 21:52:42 +02:00
|
|
|
|
|
|
|
|
|
2018-09-11 19:17:24 +02:00
|
|
|
def print_lvs_stats():
|
|
|
|
|
pass
|
2020-04-02 21:52:42 +02:00
|
|
|
|
|
|
|
|
|
2018-09-11 19:17:24 +02:00
|
|
|
def print_pex_stats():
|
|
|
|
|
pass
|