Uri Shaked
02/19/2025, 7:58 PMDavid Lindley
02/19/2025, 8:09 PMhtamas
02/19/2025, 8:13 PMtunm.8
is a bit clearer in the Periphery Rules doc (https://skywater-pdk.readthedocs.io/en/main/rules/periphery.html): it says tunm
has to be enclosed by areaid.ce
. It seems (according to https://open-source-silicon.slack.com/archives/C01BPL3HECT/p1601488185004600) that we inherited some rules from Cypress that specify separate "memory core" and "periphery" (i.e. everything else) areas, and memory cells can only be in a memory core area.Uri Shaked
02/19/2025, 8:17 PMareaid.ce
is?Uri Shaked
02/19/2025, 8:17 PMhtamas
02/19/2025, 8:18 PMareaid.core
? That's how it's called in klayout.Uri Shaked
02/19/2025, 8:18 PMhtamas
02/19/2025, 8:18 PMUri Shaked
02/19/2025, 8:19 PMDavid Lindley
02/19/2025, 8:19 PMDavid Lindley
02/19/2025, 8:20 PMhtamas
02/19/2025, 8:22 PM#------------------------------------
# nsonos
#------------------------------------
variants (full)
cifmaxwidth bbox_missing 0 bend_illegal \
"SONOS transistor must be in cell with abutment box (tunm.8)"
variants (fast),(full)
Uri Shaked
02/19/2025, 8:22 PM# SONOS nFET devices must be in cell with abutment box
templayer abutment_box
boundary
templayer bbox_missing nsonos
and-not abutment_box
Uri Shaked
02/19/2025, 8:22 PMDavid Lindley
02/19/2025, 8:22 PMhtamas
02/19/2025, 8:24 PM#----------------------------------------------------------------
# Create a temp layer from the cell bounding box for use in
# generating ID layers. Note that "boundary", unlike "bbox",
# requires the FIXED_BBOX property (abutment box) in the cell.
#----------------------------------------------------------------
Uri Shaked
02/19/2025, 8:25 PMUri Shaked
02/19/2025, 8:26 PMproperty *FIXED_BBOX
can help*Uri Shaked
02/19/2025, 8:27 PM<< properties >>
string FIXED_BBOX -168 -202 168 202
string gencell sky130_fd_bs_flash__special_sonosfet_star
string library sky130
string parameters w 0.45 l 0.22 m 1 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 class mosfet compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt sky130_fd_bs_flash__special_sonosfet_star sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
<< end >>
Uri Shaked
02/19/2025, 8:27 PMUri Shaked
02/19/2025, 8:28 PMhtamas
02/19/2025, 8:29 PMUri Shaked
02/19/2025, 8:30 PMhtamas
02/19/2025, 8:36 PMhtamas
02/19/2025, 8:36 PMUri Shaked
02/19/2025, 8:37 PMUri Shaked
02/19/2025, 8:40 PMUri Shaked
02/19/2025, 8:40 PMUri Shaked
02/19/2025, 8:40 PMUri Shaked
02/19/2025, 8:41 PMUri Shaked
02/19/2025, 8:41 PMUri Shaked
02/19/2025, 8:44 PMTim Edwards
02/19/2025, 9:26 PMTim Edwards
02/19/2025, 9:30 PMTim Edwards
02/19/2025, 9:35 PMAidan Medcalf
02/19/2025, 9:36 PMFIXED_BBOX
to the SONOS cell and also its parent? I also had to manually fix tunm
in klayout, but only in an arrayTim Edwards
02/19/2025, 9:37 PMAidan Medcalf
02/19/2025, 9:38 PMAidan Medcalf
02/19/2025, 9:39 PMTim Edwards
02/19/2025, 9:39 PMAidan Medcalf
02/19/2025, 9:40 PMAidan Medcalf
02/19/2025, 9:41 PMTim Edwards
02/19/2025, 9:44 PMTim Edwards
02/19/2025, 9:47 PMAidan Medcalf
02/19/2025, 9:55 PMtunm
issue. At the time, magic generated inconsistent tunm
rectangle sizes, which had to be fixed in GDS with klayout. That giant array is not electrically functional (terminals are shorted). The isolated SONOS and 8x8 2T SONOS / npass array devices (a layout you sent around some time ago) in the test pad area are workinghtamas
02/19/2025, 10:13 PMsky130_fd_bs_flash__special_sonosfet_star_EA7MKQ.mag
and pasting its contents directly in the parent cell makes the error disappear.Tim Edwards
02/19/2025, 10:15 PMUri Shaked
02/27/2025, 10:19 AMTim Edwards
02/27/2025, 1:49 PMopen_pdks
repository, since the error apparently arises from the device generator in magic). Just post the error. I can figure it out from there.Uri Shaked
02/27/2025, 1:51 PMTim Edwards
02/27/2025, 1:52 PM