<@U016EM8L91B> <@U016H5X1K62> out of the following...
# general
v
@Tim Edwards @yrrapt out of the following 2 methods to use pre-installed tools and sky130 PDK which one if prefered ? Can you please list what are pros and cons of both these methods. There is also a third one to do custom installation of PDK and individual open-source tools. https://github.com/efabless/foss-asic-tools https://github.com/efabless/volare
m
If you’re planning on submitting a design to a shuttle (free or paid), clone https://github.com/efabless/caravel_user_project (for digital) or https://gitgub.com/efabless/caravel_user_project_analog (for analog) set your
OPENLANE_ROOT
and
PDK_ROOT
and
PDK
variables, cd
caravel_user_project
(or
caravel_user_project_analog
) and
make setup
. See https://github.com/efabless/caravel_user_project/blob/main/docs/source/index.rst#section-quickstart
v
@Mitch Bailey 1. Does this repo sets up both sky130 and gf180 pdk automatically? 2. Can user do his core design inside this repo and then harden it with caravel harness through this repo ? 3. Docker and Volare not required if this repo is used for initiating new design for mpw shuttle?
m
1. Yes. It will setup up according to your
PDK
variable. 2. Yes. The sample core design here is
user_proj_example
, but you’re free to change that. It also includes the macro
user_project_wrapper
(for digital) that will need to be recreated after you finish your core design. 3. docker and volare are required. I don’t know if they’re included in the setup or not.
v
Since pdk is already setup in caravel user project repo, will docker or Volare still be required. My basic doubt is that which methodology of pdk and tool setup is recommended for new user to open source design since many have evolved in last few years.
m
Both the docker and pdk version are specified in
caravel_user_project/Makefile
. This Makefile uses docker to run openlane and volare to download the pdk. If you need to update the pdk later, you can use volare.
v
@Mitch Bailey PDK is already installed in my setup at certain path through
volare
. EDA tools are also installed manually. Have been following recently uploaded efabless YT videos to start designing by copying and cloning caravel repo on my local machine.

https://www.youtube.com/watch?v=1aAnAZquPtQ

I want to use simplified
make setup
based pdk and tool installation procedure. If I run
make setup
, then: 1. what will happen to my existing pdk and tool installations ? 2. will any conflict be created in my pdk and tool setups due to duplicate installations ? 3. How can I remove older pdk and tools from my setup after having run
make setup
?
m
My current understanding is that
make setup
removes and reinstalls
CARAVEL_ROOT
.
PDK_ROOT
is updated if needed, so you should be ok. Not sure about
OPENLANE_ROOT
- should give you a message if you need to do anything. As far a tool installations go, I believe
make setup
enables a docker environment so you don’t need to worry about the tools. So 1. pdk will be updated if needed. tool installations won’t be touched. 2. shouldn’t be any conflicts. 3. don’t think this is necessary
👍 1
v
1. Since I plan to use
caravel_user_project_analog
repo for analog only design, is
openlane
installation anyway required ? 2. pdk update will happen after running
make setup
through previously installed
volare
?
m
1. You may be correct that analog projects may not need openlane. I’m not certain. 2. I think the tools are included in the docker. I doubt that they are installed locally. 3. I think that is correct. previously installed volare will be used to update the pdk.
v
Does
make setup
also installs analog tools:
xschem ngspice magic klayout netgen
?
m
I think the tools are included in the docker. I doubt that they are installed locally.
v
Ok, it means they will get invoked automatically and setup required for individual tools using
xschemrc
.magicrc
files is already done in docker ?
m
You might need local installation of klayout, magic, ngspice, and xschem for manual use. Anything executed with the Makefile will use the docker, I think. There may be a way to access these gui of these programs through docker, but I’m not sure.