Hi, we have been trying to harden a SHA256 module ...
# openlane
s
Hi, we have been trying to harden a SHA256 module but were unsuccessful and think the user area is too small for the design. Now, we are trying a SHA1 module but we still can not harden it. We always get one of these 2 errors:
Copy code
# [STEP 15]
# [INFO]: Running Global Routing Resizer Timing Optimizations...
...
# [INFO GRT-0101] Running extra iterations to remove overflow.
# [INFO GRT-0197] Via related to pin nodes: 70245
# [INFO GRT-0198] Via related Steiner nodes: 1910
# [INFO GRT-0199] Via filling finished.
# [INFO GRT-0111] Final number of vias: 94700
# [INFO GRT-0112] Final usage 3D: 449660
# [ERROR GRT-0118] Routing congestion too high.
# Error: resizer_routing_timing.tcl, 53 GRT-0118
OR
Copy code
# [STEP 21]
# [INFO]: Running Global Routing...
...
# [INFO GRT-0101] Running extra iterations to remove overflow.
# [INFO GRT-0103] Extra Run for hard benchmark.
# [INFO GRT-0197] Via related to pin nodes: 83886
# [INFO GRT-0198] Via related Steiner nodes: 8027
# [INFO GRT-0199] Via filling finished.
# [INFO GRT-0111] Final number of vias: 163913
# [INFO GRT-0112] Final usage 3D: 936594
# [ERROR GRT-0118] Routing congestion too high.
# Error: groute.tcl, 55 GRT-0118
The repo is: https://github.com/WebKingdom/bitcoin_asic Please let me know if you would like more information. I would be happy to meet or discuss how to harden this design because we have spent a lot of time on it so far.
m
It is very possible that it may not fit in the user area of caravel. You could try increasing (maybe doubling or tripling) the
DIE_AREA
until you are able to route to get a rough estimate of the size needed.
a
Keep in mind that routing might also fail for too big DIE_AREA
v
@Soma file a github issue with
issue_reproducible
generated after flow fail
s
@Vijayan Krishnan yes, I am using that config file for SHA1. I will try to increase DIE_AREA beyond the max wrapper size and see if it works. Other than routing congestion too high, how would I know if design area is too small or big?
if flow fails at any stage file github issue with
issue_reproducible
generated by flow
s
Ok thanks
I commented out the DIE_AREA and set FP_SIZING to relative and detailed placement failed (step 18). Console logs:
Copy code
[STEP 18]
[INFO]: Running Detailed Placement...
[ERROR]: during executing openroad script /openlane/scripts/openroad/opendp.tcl
[ERROR]: Exit code: 1
...
[ERROR]: Last 10 lines:
[INFO DPL-0035]  ANTENNA__14155__A1
[INFO DPL-0035]  ANTENNA__14155__A1
[INFO DPL-0035]  ANTENNA__20474__A2
[INFO DPL-0035]  ANTENNA__20930__A
[INFO DPL-0035]  ANTENNA__20930__A
[INFO DPL-0035]  ANTENNA__16103__A0
[INFO DPL-0035] message limit reached, this message will no longer print
[ERROR DPL-0036] Detailed placement failed.
Error: opendp.tcl, 32 DPL-0036
v
please attach
issue_reproducible
s
@Vijayan Krishnan I created an issue with that in the title on my repo. Not sure if this is what you were looking for or how you wanted me to attach this text (maybe as issue label?)