https://open-source-silicon.dev logo
#sky130
Title
# sky130
p

Priyanka Dutta

05/11/2021, 10:31 PM
Hi, my caravel repo for "Subservient" design : https://github.com/MSPDUTTA/Subservient_SOC , While trying to harden the "subservient" , I face issues with routing with the latest openlane version released with caravel. If I run the same design with openlane "commit a95f56dac367c05bc48b4a001c419b58ec9648a4" , design ends successfully with no fatal errors and generate all reports properly. While trying to debug the difference between the placement I see both "subservient.placement.def" in old and new openlane versions are identical. placement with latest version :
m

Matthew Guthaus

05/11/2021, 11:43 PM
I just disabled the PL_BASIC_PLACEMENT variable and it seems to have spread it out more. The description of that variable is pretty awful: "Specifies whether the placer should run basic placement or not (by running initial placement, increasing the minimum overflow to 0.9, and limiting the number of iterations to 20). 0 = false, 1 = true" I think this means if it is disabled, it does "real" placement which is better and not "basic" placement. Basic placement might have ignored the PL_TARGET_DENSITY.
👍 1
The question remains, why was this routable with a nearly the same placement with the old openlane...
t

Tim Edwards

05/12/2021, 12:08 AM
I'm not an openlane developer, but I know that they have a suite of example layouts that they run whenever they make an invasive change, so in theory they will only accept a change if the overall performance on that suite is the same or has improved. However, if it seems like a lot of user designs are suddenly doing poorly in place and route as compared to before, it's probably a good idea to alert the developers.
m

Manar Abdelatty

05/12/2021, 11:52 AM
@Priyanka Dutta @Matthew Guthaus Is
GLB_RT_ADJUSTMENT
the same for the two runs (old/new versions of openlane) ? I know that in some old versions the
GLB_RT_ADJUSTMENT
is defaulted to
0.21
but in the latest version of openlane the default value is 0. Slightly increasing the
GLB_RT_ADJUSTMENT
should help with the routing violations. Another thing to check for is the PDK commits, if you are using the latest version of openlane, make sure that your PDK commits match what is in the makefile.
p

Priyanka Dutta

05/12/2021, 6:06 PM
Hi @Manar Abdelatty, I have used GLB_RT_ADJUSTMENT 0.21 and disabled PL_BASIC_PLACEMENT with PL_TARGET_DENSITY 0.4 or less , the routing stage goes fine with 0 violations , but then the simulation is hang at this stage ( with new openlane version) , same configurations finishes gracefully with older openlane version)
m

Matthew Guthaus

05/12/2021, 6:23 PM
I would ask a separate question in #openlane since this is likely openlane related and not #sky130 technology related
👍 1