Hammer fails on PAR while trying with vlsi turorial

170 views
Skip to first unread message

Arun Ravindran

unread,
May 17, 2024, 1:22:03 PM5/17/24
to Chipyard
Hi


Here is the env changes i have


(/home/arun/chipyard/.conda-env) arun@arun-nuc:~/chipyard/vlsi$ git diff
diff --git a/vlsi/example-openroad.yml b/vlsi/example-openroad.yml
index 1f96d603..85d9e118 100644
--- a/vlsi/example-openroad.yml
+++ b/vlsi/example-openroad.yml
@@ -1,3 +1,10 @@
+synthesis.yosys.yosys_bin: /home/arun/.conda-yosys/bin/yosys
+par.openroad.openroad_bin: /home/arun/.conda-openroad/bin/openroad
+par.openroad.klayout_bin: /home/arun/.conda-klayout/bin/klayout  # binary that OpenROAD calls for final GDS writeout
+drc.klayout.klayout_bin: /home/arun/.conda-klayout/bin/klayout   # binary that runs for DRC step
+drc.magic.magic_bin: /home/arun/.conda-signoff/bin/magic
+lvs.netgen.netgen_bin: /home/arun/.conda-signoff/bin/netgen
+
 # Tool options. Replace with your tool plugin of choice.
 vlsi.core.build_system: make
 # Synthesis: Yosys
diff --git a/vlsi/example-sky130.yml b/vlsi/example-sky130.yml
index 1e3faf1c..1aa2990c 100644
--- a/vlsi/example-sky130.yml
+++ b/vlsi/example-sky130.yml
@@ -6,8 +6,8 @@ vlsi.core.max_threads: 12
 
 # Technology paths
 technology.sky130:
-  sky130A: "/path/to/sky130A"
-  sram22_sky130_macros: "/path/to/sram22_sky130_macros"
+  sky130A: "/home/arun/.conda-sky130/share/pdk/sky130A"
+  sram22_sky130_macros: "/home/arun/sram22_sky130_macros"
 
   # this key is OPTIONAL, no NDA files will be used if it does not point to a valid path
   sky130_nda: "/path/to/skywater-src-nda"
(/home/arun/chipyard/.conda-env) arun@arun-nuc:~/chipyard/vlsi$

Pretty much nothing but right paths to various tools.

But at  make par tutorial=sky130-openroad  there is a failure

[par] [Exec ...d/bin/openroad -no_init -log /...] create_clock clock_uncore_clock -name clock_uncore_clock -period 50.0
[par] [Exec ...d/bin/openroad -no_init -log /...] [ERROR STA-0489] pin 'clock_uncore_clock' not found.
[par] [Exec ...d/bin/openroad -no_init -log /...] Error: clock_constraints_fragment.sdc, 1 STA-0489
[par] ERROR: OpenROAD returned with a nonzero exit code: 1.
[par] To create a tar archive of the issue, set:
            par.openroad.create_archive_mode: latest_run
        in your YAML configs and re-run your par command
Traceback (most recent call last):
  File "/home/arun/chipyard/vlsi/./example-vlsi-sky130", line 63, in <module>
    ExampleDriver().main()
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/vlsi/cli_driver.py", line 1725, in main
    sys.exit(self.run_main_parsed(vars(parser.parse_args(args))))
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/vlsi/cli_driver.py", line 1630, in run_main_parsed
    output_config = action_func(driver, errors.append)  # type: Optional[dict]
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/vlsi/cli_driver.py", line 612, in action
    success, output = driver.run_par(
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/vlsi/driver.py", line 1202, in run_par
    run_succeeded = self.par_tool.run(hooks_to_use)
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/vlsi/hammer_tool.py", line 118, in run
    return self.fill_outputs()
  File "/home/arun/.local/lib/python3.10/site-packages/hammer/par/openroad/__init__.py", line 284, in fill_outputs
    raise ValueError("Output GDS %s not found" % (self.output_gds_filename))
ValueError: Output GDS /home/arun/chipyard/vlsi/build-sky130-openroad/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/par-rundir/ChipTop.gds not found
make: *** [/home/arun/chipyard/vlsi/build-sky130-openroad/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/hammer.d:94: /home/arun/chipyard/vlsi/build-sky130-openroad/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/par-rundir/par-output-full.json] Error 1
(/home/arun/chipyard/.conda-env) arun@arun-nuc:~/chipyard/vlsi$


What is the issue here? I am using thr TinyRocketConfig as mentioned in the tutorial.

regards
Arun

Arun Ravindran

unread,
May 19, 2024, 6:05:51 AM5/19/24
to Chipyard
Hi All,

Could any one help me on this?

regards
Arun

Arun Ravindran

unread,
May 23, 2024, 3:41:50 PM5/23/24
to Chipyard
Hi all,

Any clue what is the issue?

I have tried on multiple machine (a fresh ubuntu install) but the tutorial as explained in the readthedocs doesn't work.

First issue is the clock_uncore_clock is undefined. As per some thread in the group the name should be clock_uncore.
With the clock name change the par failed at Detailed placement.

Did anyone get this working with TinyRocketConfig at all?

regards
Arun

David Byrd

unread,
Jun 10, 2024, 11:47:08 PM6/10/24
to Chipyard
I ran into the same problem. Were you able to find a workaround? 

Arun Ravindran

unread,
Sep 11, 2024, 6:01:37 AM9/11/24
to Chipyard
Hi,

Nope. I tried on a bigger powerful machine with more than 30 cores. But i cannot run to success the example given at https://chipyard.readthedocs.io/en/1.12.3/VLSI/Sky130-OpenROAD-Tutorial.html

The installation instructions are itself faulty and not working. For example on an Ubuntu 22.04 machine,

conda create -c litex-hub --prefix ~/.conda-klayout klayout=0.28.5_98_g87e2def28 
conda create -c litex-hub --prefix ~/.conda-openroad openroad=2.0_7070_g0264023b6

This will not install as there are impossiible dependencies. the above version of klayout and openroad CANNOT be installed as there are dependencies to packages which are not yet available !!

I went ahead and built the packages from the version/githash.  But at the par step, the machine hangs.

[par] [Exec ...l/bin/openroad -no_init -log /...] [NesterovSolve] Iter: 360 overflow: 0.283068 HPWL: 1126055571

Imagine a 30 core machine with 100GB ram and 20GB swap gets hung building this.

I tried the stop_after/start_after options provided as part of the readme, but there is some issue in the global placement and it just gets hung.

Its been 3 months since i started, and i got very little help on what to do !!! SAD!!

regards
Arun

Jerry Zhao

unread,
Sep 11, 2024, 4:28:47 PM9/11/24
to chip...@googlegroups.com
Questions about crashes or stalls with OpenROAD tools should be directed at the OpenROAD developers.
If you are experiencing these issues with a recent build of OpenROAD, then the problem likely lies within OpenROAD.

-Jerry

--
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chipyard/cffa74fd-d6ee-4bbd-9ccd-a56520c28c0an%40googlegroups.com.

Arun Ravindran

unread,
Sep 12, 2024, 5:38:36 AM9/12/24
to Chipyard
Hi,

I will try to get in touch with openroad. But my main issue is that the documents mentioned in chipyard are not working. May be you could put a note saying these readme are for information purpose and cannot be used to try things out.

regards
Arun

Arun Ravindran

unread,
Sep 13, 2024, 4:47:44 AM9/13/24
to Chipyard
I have contacted openroad discussions forum and the initial response from there is that "We don't support Hammer". There were some suggestions from there, and that helped in progressing a bit, but end result is still the same, i have a machine hung for hours and hours doing PAR

regards
Arun

Arun Ravindran

unread,
Sep 18, 2024, 3:35:35 PM9/18/24
to Chipyard
Hi,

I am still struggling to run through the example sky130+openroad instruction in the chipyard help. Chipyard and hammer seems to ease the vlsi process, but for me this has been 4 months of torture than any help.

I re started on a fresh pc and installed chipyard as per https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html. I am able to build and simulate the sample ensuring the tools installation is ok.

The documentation uses chipyard version 1.11.0, but this version failes to find colock_uncore_clock while running the vlsi flow.

I took a much later version and get the following error,

[par] [Exec ...d/bin/openroad -no_init -log /...] (hammer) exec ln -sfn pre_resize latest
[par] [Exec ...d/bin/openroad -no_init -log /...] (hammer) estimate_parasitics -placement
[par] [Exec ...d/bin/openroad -no_init -log /...] (hammer) buffer_ports
[par] [Exec ...d/bin/openroad -no_init -log /...] [INFO RSZ-0027] Inserted 40 input buffers.
[par] [Exec ...d/bin/openroad -no_init -log /...] [INFO RSZ-0028] Inserted 35 output buffers.
[par] [Exec ...d/bin/openroad -no_init -log /...] (hammer) repair_design
[par] [Exec ...d/bin/openroad -no_init -log /...] [INFO RSZ-0058] Using max wire length 3431um.
[par] ERROR: OpenROAD returned with a nonzero exit code: -9.

The failure is something is hung while running PAR, and eventually openroad is crashed. I am using the following versions as expained in the tutorial

Could anyone help me in nailing out what is the issue here? Contacting openroad people seems to be a dead end as they do not support hammer.

regards
Arun

Jerry Zhao

unread,
Sep 18, 2024, 4:24:07 PM9/18/24
to chip...@googlegroups.com
Hammer just generates scripts that call openroad. 

You need to produce a minimal reproducible example of the error for the OpenROAD people to help.

-Jerry

Arun Ravindran

unread,
Sep 19, 2024, 10:08:09 AM9/19/24
to Chipyard
Hi Jerry,

I am sorry, if i sound irrational. I think the issue is in chipyard and not in openroad.

the reason simply being, i am following the chipyard document and am not changing anything other than the .conda-xxx values.

There are two distinct errors, if you take chipyard version 1.11.0 as mentioned in the documents, you will get the missing, clock_uncore_clock error.
If you take a later version, (for example stable or 1.12.2), you will hit

[par] [Exec ...l/bin/openroad -no_init -log /...] [ERROR DPL-0044] Cell system/tile_prci_domain/element_reset_domain_rockettile/dcache/data/rockettile_dcache_data_arrays_0/rockettile_dcache_data_arrays_0_ext/mem_0_0 with height 677955 is taller than any row.

What else is needed for anyone to debug this?. I am really not understanding what do you mean by " minimal reproducible example" ?

regards
Arun

Arun Ravindran

unread,
Sep 24, 2024, 11:02:33 AM9/24/24
to Chipyard

Could anyone help me in this?

regards
Arun
Reply all
Reply to author
Forward
0 new messages