<@U016EM8L91B> I am unable to update open_pdks, af...
# sky130
s
@Tim Edwards I am unable to update open_pdks, after pulling magic, building and installing, then cloning open_pdks, running:
./configure --enable-sky130-pdk --enable-gf180mcu-pdk  --prefix=/home/schippes
followed by
make
after some hours (core i7 machine, 16gb RAM, lot of free SSD space) the build is stuck, 2
magicdnull
processes draining 100%cpu each, nothing happens. Tried to ctrl-c and running make again, same result.
Copy code
Writing 'gf180mcu_fd_io__fill1'
Writing 'gf180mcu_fd_io__in_c'
Writing 'gf180mcu_fd_io__fill5'
Writing 'gf180mcu_fd_io__bi_24t'
Writing '(UNNAMED)'
Must specify name for cell (UNNAMED).
Done.
Error message output from magic script:
Can't write file named '(UNNAMED)'
Annotating files in /mnt/sda7/open_pdks_git/gf180mcu/gf180mcuB/libs.ref/gf180mcu_fd_io/maglef
make[3]: Leaving directory '/mnt/sda7/open_pdks_git/gf180mcu'
make[2]: Leaving directory '/mnt/sda7/open_pdks_git/gf180mcu'
echo "Ended gf180mcuB PDK staging on "`date` >> gf180mcuB_make.log
^Cmake[3]: *** [Makefile:1053: io-D] Interrupt
make[2]: *** [Makefile:812: io-build-D] Interrupt
make[1]: *** [Makefile:632: all-D] Interrupt
make[3]: *** [Makefile:1053: io-C] Interrupt
make[2]: *** [Makefile:812: io-build-C] Interrupt
make[1]: *** [Makefile:632: all-C] Interrupt
make: *** [Makefile:132: tech-gf180mcu] Interrupt
Is there something I can do? I have built open_pdks several times without issues (excluding the need to run make 2 times due to some uncompleted operation in the first run).
same thing removing
-enable-gf180mcu-pdk
I have tried once again removing everything (all git workspaces) rebuilding magic again from zero, re-cloning open_pdks, same conclusion. 2 stuck
magicdnull
processes heating my laptop, nothing happens.
t
I'll take a look. I did a full build of GF a few days ago without problems, but I'll try to duplicate what you did.
👍 1
@Stefan Schippers: This looks like it is related to an issue with LEF generation, where magic has to trace every net from its pin to get the information about antenna diffusion and gate area on each pin. It does not distinguish between power supplies and signals. Signals need that information and power supplies don't, and tracing power supply nets is what it getting everything bogged down (it will eventually finish, but the process could take days). I have a solution to the problem generally (which is a command option that allows specific named nets to be excluded from the antenna area checks), but I have not implemented that solution in open_pdks and was not aware that it had such a huge impact. I should be able to work up a solution pretty quickly.
I came up with an even more obvious fix, which needed to be done in the magic code; but whenever there is a LEF file that exists for the library but magic is writing its own LEF to correct various issues in the original, then at least the power and ground pins should have already been annotated with the "power" or "ground" use flags, so these can be detected automatically and the antenna area checks skipped. I am verifying this solution now. It appears to have cut down the build time for all PDKs by a huge amount.
The problem should be fixed in magic starting with version
8.3.410
.
s
Ok, Thank you will do a rebuild asap. BTW i have an update from yesterday. , I opted for brute force and let make run forever (i didn't need the computer so why not) . It did finish with an error 2, but this is an old story, kind of dependency issue or some parallel job not finished while another expecting data (may be?) . Running make the second time finished without errors, after another considerable number of hours and the pdk is now installed (pheew!) You are right, the magicdnull processes at some point finish their jobs.
👍 1
@Tim Edwards using magic 8.3.410 the whole open_pdks build (sky130 and gf180mcu) was considerably faster and without errors. Thank you!
t
I should be blamed for making it slower in the first place, then thanked for fixing it. . . It all evens out in the end.