guo tang

05/05/2023, 4:59 PM
Hi, everyone. I am trying to build sky130 pdk following instruction from Building version How long it normally takes? I am doing ./configure --enable-sky130-pdk, then type make. Now the process seems stuck after several hours, use top to check CPU usage, there are two processes magicdnull, using 100% CPU, stuck there for more than one hour. Is it normal? Thanks!

Luis Henrique Rodovalho

05/05/2023, 5:45 PM
Yes, it is a long process. I hope you your disk isn't full before it finishes. The default installation gets all standard cell sets for digital synthesis.


05/05/2023, 6:02 PM
18 minutes (based on 80 min CPU time within that time) for me (Xeon(R) CPU E3-1270 v6 @ 3.80GHz, 32Gb, NVME), you can "make -j" to maybe speed it up ? approx 20+2 Gb is downloaded git-modules. approx 20Gb is generated. then if you 'make install' 10Gb is copied ? The 'magicdnull' does take a while without outputting any progress update. If you are seeing 2 processes I don't think -j will help there (with magicdnull).

guo tang

05/05/2023, 8:24 PM
finally build done! My computer has 40 cores, but seems magicdnull is not running 40 parallel tasks. Volare is super fast for me. Download only takes maybe less than one minute. Thanks for that Darryl!


05/05/2023, 8:27 PM
After install what does
du -s /usr/local/share/pdk
report for you ? I have under 9298560 KiB. Maybe my
configure; make; install
all inside 23 mins is broken ? I am using efabless OpenLANE docker image
as the basis for tooling (providing magic etc..).

guo tang

05/05/2023, 10:04 PM
9306644 /usr/local/share/pdk/

Vijayan Krishnan

05/06/2023, 8:46 AM
volare is easy and quick for pdk installation

Tim Edwards

05/06/2023, 4:44 PM
Volare has a pre-built version of the PDK. Running "make" on open_pdks is generating everything directly from the source files. The open_pdks "make" is already parallelized and will take up as many processor cores as you have, but several tasks take much longer than the others and will leave you with a couple of processes running at the end. I think this is mostly an issue with the SRAM extraction, although the I/O library takes a lot of processing, too. Volare may not have the most recent pushes, but I will typically alert the volare maintainer if there's a critical update, so it tracks the most recent open_pdks version pretty closely.
@dlmiles: Yes, open_pdks is not very efficient on disk space. It first builds everything into a local directory. "make install" pares down the size considerably by checking if files are the same between PDK variants and making symbolic links where possible. I just got a large terabyte disk so I could stop worrying about it, but then I am the developer, so I compile and install multiple times per week. Otherwise, if you're not updating it regularly, I suggest doing the "make install" followed by "make veryclean" and "make distclean" to get rid of the locally build version and the source files, leaving you with about 10GB usage. The profligate use of disk space is a constant annoyance to me.