Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flow error that dc is unsupported for job runtime extraction #16562

Closed
gzyangcs opened this issue Nov 25, 2022 · 1 comment
Closed

Flow error that dc is unsupported for job runtime extraction #16562

gzyangcs opened this issue Nov 25, 2022 · 1 comment

Comments

@gzyangcs
Copy link

I ran a dc synthesis flow but dvsim gives report below.
The command i ran is "./util/dvsim/dvsim.py -t dc hw/top_earlgrey/syn/chip_earlgrey_asic_syn_cfg.hjson --purge --local" , which found at readme "OpenTitan Synthesis Flow".

INFO: [dvsim] [proj_root]: /home/guozhiyang/work/opentitan
INFO: [OneShotCfg] [scratch_path]: [chip_earlgrey_asic] [/home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc]
INFO: [OneShotCfg] Purging scratch path /home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc
WARNING: [Deploy] chip_earlgrey_asic:default: dc is unsupported for job runtime extraction. Using dvsim-maintained job_runtime instead.
ERROR: [Scheduler] [00:00:03]: [build]: [status] [chip_earlgrey_asic:default: F]
INFO: [SynCfg] looking for result data file at /home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc/default/results.hjson
WARNING: [SynCfg] [Errno 2] No such file or directory: '/home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc/default/results.hjson'
INFO: [FlowCfg] [results]: [chip_earlgrey_asic]:
## CHIP_EARLGREY_ASIC Synthesis Results

### Friday November 25 2022 01:48:41 UTC
### GitHub Revision: [`7c5837b7a`](https://github.com/lowrisc/opentitan/tree/7c5837b7ada5c32280c9c18b473388354766f807)
### Branch: master
### Synthesis Tool: DC

| Build Mode   |  Flow Warnings  |  Flow Errors  |  Analyze Warnings  |  Analyze Errors  |  Elab Warnings  |  Elab Errors  |  Compile Warnings  |  Compile Errors  |
|:-------------|:---------------:|:-------------:|:------------------:|:----------------:|:---------------:|:-------------:|:------------------:|:----------------:|
| default      |       --        |      1 E      |         --         |        --        |       --        |      --       |         --         |        --        |

### Circuit Complexity in [kGE]

No area report found

### Timing in [ns]

No timing report found

### Power Estimates in [mW]

No power report found


### Errors and Warnings for Build Mode `'default'`
#### Flow Errors

IOError: [Errno 2] No such file or directory: '/home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc/default/results.hjson'




INFO: [FlowCfg] [scratch_path]: [chip_earlgrey_asic] [/home/guozhiyang/work/opentitan/scratch/master/chip_earlgrey_asic-syn-dc]
ERROR: [dvsim] Errors were encountered in this run.

          [   legend    ]: [Q: queued, D: dispatched, P: passed, F: failed, K: killed, T: total]                                                                                                                                           
00:00:03  [    build    ]: [Q: 0, D: 0, P: 0, F: 1, K: 0, T: 1] 100%

Below is build.log

[Executing]:
make -f /home/guozhiyang/work/opentitan/hw/syn/tools/dvsim/syn.mk build build_cmd=dc_shell-xg-t build_dir=/home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default build_log=/home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default/synthesis.log build_opts='-f /home/guozhiyang/work/opentitan/hw/syn/tools/dc/run-syn.tcl' build_timeout_mins=None post_build_cmds='' pre_build_cmds='' proj_root=/home/guozhiyang/work/opentitan report_cmd=/home/guozhiyang/work/opentitan/hw/syn/tools/dc/parse-syn-report.py report_opts='--dut top_earlgrey --expand-modules top_earlgrey --expand-depth 1 --log-path /home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default --rep-path /home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default/REPORTS --out-dir /home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default --termination-stage compile' sv_flist_gen_cmd=fusesoc sv_flist_gen_dir=/home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default/syn-icarus sv_flist_gen_opts='--cores-root /home/guozhiyang/work/opentitan run --flag=fileset_top --target=syn --tool icarus --build-root=/home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default --setup lowrisc:systems:top_earlgrey:0.1'

[make]: gen_sv_flist
cd /home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default && fusesoc --cores-root /home/guozhiyang/work/opentitan run --flag=fileset_top --target=syn --tool icarus --build-root=/home/guozhiyang/work/opentitan/scratch/master/top_earlgrey-syn-dc/default --setup lowrisc:systems:top_earlgrey:0.1
WARNING: Parse error. Ignoring file /home/guozhiyang/work/opentitan/bazel-opentitan/fusesoc/tests/capi2_cores/misc/empty.core: Missing 'name' parameter
WARNING: Parse error. Ignoring file /home/guozhiyang/work/opentitan/fusesoc/tests/capi2_cores/misc/empty.core: Missing 'name' parameter
INFO: Preparing lowrisc:constants:jtag_id_pkg:0
INFO: Preparing lowrisc:constants:top_pkg:0
INFO: Preparing lowrisc:dv:crypto_prince_ref:0.1
INFO: Preparing lowrisc:dv:dv_fcov_macros:0
INFO: Preparing lowrisc:dv:dv_macros:0
INFO: Preparing lowrisc:dv:pins_if:0
INFO: Preparing lowrisc:dv:secded_enc:0
INFO: Preparing lowrisc:ibex:ibex_pkg:0.1
INFO: Preparing lowrisc:ip:entropy_src_pkg:0.1
INFO: Preparing lowrisc:ip:jtag_pkg:0.1
INFO: Preparing lowrisc:ip:spi_device_pkg:0.1
INFO: Preparing lowrisc:ip:usbdev_pkg:0.1
INFO: Preparing lowrisc:prim:assert:0.1
INFO: Preparing lowrisc:prim:cipher_pkg:0.1
INFO: Preparing lowrisc:prim:crc32:0
INFO: Preparing lowrisc:prim:pad_wrapper_pkg:0
INFO: Preparing lowrisc:prim:primgen:0.1
INFO: Preparing lowrisc:prim:ram_1p_pkg:0
INFO: Preparing lowrisc:prim:ram_2p_pkg:0
INFO: Preparing lowrisc:prim:rom_pkg:0
INFO: Preparing lowrisc:prim:sec_anchor:0.1
INFO: Preparing lowrisc:prim:secded:0.1
INFO: Preparing lowrisc:prim:subreg:0
INFO: Preparing lowrisc:prim:util_get_scramble_params:0
INFO: Preparing lowrisc:systems:top_earlgrey_pkg:0.1
INFO: Preparing lowrisc:tool:check_tool_requirements:0.1
INFO: Preparing lowrisc:dv:scramble_model:0
INFO: Preparing lowrisc:dv_verilator:memutil_dpi:0
INFO: Preparing lowrisc:ibex:ibex_icache:0.1
INFO: Preparing lowrisc:ip:rv_core_ibex_pkg:0.1
INFO: Preparing lowrisc:prim:arbiter:0
INFO: Preparing lowrisc:prim:cdc_rand_delay:0
INFO: Preparing lowrisc:prim:cipher:0
INFO: Preparing lowrisc:prim:count:0
INFO: Preparing lowrisc:prim:gf_mult:0
INFO: Preparing lowrisc:prim:lfsr:0.1
INFO: Preparing lowrisc:prim:max_tree:0
INFO: Preparing lowrisc:prim:msb_extend:0
INFO: Preparing lowrisc:prim:prim_dom_and_2share:0.1
INFO: Preparing lowrisc:prim:prim_pkg:0.1
INFO: Preparing lowrisc:prim:sparse_fsm:0
INFO: Preparing lowrisc:prim:sum_tree:0
INFO: Preparing lowrisc:prim:util:0.1
INFO: Preparing lowrisc:prim:xoshiro256pp:0
INFO: Preparing lowrisc:dv_verilator:memutil_dpi_scrambled:0
INFO: Preparing lowrisc:ip:lc_ctrl_state_pkg:0.1
INFO: Preparing lowrisc:prim:and2:0
INFO: Preparing lowrisc:prim:buf:0
INFO: Preparing lowrisc:prim:clock_buf:0
INFO: Preparing lowrisc:prim:clock_gating:0
INFO: Preparing lowrisc:prim:clock_inv:0
INFO: Preparing lowrisc:prim:clock_mux2:0
INFO: Preparing lowrisc:prim:flop:0
INFO: Preparing lowrisc:prim:flop_en:0
INFO: Preparing lowrisc:prim:onehot:0
INFO: Preparing lowrisc:prim:onehot_check:0
INFO: Preparing lowrisc:prim:pad_attr:0
INFO: Preparing lowrisc:prim:pad_wrapper:0
INFO: Preparing lowrisc:prim:ram_1p:0
INFO: Preparing lowrisc:prim:ram_2p:0
INFO: Preparing lowrisc:prim:rom:0
INFO: Preparing lowrisc:prim:usb_diff_rx:0
INFO: Preparing lowrisc:prim:xnor2:0
INFO: Preparing lowrisc:prim:xor2:0
INFO: Preparing lowrisc:ibex:ibex_core:0.1
INFO: Preparing lowrisc:prim:blanker:0
INFO: Preparing lowrisc:prim:clock_div:0
INFO: Preparing lowrisc:prim:double_lfsr:0
INFO: Preparing lowrisc:prim:flash:0
INFO: Preparing lowrisc:prim:flop_2sync:0
INFO: Preparing lowrisc:prim:mubi:0.1
INFO: Preparing lowrisc:prim:otp:0
INFO: Preparing lowrisc:prim:ram_1p_adv:0.1
INFO: Preparing lowrisc:prim:ram_2p_async_adv:0.1
INFO: Preparing lowrisc:prim:reg_we_check:0
INFO: Preparing lowrisc:prim:rom_adv:0.1
INFO: Preparing lowrisc:ip:rom_ctrl_pkg:0.1
INFO: Preparing lowrisc:prim:diff_decode:0
INFO: Preparing lowrisc:prim:edge_detector:0.1
INFO: Preparing lowrisc:prim:fifo:0
INFO: Preparing lowrisc:prim:ram_1p_scr:0.1
INFO: Preparing lowrisc:prim:ram_2p_adv:0.1
INFO: Preparing lowrisc:prim:rst_sync:0
INFO: Preparing lowrisc:tlul:headers:0.1
INFO: Preparing lowrisc:ibex:ibex_top:0.1
INFO: Preparing lowrisc:ip:lc_ctrl_pkg:0.1
INFO: Preparing lowrisc:prim:esc:0
INFO: Preparing lowrisc:systems:pinmux_reg:0.1
INFO: Preparing lowrisc:systems:pwrmgr_reg:0.1
INFO: Preparing lowrisc:systems:rstmgr_reg:0.1
INFO: Preparing lowrisc:tlul:trans_intg:0.1
INFO: Preparing lowrisc:ip:csrng_pkg:0.1
INFO: Preparing lowrisc:ip:otp_ctrl_pkg:1.0
INFO: Preparing lowrisc:ip:pinmux_reg:0.1
INFO: Preparing lowrisc:ip:pwrmgr_reg:0.1
INFO: Preparing lowrisc:ip:rstmgr_reg:0.1
INFO: Preparing lowrisc:prim:alert:0
INFO: Preparing lowrisc:prim:lc_dec:0.1
INFO: Preparing lowrisc:prim:lc_sender:0.1
INFO: Preparing lowrisc:prim:lc_sync:0.1
INFO: Preparing lowrisc:systems:ast_pkg:0
INFO: Preparing lowrisc:tlul:common:0.1
INFO: Preparing lowrisc:ip:edn_pkg:0.1
INFO: Preparing lowrisc:ip:otbn_pkg:0.1
INFO: Preparing lowrisc:ip:pwrmgr_pkg:0.1
INFO: Preparing lowrisc:ip:rv_plic_component:0.1
INFO: Preparing lowrisc:ip:sram_ctrl_pkg:0.1
INFO: Preparing lowrisc:prim:all:0.1
INFO: Preparing lowrisc:tlul:adapter_reg:0.1
INFO: Preparing lowrisc:tlul:adapter_sram:0.1
INFO: Preparing lowrisc:tlul:lc_gate:0.1
INFO: Preparing lowrisc:tlul:socket_1n:0.1
INFO: Preparing lowrisc:tlul:socket_m1:0.1
INFO: Preparing lowrisc:tlul:sram2tlul:0.1
INFO: Preparing lowrisc:ip:keymgr_pkg:0.1
INFO: Preparing lowrisc:ip:tlul:0.1
INFO: Preparing lowrisc:ip:usb_fs_nb_pe:0.1
INFO: Preparing lowrisc:prim:edn_req:0.1
INFO: Preparing lowrisc:prim:measure:0
INFO: Preparing lowrisc:systems:clkmgr_pkg:0.1
INFO: Preparing lowrisc:systems:flash_ctrl_pkg:0.1
INFO: Preparing lowrisc:tlul:adapter_host:0.1
INFO: Preparing pulp-platform:riscv-dbg:0.1:0
INFO: Preparing lowrisc:ip:adc_ctrl:1.0
INFO: Preparing lowrisc:ip:aes:1.0
INFO: Preparing lowrisc:ip:aon_timer:0.1
INFO: Preparing lowrisc:ip:clkmgr_components:0.1
INFO: Preparing lowrisc:ip:edn:0.1
INFO: Preparing lowrisc:ip:flash_ctrl_pkg:0.1
INFO: Preparing lowrisc:ip:gpio:0.1
INFO: Preparing lowrisc:ip:hmac:0.1
INFO: Preparing lowrisc:ip:i2c:0.1
INFO: Preparing lowrisc:ip:otbn:0.1
INFO: Preparing lowrisc:ip:otp_ctrl:1.0
INFO: Preparing lowrisc:ip:pattgen:0.1
INFO: Preparing lowrisc:ip:pwm:0.1
INFO: Preparing lowrisc:ip:rv_dm:0.1
INFO: Preparing lowrisc:ip:rv_timer:0.1
INFO: Preparing lowrisc:ip:sha3:0.1
INFO: Preparing lowrisc:ip:spi_device:0.1
INFO: Preparing lowrisc:ip:spi_host:1.0
INFO: Preparing lowrisc:ip:sram_ctrl:0.1
INFO: Preparing lowrisc:ip:sysrst_ctrl:1.0
INFO: Preparing lowrisc:ip:uart:0.1
INFO: Preparing lowrisc:ip:usbdev:0.1
INFO: Preparing lowrisc:opentitan:top_earlgrey_alert_handler_reg:0.1
INFO: Preparing lowrisc:opentitan:top_earlgrey_rv_plic:0
INFO: Preparing lowrisc:systems:sensor_ctrl_reg:0.1
INFO: Preparing lowrisc:top_earlgrey:xbar_main:0.1
INFO: Preparing lowrisc:top_earlgrey:xbar_peri:0.1
INFO: Preparing lowrisc:ip:alert_handler_component:0.1
INFO: Preparing lowrisc:ip:csrng:0.1
INFO: Preparing lowrisc:ip:entropy_src:0.1
INFO: Preparing lowrisc:ip:kmac_pkg:0.1
INFO: Preparing lowrisc:ip:pinmux_component:0.1
INFO: Preparing lowrisc:ip:pwrmgr:0.1
INFO: Preparing lowrisc:ip:rv_core_ibex:0.1
INFO: Preparing lowrisc:systems:clkmgr:0.1
INFO: Preparing lowrisc:systems:flash_ctrl:0.1
INFO: Preparing lowrisc:systems:sensor_ctrl_pkg:0.1
INFO: Preparing lowrisc:ip:flash_ctrl:0.1
INFO: Preparing lowrisc:ip:keymgr:0.1
INFO: Preparing lowrisc:ip:kmac:0.1
INFO: Preparing lowrisc:ip:lc_ctrl:0.1
INFO: Preparing lowrisc:ip:pinmux:0.1
INFO: Preparing lowrisc:ip:rom_ctrl:0.1
INFO: Preparing lowrisc:opentitan:top_earlgrey_alert_handler:0.1
INFO: Preparing lowrisc:systems:rstmgr_pkg:0.1
INFO: Preparing lowrisc:systems:sensor_ctrl:0.1
INFO: Preparing lowrisc:ip:rstmgr_pkg:0.1
INFO: Preparing lowrisc:systems:rstmgr:0.1
INFO: Preparing lowrisc:ip:rstmgr_cnsty_chk:0
INFO: Preparing lowrisc:ip:rstmgr:0.1
INFO: Preparing lowrisc:systems:top_earlgrey:0.1
Traceback (most recent call last):
  File "/home/guozhiyang/.local/bin/fusesoc", line 8, in <module>
    sys.exit(main())
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/main.py", line 777, in main
    fusesoc(args)
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/main.py", line 767, in fusesoc
    args.func(cm, args)
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/main.py", line 327, in run
    run_backend(
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/main.py", line 419, in run_backend
    edam = edalizer.run()
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/edalizer.py", line 84, in run
    self.run_generators()
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/edalizer.py", line 181, in run_generators
    core_list=self._core_list_for_generator(),
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/edalizer.py", line 162, in _core_list_for_generator
    "files": [str(f["name"]) for f in core.get_files(core_flags)],
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/capi2/core.py", line 370, in get_files
    pf = f.name.parse(flags)
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/capi2/core.py", line 63, in parse
    self.exprs = Exprs(str(self))
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/capi2/exprs.py", line 154, in __init__
    self.ast = _parse(string)
  File "/home/guozhiyang/.local/lib/python3.8/site-packages/fusesoc/capi2/exprs.py", line 143, in _parse
    raise ValueError(
ValueError: Invalid syntax for string: Expected {{{['!'] W:(+-:<->A-[]-_a-z~) Suppress:('?') Suppress:('(') Group:(: ...)} Suppress:(')')} ^ W:(+-:<->A-[]-_a-z~)}, found '$'  (at char 0), (line:1, col:1). Parsed text was '$YOSYS_DAT_DIR/ice40/cells_sim.v'.
make: *** [/home/guozhiyang/work/opentitan/hw/syn/tools/dvsim/syn.mk:17: gen_sv_flist] Error 1

I saw the issue #16295 and tried the fixes proposed in #16501 , but it's not work for me.

@sriyerg
Copy link
Contributor

sriyerg commented Nov 28, 2022

The dc is unsupported for job runtime extraction is a benign warning that can be ignored. The real issue appears to be elsewhere. Perhaps there is a syntax error in one of your fusesoc core files?

Please see these warnings:

WARNING: Parse error. Ignoring file /home/guozhiyang/work/opentitan/bazel-opentitan/fusesoc/tests/capi2_cores/misc/empty.core: Missing 'name' parameter
WARNING: Parse error. Ignoring file /home/guozhiyang/work/opentitan/fusesoc/tests/capi2_cores/misc/empty.core: Missing 'name' parameter

And this error:

ValueError: Invalid syntax for string: Expected {{{['!'] W:(+-:<->A-[]-_a-z~) Suppress:('?') Suppress:('(') Group:(: ...)} Suppress:(')')} ^ W:(+-:<->A-[]-_a-z~)}, found '$'  (at char 0), (line:1, col:1). Parsed text was '$YOSYS_DAT_DIR/ice40/cells_sim.v'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants