cve2/syn/python/build_translated_names.py
Greg Chadwick 79bb6c7832 [syn] Synth flow improvements
Adds significant functionality to synthesis flow. Timing reports are
generated using OpenSTA and an area report is generated. Flow supports
open Nangate45 library from OpenROAD.
2020-01-07 14:09:17 +00:00

47 lines
1.3 KiB
Python
Executable file

#!/usr/bin/python3
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
import argparse
import subprocess
from flow_utils import *
def main():
arg_parser = argparse.ArgumentParser(
description=
"""Uses yosys to translate cell names from given timing reports to human
readable names (assumes flatted synthesis run)""")
arg_parser.add_argument('top_level', help='Name of the top-level module')
arg_parser.add_argument(
'gen_out', help='Path to place generated script and script output')
arg_parser.add_argument(
'rpts',
nargs='+',
help='Report files to generate human readable names from')
args = arg_parser.parse_args()
cells_to_translate = set()
for csv_rpt in args.rpts:
(new_cells_to_translate, path_info) = extract_path_info(csv_rpt)
cells_to_translate.update(new_cells_to_translate)
create_translate_names_script(cells_to_translate, args.top_level,
args.gen_out)
yosys_cmd = [
'yosys', '-s', '{}/{}'.format(args.gen_out,
ys_translate_script_filename)
]
subprocess.run(yosys_cmd)
if __name__ == "__main__":
main()