Greetings! While I was installing the GF180MCU thr...
# magic
c
Greetings! While I was installing the GF180MCU through open-pdks, it seems magic script runs into some issues when I was trying to compile it, which are listed below. Any help will be much appreciated!
Copy code
Error message output from magic script:
CIF file read warning: CIF style import: units rescaled by factor of 5 / 1
Error while reading cell "moscap_routing" (byte position 6280260): Warning: cell "M2_M1_CDNS_40661956134100" placed on top of itself.  Ignoring the extra one.
Error while reading cell "moscap_routing" (byte position 6280310): Warning: cell "M2_M1_CDNS_40661956134100" placed on top of itself.  Ignoring the extra one.
Error while reading cell "moscap_routing" (byte position 6280360): Warning: cell "M2_M1_CDNS_40661956134100" placed on top of itself.  Ignoring the extra one.
Error limit set:  Remaining errors will not be reported.
CIF file read warning: Input off lambda grid by 2/5; snapped to grid.
Can't write file named '(UNNAMED)'
Compiling LEF library from magic output.
Diagnostic:  Creating consolidated LEF library gf180mcu_fd_io.lef
New file is:  /home/chris/open_pdks/gf180mcu/gf180mcuA/libs.ref/gf180mcu_fd_io/lef/gf180mcu_fd_io.lef
Compile-only:  Removing individual LEF files
Migrating LEF files to layout.
Generating conversion script to create magic databases from LEF
Running magic to create magic databases from LEF

Magic 8.3 revision 406 - Compiled on Mon 26 Jun 2023 07:02:04 PM EDT.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Sourcing design .magicrc for technology gf180mcuA ...
10 Magic internal units = 1 Lambda
Input style import: scaleFactor=10, multiplier=2
The following types are not handled by extraction and will be treated as non-electrical types:
    obsactive mvobsactive filldiff fillpoly m1hole obsm1 fillm1 obsv1 m2hole obsm2 fillm2 obsv2 m3hole obsm3 fillm3 glass fillblock lvstext obscomment 
Scaled tech values by 10 / 1 to match internal grid scaling
Loading gf180mcuA Device Generator Menu ...
Using technology "gf180mcuA", version 1.0.420-0-g4f45cb0
Reading LEF data from file /home/chris/open_pdks/gf180mcu/gf180mcuA/libs.ref/gf180mcu_fd_io/lef/gf180mcu_fd_io.lef.
This action cannot be undone.
LEF read: Processed 3273 lines.
Annotating cells from CDL/SPICE
Annotating port orders from /home/chris/open_pdks/gf180mcu/gf180mcuA/libs.ref/gf180mcu_fd_io/cdl/gf180mcu_fd_io.cdl
Annotating cell gf180mcu_fd_io__asig_5p0
Cell gf180mcu_fd_io__asig_5p0 port order was modified.
Annotating cell gf180mcu_fd_io__bi_24t
Cell gf180mcu_fd_io__bi_24t port order was modified.
Annotating cell gf180mcu_fd_io__bi_t
Cell gf180mcu_fd_io__bi_t port order was modified.
Annotating cell gf180mcu_fd_io__brk2
Cell gf180mcu_fd_io__brk2 port order was modified.
Annotating cell gf180mcu_fd_io__brk5
Cell gf180mcu_fd_io__brk5 port order was modified.
Annotating cell gf180mcu_fd_io__cor
Cell gf180mcu_fd_io__cor port order was modified.
Annotating cell gf180mcu_fd_io__dvdd
Cell gf180mcu_fd_io__dvdd port order was modified.
Annotating cell gf180mcu_fd_io__dvss
Cell gf180mcu_fd_io__dvss port order was modified.
Annotating cell gf180mcu_fd_io__fill1
Cell gf180mcu_fd_io__fill1 port order was modified.
Annotating cell gf180mcu_fd_io__fill5
Cell gf180mcu_fd_io__fill5 port order was modified.
Annotating cell gf180mcu_fd_io__fill10
Cell gf180mcu_fd_io__fill10 port order was modified.
Annotating cell gf180mcu_fd_io__fillnc
Cell gf180mcu_fd_io__fillnc port order was modified.
Annotating cell gf180mcu_fd_io__in_c
Cell gf180mcu_fd_io__in_c port order was modified.
Annotating cell gf180mcu_fd_io__in_s
Cell gf180mcu_fd_io__in_s port order was modified.
Writing 'gf180mcu_fd_io__in_s'
Writing 'gf180mcu_fd_io__fillnc'
Writing 'gf180mcu_fd_io__cor'
Writing 'gf180mcu_fd_io__brk2'
Writing 'gf180mcu_fd_io__asig_5p0'
Writing 'gf180mcu_fd_io__bi_t'
Writing 'gf180mcu_fd_io__dvss'
Writing 'gf180mcu_fd_io__dvdd'
Writing 'gf180mcu_fd_io__brk5'
Writing 'gf180mcu_fd_io__fill10'
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 /home/chris/open_pdks/gf180mcu/gf180mcuA/libs.ref/gf180mcu_fd_io/maglef
make[3]: Leaving directory '/home/chris/open_pdks/gf180mcu'
make[2]: Leaving directory '/home/chris/open_pdks/gf180mcu'
m
@Chris
Copy code
Warning: cell "M2_M1_CDNS_40661956134100" placed on top of itself.  Ignoring the extra one.
You can ignore these. The gds has duplicate placements and magic is ignore them.
Copy code
Can't write file named '(UNNAMED)'
I’m pretty sure you can ignore this too. I believe the
(UNNAMED)
cell is a dummy placeholder. Are you seeing any other problems?
c
Okay thanks for your information, yeah I do also see some sort of annotation error afterwards, wondering if there are also critical:
Copy code
The following sections of /home/zonghao/open_pdks/gf180mcu/gf180mcuD/libs.tech/magic/gf180mcuD.tech contained errors:
    version
Couldn't find label A
Couldn't find label B
Couldn't find label CI
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
Couldn't find label VSS
Couldn't find label A
Couldn't find label B
Couldn't find label CI
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
Couldn't find label VSS
Couldn't find label A
Couldn't find label B
Couldn't find label CI
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
Couldn't find label VSS
Couldn't find label A
Couldn't find label B
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
Couldn't find label VSS
Couldn't find label A
Couldn't find label B
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
Couldn't find label VSS
Couldn't find label A
Couldn't find label B
Couldn't find label CO
Couldn't find label S
Couldn't find label VDD
Couldn't find label VNW
Couldn't find label VPW
m
Don't know about that. Is there a reason you're building the pdk yourself as opposed to using the prebuilt volare versions?
c
@Mitch Bailey I know many people are using Volare for GF180MCU, but I am just curious if open-pdk is going to work or not since I have that for SKY130 already.
I assume they are both sourcing the same GF180 repository am I correct?
m
volare just manages the results of prebuilt pdks using open_pdk, so, yes, whether you use volare or open_pdks, you should get the same pdk.
c
What I could try is to get GF180 installed through volare and see if I encounter the same issues, or this could be a magic problem not pdk, anyway I am just guessing since I have no idea about these errors myself...
@Mitch Bailey okay so I have updated the magic to the latest version and it seems all other errors are gone except the one you mentioned that can be ignored safely:
Copy code
Writing '(UNNAMED)'
Must specify name for cell (UNNAMED).
Done.
Error message output from magic script:
Can't write file named '(UNNAMED)'
👍 1
t
There are a lot of error messages created during the PDK build; if the build did not halt in the middle, then it should be okay. It's rather hard to disambiguate the errors and warnings in the different tools, especially magic.
👍 1