Matthew Guthaus
01/04/2022, 5:03 PMMatthew Guthaus
01/04/2022, 5:07 PMTim Edwards
01/04/2022, 5:14 PMMatthew Guthaus
01/04/2022, 5:19 PMMatthew Guthaus
01/04/2022, 5:20 PMTim Edwards
01/04/2022, 5:22 PM-rcfile
and sky130A.magicrc
? If you don't apply the command drc euclidean on
you will get that error, since the manhattan distance is in violation of the distance rule. The command is part of the sky130A.magicrc
script.Matthew Guthaus
01/04/2022, 5:24 PMNew windows will not have a border.
Repainting console in magic layout window colors
handling file entry mag/sky130_fd_sc_hd__nand2_1.mag extension .mag
File <mag/sky130_fd_sc_hd__nand2_1.mag> is already locked by pid 4028751. Opening read-only.
Cell sky130_fd_sc_hd__nand2_1 has technology "sky130A", but current technology is "minimum"
Loading technology sky130A
Input style sky130(vendor): scaleFactor=2, multiplier=2
Cell path is now "/usr/local/lib/magic/sys/current /usr/local/lib/magic/tutorial /software/PDKs/sky130A/libs.ref/sky130_fd_pr/mag /software/PDKs/sky130A/libs.ref/sky130_fd_pr/maglef /software/PDKs/sky130A/libs.ref/sky130_ml_xx_hd/mag"
Input cell sky130_fd_sc_hd__nand2_1 scales magic internal geometry by factor of 2
Using technology "sky130A", version 1.0.258-0-g11fb930
I'm running this in another directory with no .magicrc, not in my home directory, and not in the system directories either.
Where does it even get my PDK paths?Tim Edwards
01/04/2022, 5:26 PM.magicrc
file. It gets the technology from the .mag
file and may be able to find everything if you have PDK_PATH
set in your environment.Matthew Guthaus
01/04/2022, 5:27 PMMatthew Guthaus
01/04/2022, 5:28 PMTim Edwards
01/04/2022, 5:28 PM.magicrc
file in the directory where the file you read in is, or is there a .magicrc
file in your home directory?Matthew Guthaus
01/04/2022, 5:28 PMTim Edwards
01/04/2022, 5:28 PMPDKROOT
or PDK_ROOT
environment variable?Matthew Guthaus
01/04/2022, 5:30 PMTim Edwards
01/04/2022, 5:31 PMCell path is now ...
above comes from some code that attempts to find a PDK that was installed by open_pdks. It will try a number of different things, including just a search on /usr/share/pdk
.Matthew Guthaus
01/04/2022, 5:31 PMMatthew Guthaus
01/04/2022, 5:32 PMTim Edwards
01/04/2022, 5:32 PM.magicrc
script and sourcing it first, before it tries to just load the tech file.Matthew Guthaus
01/04/2022, 5:34 PMset PDKPATH "/software/PDKs/sky130A
Tim Edwards
01/04/2022, 5:45 PMopen_pdks/sky130/sky130A/
is a staging area where open_pdks builds the PDK. All of the paths there are self-consistent and valid, and you can run the whole think out of the staging area. But the intent is to follow that through with make install
which will copy it to the final destination (and make clean
so that you don't end up with two entire copies of the PDK).Matthew Guthaus
01/04/2022, 5:47 PMMitch Bailey
01/05/2022, 12:07 AMbuild-pdk
target has a make clean
. This will delete the staging area open_pdks/sky130/sky130A
, correct?
build-pdk: $(PDK_ROOT)/open_pdks $(PDK_ROOT)/skywater-pdk
[ -d $(PDK_ROOT)/sky130A ] && \
(echo "Warning: A sky130A build already exists under $(PDK_ROOT). It will be deleted first!" && \
sleep 5 && \
rm -rf $(PDK_ROOT)/sky130A) || \
true
$(ENV_COMMAND) sh -c " cd $(PDK_ROOT)/open_pdks && \
./configure --enable-sky130-pdk=$(PDK_ROOT)/skywater-pdk/libraries $(OPEN_PDK_ARGS)"
cd $(PDK_ROOT)/open_pdks/sky130 && \
$(MAKE) veryclean && \
$(MAKE) prerequisites
$(ENV_COMMAND) sh -c " cd $(PDK_ROOT)/open_pdks/sky130 && \
make && \
make SHARED_PDKS_PATH=$(PDK_ROOT) install && \
make clean"
This may be what's causing the bad links
https://github.com/RTimothyEdwards/open_pdks/issues/204Tim Edwards
01/05/2022, 2:15 AM