Tim Edwards
01/22/2022, 6:32 PMHarald Pretl
01/24/2022, 7:50 AMuser_project_wrapper
looks like (just showing M4 and M5, full view and zoom in of there my macro is placed).
You can see the H/V grid in M4 and M5, plus the “extra” M4 V-strips which are put there when the macro is hardened.
This also fits the PDN generating code in `pdn_cfg.tcl`:
if { $::env(DESIGN_IS_CORE) == 1 } {
# Used if the design is the core of the chip
define_pdn_grid -name stdcell_grid -starts_with POWER -voltage_domain CORE -pins [subst {$::env(FP_PDN_LOWER_LAYER) $::env(FP_PDN_UPPER_LAYER)}]
add_pdn_stripe -grid stdcell_grid -layer $::env(FP_PDN_LOWER_LAYER) -width $::env(FP_PDN_VWIDTH) -pitch $::env(FP_PDN_VPITCH) -offset $::env(FP_PDN_VOFFSET) -starts_with POWER
add_pdn_stripe -grid stdcell_grid -layer $::env(FP_PDN_UPPER_LAYER) -width $::env(FP_PDN_HWIDTH) -pitch $::env(FP_PDN_HPITCH) -offset $::env(FP_PDN_HOFFSET) -starts_with POWER
add_pdn_connect -grid stdcell_grid -layers [subst {$::env(FP_PDN_LOWER_LAYER) $::env(FP_PDN_UPPER_LAYER)}]
} else {
# Used if the design is a macro in the core
define_pdn_grid -name stdcell_grid -starts_with POWER -voltage_domain CORE -pins $::env(FP_PDN_LOWER_LAYER)
add_pdn_stripe -grid stdcell_grid -layer $::env(FP_PDN_LOWER_LAYER) -width $::env(FP_PDN_VWIDTH) -pitch $::env(FP_PDN_VPITCH) -offset $::env(FP_PDN_VOFFSET) -starts_with POWER
}
Harald Pretl
01/24/2022, 8:01 AMTim Edwards
01/24/2022, 1:54 PMuser_project_wrapper_empty
which has no pre-existing straps. The straps are generated and placed by openlane. @Manar Abdelatty: What happened to the empty project wrapper???Tim Edwards
01/24/2022, 2:15 PMuser_project_wrapper_empty
and why the openlane build of the user project wrapper now drops the user project in a wrapper pre-arranged grid of power straps that prevents the user from having any custom pitch of the power straps?Harald Pretl
01/24/2022, 2:36 PMuser_project_wrapper_empty
looks like. The hardening of the user project in OpenLane adds the M4-V straps to the user project, and the following hardening of the project wrapper adds the M5-H and the M4-V straps, having now M4-V straps of both steps. This is what causes issues when the two sets of M4-V straps are not properly aligned.Tim Edwards
01/24/2022, 2:47 PMuser_project_wrapper_empty
and it appears that it no longer exists in any repository, or at least I can't find it. I think the openlane developers may have replaced the _empty
wrapper layer with the "standard" one but failed to use the right layout for it.Harald Pretl
01/24/2022, 2:50 PMTim Edwards
01/24/2022, 4:32 PMHarald Pretl
01/24/2022, 4:58 PMcaravel_user_project
. Here in the user_project_wrapper.gds
the vertical power straps are nicely cut out around the user macro.Tim Edwards
01/24/2022, 4:59 PMHarald Pretl
01/24/2022, 5:00 PMHarald Pretl
01/26/2022, 4:20 PMMarwan Abbas
01/26/2022, 5:08 PM2021.09.19_20.25.16
Caravel tag: mpw-4b
Caravel-lite tag: mpw-3
caravel_user_project tag: mpw-3
open_pdks: 6c05bc48dc88784f9d98b89d6791cdfd91526676
Harald Pretl
01/27/2022, 8:41 AMCARAVEL_LITE=0
… then there is an issue in Git which I can’t resolve.Marwan Abbas
01/27/2022, 9:04 AMHarald Pretl
01/27/2022, 6:57 PMexport STD_CELL_LIBRARY=sky130_fd_sc_hd
export CARAVEL_ENV_ROOT="$HOME/test/caravel_env"
export PDK_ROOT="$CARAVEL_ENV_ROOT/pdk"
export OPENLANE_ROOT="$CARAVEL_ENV_ROOT/openlane"
export CARAVEL_ROOT="$CARAVEL_ENV_ROOT/caravel_user_project/caravel"
export PRECHECK_ROOT="$CARAVEL_ENV_ROOT/precheck"
export CARAVEL_LITE=0
export CARAVEL_USER_PROJECT_COMMIT=mpw-3
export CARAVEL_COMMIT=mpw-4b
export OPEN_PDKS_COMMIT=6c05bc48dc88784f9d98b89d6791cdfd91526676
export OPENLANE_TAG=2021.09.19_20.25.16
with this:
git clone <https://github.com/efabless/caravel_user_project.git>
cd caravel_user_project || exit
git checkout $CARAVEL_USER_PROJECT_COMMIT
make install
cd caravel || exit
git checkout $CARAVEL_COMMIT
cd ..
make pdk
make openlane
make precheck
and the error is this:
HEAD is now at fc583ec Auto updated submodule references
Installing caravel as a submodule..
Submodule 'caravel-lite' (<https://github.com/efabless/caravel-lite>) registered for path 'caravel'
Cloning into '/home/harald/test/caravel_env/caravel_user_project/caravel'...
Submodule path 'caravel': checked out '0f16ba8eaae841a6f122fc0d5837005d3312fd2b'
error: pathspec 'master' did not match any file(s) known to git
make: *** [Makefile:80: install] Error 1
Harald Pretl
02/02/2022, 12:12 PMmpw-5
tag in caravel_user_project
(I was triggered to check, because the make run-precheck
now fails on the mpw-3
tag due to a parameter change in mpw_precheck.py
). Should everyone move to this MPW-5 caravel?
If yes, could you please post (again) a full set like this (see earlier in this thread)?
OpenLane tag: 2021.09.19_20.25.16
Caravel tag: mpw-4b
Caravel-lite tag: mpw-3
caravel_user_project tag: mpw-3
open_pdks: 6c05bc48dc88784f9d98b89d6791cdfd91526676