Hi, does OpenLane only harden with sky130_fd_sc_hd...
# openlane
a
Hi, does OpenLane only harden with sky130_fd_sc_hd cells, or can sky130_fd_sc_lp cells also be used? In the makefile I see the option of setting the library: export STD_CELL_LIBRARY ?= sky130_fd_sc_hd https://github.com/The-OpenROAD-Project/OpenLane/blob/master/Makefile#L72 But the make pdk installation doesn’t seem to install sky130_fd_sc_lp in the ../OpenLane/pdks/sky130B/libs.tech/openlane
m
@User Other libraries should be supported. Do you
export STD_CELL_LIBRARY=sky130_fd_sc_lp
before
make pdk
?
a
Thanks @User, I can try exporting STD_CELL_LIBRARY before calling make pdk. I had used: FULL_PDK=1 make pdk as suggested in the OpenLane readme: https://github.com/The-OpenROAD-Project/OpenLane/blob/master/README.md
m
Yeah, I don't think that's implemented in caravel yet.
a
Oh so even if OpenLane can use lp cells, caravel won’t be able to use them?
m
What I meant was that the caravel Makefile doesn't appear to support FULL_PDK with
make pdk
. You should be able to replace the default STD_CELL_LIB though.
I don't think caravel itself has any restrictions on what goes into the user_project_wrapper. You could use all custom cells if you wanted. Or macros with cells from different libraries generated elsewhere.
👍 1
a
@User do you know how we could generate the config.tcl or tracks.info files that openlane would need, but now for the lp standard cells?
m
Probably not much help, but I image you'd
set ::env(STD_CELL_LIBRARY) "sky130_fd_sc_lp"
in the config.tcl file. I couldn't find any info on the tracks.info file. Hopefully, that will be automatically pulled from the PDK.
👍 1
a
We actually tried comparing the config.tcl between the hs and ls libraries, and it appears that besides name changes across many params, two numerical values (like caps) also change…
@User thoughts? libs.tech/openlane generated by open_pdks seems to miss sky130_fd_sc_lp. Is there a way to manually get these files (like tracks.info, config.tcl, drc exclude, etc)
m
If you're generating the libraries using
make pdk
from the
caravel_user_project
repo (actually executes the
Makefile
in the
caravel
subdirectory), I believe only the
STD_CELL_LIBRARY
(and libraries necessary for caravel/caravan) will be created. Set
export STD_CELL_LIBRARY=sky130_fd_sc_lp
before
make pdk
. Or you could patch the
caravel/Makefile
by adding these lines from the
Makefile
of the
openlane
repo to make all the libraries at once.
Copy code
.PHONY: full-pdk
full-pdk: skywater-pdk all-skywater-libraries open_pdks build-pdk gen-sources

.PHONY: all-skywater-libraries
all-skywater-libraries: skywater-pdk
        cd $(PDK_ROOT)/skywater-pdk && \
                git submodule update --init libraries/sky130_fd_sc_hd/latest && \
                git submodule update --init libraries/sky130_fd_sc_hs/latest && \
                git submodule update --init libraries/sky130_fd_sc_hdll/latest && \
                git submodule update --init libraries/sky130_fd_sc_ms/latest && \
                git submodule update --init libraries/sky130_fd_sc_ls/latest && \
                git submodule update --init libraries/sky130_fd_sc_hvl/latest && \
                git submodule update --init libraries/sky130_fd_io/latest && \
                $(MAKE) timing
Note, I've removed the multi-threading timing creation, so this may take several hours.
1