// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
  // The tool sources include the technology setup file,
  // the main synthesis run script and the constraints file
  tool_srcs: ["{proj_root}/hw/foundry/syn/{tool}/setup.tcl"
              "{proj_root}/hw/foundry/syn/{tool}/lib-setup.tcl"
              "{proj_root}/hw/foundry/syn/{tool}/ram-macros-setup.tcl"
              "{proj_root}/hw/syn/tools/{tool}/run-syn.tcl"
              "{sdc_path}/{sdc_file}"]

  // Environment variables that are needed in the synthesis script
  exports: [
    { DUT:        "{dut}" },
    { CONSTRAINT: "{sdc_file}" },
    { BUILD_DIR:  "{build_dir}" },
    { SV_FLIST:   "{sv_flist}" }
  ]

  // Tool invocation
  build_cmd:  "{job_prefix} dc_shell-xg-t "
  build_opts: ["-f run-syn.tcl"]

  // DC-specific results parsing script that is called after running synthesis
  report_cmd: "{proj_root}/hw/syn/tools/{tool}/parse-syn-report.py --depth {area_depth}"
  report_opts: ["--dut {dut}",
                "--logpath {build_dir} ",
                "--reppath {build_dir}/REPORTS",
                "--outdir {build_dir}"]

  // Restrict the maximum message count in each category
  max_msg_count: 20
  // Do not sanitize regression mails, but do sanitize the published report
  sanitize_email_results:   false
  sanitize_publish_results: true
}
