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