Hi everyone, I am trying to install open_pdks but ...
# sky130
d
Hi everyone, I am trying to install open_pdks but I get an error when I run make after doing ./configure --enable-sky130-pdk=/home/darunix/GitSandboxes/open_pdks/open_pdks/sources/skywater-pdk/libraries/ Here is the error:
(Or what I think is the relevant section of the output, before it crashes)
Completed installation of vendor files. # Install device layouts from custom sources set -f ; ../common/foundry_install.py -std_format -source ./custom -target /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A \ -gds sky130_fd_pr/*.gds \ options=custom/scripts/gds_import_setup.tcl \ -library primitive sky130_fd_pr 2>&1 | tee -a sky130A_make.log Installing in target (staging) directory /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A Magic version 8.2 (or better) available on the system. Install option: gds Collecting files from ./custom/sky130_fd_pr/*.gds Files to install: ./custom/sky130_fd_pr/sky130_fd_pr__rf_pnp_05v5_W3p40L3p40.gds ./custom/sky130_fd_pr/sky130_fd_pr__rf_npn_11v0_W1p00L1p00.gds ./custom/sky130_fd_pr/sky130_fd_pr__rf_pnp_05v5_W0p68L0p68.gds Install:./custom/sky130_fd_pr/sky130_fd_pr__rf_pnp_05v5_W3p40L3p40.gds to /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_pnp_05v5_W3p40L3p40.gds Install:./custom/sky130_fd_pr/sky130_fd_pr__rf_npn_11v0_W1p00L1p00.gds to /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_npn_11v0_W1p00L1p00.gds Install:./custom/sky130_fd_pr/sky130_fd_pr__rf_pnp_05v5_W0p68L0p68.gds to /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_pnp_05v5_W0p68L0p68.gds Diagnostic: Sorting files with /home/darunix/GitSandboxes/open_pdks/open_pdks/common/sort_pdkfiles.py Completed installation of vendor files. Adding Tcl script options from file custom/scripts/gds_import_setup.tcl Migrating GDS files to layout. Searching for supported devices in PDK script /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tcl. PDK library is sky130 Getting GDS file list from /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds. Creating magic generation script to generate magic database files. No source for abstract views: Abstract views not made. Running magic to create magic database files. Magic 8.3 revision 50 - Compiled on lun 17 ene 2022 164200 CET. Starting magic under Tcl interpreter Using the terminal as the console. Using NULL graphics device. Processing system .magicrc file Sourcing design .magicrc for technology sky130A ... 2 Magic internal units = 1 Lambda Input style sky130(vendor): scaleFactor=2, multiplier=2 Loading sky130A Device Generator Menu ... Scaled tech values by 2 / 1 to match internal grid scaling Error message output from magic script: /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 19: section version: Badly formed version line Usage: {version text}|{description text} /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 635: section compose: Unrecognized layer (type) name "obsli,obsm1" /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 831: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 842: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 863: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 888: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 911: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 920: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 931: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 940: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 949: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 1005: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 1050: section cifoutput: Unknown statement "mask-hints". /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 1098: section cifoutput: Unknown statement "mask-hints". The following sections of /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech contained errors: version compose Traceback (most recent call last): File "../common/foundry_install.py", line 1666, in <module> subprocess_run( File "../common/foundry_install.py", line 271, in subprocess_run raise SystemError("".join(emsg)) SystemError: Command magic failed with exit code: -11 magic -dnull -noconsole Input script was: --------------------------------------------------------------------------- #!/usr/bin/env wish #-------------------------------------------- # Script to generate .mag files from .gds #-------------------------------------------- crashbackups stop drc off gds readonly true gds drccheck false gds flatten true gds rescale false tech unlock * # Set the GDS input style to sky130(vendor). This treats labels on the # TXT purpose (5) as pins, which is unfortunately done in a lot of the # vendor GDS files. cif istyle sky130(vendor) gds read /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_pnp_05v5_W3p40L3p40.gds gds read /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_npn_11v0_W1p00L1p00.gds gds read /home/darunix/GitSandboxes/open_pdks/open_pdks/sky130/sky130A/libs.ref/sky130_fd_pr/gds/sky130_fd_pr__rf_pnp_05v5_W0p68L0p68.gds set devlist {sky130_fd_pr__rf_npn_05v5_W1p00L1p00 sky130_fd_pr__rf_npn_05v5_W1p00L2p00 sky130_fd_pr__rf_pnp_05v5_W0p68L0p68 sky130_fd_pr__rf_pnp_05v5_W3p40L3p40 sky130_fd_pr__rf_test_coil1 sky130_fd_pr__rf_test_coil2 sky130_fd_pr__rf_test_coil3 sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3m4_shieldl1m5 sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1 sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1} set topcell [lindex [cellname list top] 0] foreach cellname $devlist { load $cellname property gencell $cellname property parameter m=1 property library sky130 } load $topcell puts stdout "Writing all magic database files" writeall force puts stdout "Done." quit -noprompt --------------------------------------------------------------------------- make[3]: * [Makefile961 primitive-A] Error 1 make[3]: Leaving directory '/home/darunix/GitSandboxes/open_pdks/open_pdks/sky130' make[2]: * [Makefile897 vendor-A] Error 2 make[2]: Leaving directory '/home/darunix/GitSandboxes/open_pdks/open_pdks/sky130' make[1]: * [Makefile620 all-A] Error 2 make[1]: Leaving directory '/home/darunix/GitSandboxes/open_pdks/open_pdks/sky130' make: * [Makefile115 tech-sky130] Error 2
I have tried to find what could be the error in /open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech , but can't find a solution, I'm a bit stuck. Can anyone help me get past this point and get open_pdks installed? Thanks
l
If nothing else works, try to install the full Open PDKs, without installing the library elsewhere. It is huge, takes a lot time to download and compile, but works.
Copy code
./configure --enable-sky130-pdk
make
sudo make install
d
I'm trying to leave that as the last resort, I would ideally prefer to fix this issue and get the partial install working. But thanks a lot
a
Or... Use OpenLane it works. Also if I had to guess, magic version is too old
d
Thanks Arman. magic --version is 8.3.50
m
Current magic version is around 8.3.257
a
yeah, too old version. Build it from source, should be pretty straitforward
d
that fixed it. Thanks
👍 1
j
Where I can download the full Open PDKs? I have the same problem when run ./configure --enable-sky130-pdk. So I need to install the full pdk instead of only llibraries. I just understand that https://github.com/google/skywater-pdk.git is not for full PDKs.
I also can't find out how to install Magic on redhat 8 ? Any suggestion ? Thank you..
l
Try to compile Magic from the source code. You can get it from https://github.com/RTimothyEdwards/magic Or you can install from a Fedora repo. I've never tried it, as I use Ubuntu. I use Red Hat and Centos for Cadence tools only.
j
May I know if we only need to have the sky130 available for Cadence library. Do I need to install Magic ?
Hi Luis, thank you..
We also use Cadence on Redhat 7,8.
l
The foundry must have the Cadence PDK, but it is unavailable. There is no open source sky130 PDK for Cadence tools, as far as I know. We are trying to develop the full open source tools here, anyway. If you are working with digital designs, you may use commercial tools using the open standard cells available.
j
Yes , you are right. We have Freepdk45 for Cadence lib. But it is so old. The layout have display problem on IC618.
So we are looking for sky130 if it can be used for Cadence.
I've tried to downloads PDFK from Cadence and tested. But is also no good.
l
You can try ASAP7 to replace FreePDK45. https://asap.asu.edu/
j
Okay, will try asap7.
l
Anyway, the open source sky130 PDK is wonderful, because it is based on the real silicon and we have already made some tapeouts using all open source tools. The BSIM4 models are really good and ngspice can handle it.
142 Views