blob: 0d0d0392bc7d00e299a832a8c7e7a43c7f51ff78 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
flow: syn
syn_root: "{proj_root}/hw/syn"
flow_makefile: "{syn_root}/tools/dvsim/syn.mk"
// TODO: the path below is used to refer to the foundry area which does not exist in the open
// repo. This forces the closed "foundry" repo to be placed in that area. This might be subject to
// change in future.
foundry_root: "{proj_root}/hw/foundry"
import_cfgs: [// common server configuration for results upload
// TODO: check whether this config file can be aligned such that it can
// be reused among different flow types
// "{proj_root}/hw/dv/tools/dvsim/fusesoc.hjson",
"{proj_root}/hw/data/common_project_cfg.hjson",
"{syn_root}/tools/dvsim/{tool}.hjson"]
// Default directory structure for the output
dut: "{name}"
params: ""
build_dir: "{scratch_path}/{build_mode}"
build_log: "{build_dir}/synthesis.log"
tool: "dc"
// We rely on Fusesoc to generate the file list for us
sv_flist_gen_cmd: "fusesoc"
fusesoc_core_: "{eval_cmd} echo \"{fusesoc_core}\" | tr ':' '_'"
// TODO: switch the tool to dc once the corresponding edalize backend is available
sv_flist_gen_opts: ["--cores-root {proj_root}",
"run"
"--flag=fileset_{design_level}",
"--target={flow}",
"--tool icarus",
"--build-root={build_dir}",
"--setup",
"{fusesoc_core}"]
sv_flist_gen_dir: "{build_dir}/syn-icarus"
sv_flist: "{sv_flist_gen_dir}/{fusesoc_core_}.scr"
// Common fail patterns.
build_fail_patterns: [// FuseSoC build error
"^ERROR:.*$"]
exports: [
{ syn_root: "{syn_root}" },
{ foundry_root: "{foundry_root}" },
]
}