|  | // 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}" | 
|  | 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" | 
|  |  | 
|  | exports: [ | 
|  | { syn_root: "{syn_root}" }, | 
|  | { foundry_root: "{foundry_root}" }, | 
|  | ] | 
|  | } |