mpw-002 / NSM Nitride Seal Mask

the NSM shapes of all of mpw-002

40 of 40 dies rendered.

1,440 shapes in total, each die at 0.125 µm per pixel.

result.json · job.json · reticle overview PNG

1234567
A A1 A2 A3 A4 A5 A6
B B1 B2 B3 B4 B5 B6 B7
C C1 C2 C3 C4 C6 C7
D D1 D2 D3 D4 D5 D6 D7
E E1 E2 E3 E4 E5 E6 E7
F F1 F2 F3 F4 F5 F6 F7

Downloading the full-resolution image

The stitched reticle is 53,432×65,056 pixels — 3.48 gigapixels. The file itself is small, but decoding it needs about 3.5 GB of memory however small the file is, and most viewers refuse it outright. So it is also published as 42 tiles of about 7576×10776 px (4.4 MB in total, largest 111.0 kB), cut in the gaps between dies so that every tile holds whole projects and none is split.

To put the full-resolution PNG back together from them, byte for byte, with nothing installed but Python itself:

python3 reconstruct_reticle.py

Run it in a directory holding the tiles and mpw-002_NSM_tiles.json and it finds them itself, checks every tile against its checksum as it reads it, and checks the finished file against the manifest. It works because the tiles and the full image are written with PNG's Up filter, which never looks at the pixel to its left — so a row of tiles' scanlines laid end to end is the full image's scanline, and rebuilding moves bytes rather than doing pixel arithmetic.

Whole-reticle files

FileSizeMD5SHA-1SHA-256
mpw-002_NSM_reticle.png
the stitched reticle, full resolution
3.5 MB fa8f46f05ed99c167bed6eafcadbbf10984e7606d2bf2a8c427e92356b5f10754132999d 6697f89be35c7d562e2d488972569d1a66a48b520fb563acd20a45d2e108dc4e
mpw-002_NSM_reticle_overview.png
the same image scaled to fit 4096 px
13.8 kB 0c05ddf05b941824ce507f1b477f169623a4c9b623586c8da0c62b3ce47069d6ddb83679 8b0a0ee52a20bba2478d6de62356b951e1c0f6e5d68cecef14f80b473b655c98
mpw-002_NSM_tiles.json
where every tile belongs, and its checksum
13.2 kB a95c53dd04e9c60a9cfed0738a1a0c3a7af3a61a7877ce9467f343bbf36fdc424f35718f 1ca36c2a2f2837de8c7ba6904be9fffd38475d39896d818121abd6ed75cd048d
reconstruct_reticle.py
rebuilds the reticle from the tiles, standard library only
11.9 kB 4406f1f3db8a4a85756610b7c432c47a294714566ceb084187594ced0020f9260faac32a d2e72bf4b2541f1a8acb11eb758917c5b5fa080b41b3a7118487c03f8af2a769

Every file in this directory is listed in MD5SUMS · SHA1SUMS · SHA256SUMS, in the format the standard tools read:

sha256sum -c SHA256SUMS

The 42 tiles

FrameProjectPixelsPositionSizeSHA-256
A1 axi_dma_using_spinal 7576×107760, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A2 wishbone_can 7576×107767576, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A3 Analog-Neural-Network 7576×1077615152, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A4 caravel_dsp2 7576×1077622728, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A5 eFPGA_v3_caravel 7576×1077630304, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A6 opencryo_testchip 7576×1077637880, 0 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
A7 SkyWater test structures 7976×1077645456, 0 106.8 kB56c5b78f9b86a53fdb64304acc12fba53d045b0526cc20ac1552594029f8a19a
B1 yiFive 7576×107760, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B2 lexicon 7576×107767576, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B3 ucsc_openram_test_chip_v2 7576×1077615152, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B4 yonga-lz4_decoder 7576×1077622728, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B5 Potentiometric_Digit 7576×1077630304, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B6 fuserisc_ver2 7576×1077637880, 10776 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
B7 amsat_txrx_ic_mpw2 7976×1077645456, 10776 107.0 kB487ec85f022a82c52889e3817d3be0241a7f710f7b99ee632b114eb658d6ca58
C1 Comparator_3v3 7576×107760, 21552 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
C2 caravel_multi_encode 7576×107767576, 21552 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
C3 kasirgalabs_uart 7576×1077615152, 21552 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
C4 Automatically_genera 7576×1077622728, 21552 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
C5 SkyWater test structures 7576×1077630304, 21552 102.7 kB404d2b68827b8f64404c8d26b19179b934888b57260a33a16e25162769e85650
C6 uqab 7576×1077637880, 21552 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
C7 caravel_azadi_soc 7976×1077645456, 21552 107.0 kB487ec85f022a82c52889e3817d3be0241a7f710f7b99ee632b114eb658d6ca58
D1 caravel_dsc 7576×107760, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D2 SOFA-Plus-eFPGA 7576×107767576, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D3 caravel_user_project 7576×1077615152, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D4 General_Purpose_Band 7576×1077622728, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D5 zero_to_asic 7576×1077630304, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D6 fast_gcd_for_large_i 7576×1077637880, 32328 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
D7 Columbus 7976×1077645456, 32328 107.0 kB487ec85f022a82c52889e3817d3be0241a7f710f7b99ee632b114eb658d6ca58
E1 Space_shuttle 7576×107760, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E2 subservient 7576×107767576, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E3 caravel_analog_fulgor 7576×1077615152, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E4 bandgap_reference_de 7576×1077622728, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E5 renml 7576×1077630304, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E6 io_expander 7576×1077637880, 43104 103.0 kBf09a354f1038e53480b60cb0a9b0048f715438d2fc1c33a37036970cfc7ba3b1
E7 digital_pll 7976×1077645456, 43104 107.0 kB487ec85f022a82c52889e3817d3be0241a7f710f7b99ee632b114eb658d6ca58
F1 zero_to_asic 7576×111760, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F2 caravel_fpu 7576×111767576, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F3 BrqRV_EB1 7576×1117615152, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F4 hilas 7576×1117622728, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F5 vlsi-sky130-analog-c 7576×1117630304, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F6 sha1_engine 7576×1117637880, 53880 106.9 kB902c6750d7e9bddb503183eb9dcde6eb494d3adef8602a53f088756b9ff48679
F7 caravan_openfasoc 7976×1117645456, 53880 111.0 kB075cdf0ea54fdde2e66ecd0d444735c84f8b43521db2ecb9f8679f140714c3f0

Position is the tile's top-left corner in the full-resolution image. MD5 and SHA-1 for the same files are in the checksum files linked above.

About NSM on mpw-002

Resolved: reticle 5CS8007AC, run mpw-002, mask NSM

Mask layer
NSM — Nitride Seal Mask
Process step
165 — Nitride seal mask
Drawn layer
61:20
Layer on the mask-layer GDS
22:0
Used in SKY130
yes

mpw-002 — SKY130 MPW-2

Foundry product
EF MPW#2
Reticle set
5CS8007AC
Run date
2021-06-18
Submissions closed
2021-06-18
Projects
56
Fab lot
4205819
Identification
confirmed — Lot records: EF MPW#2, lot 4205819 = 'SKY130 MPW 2'
Shuttle page
archived copy of https://platform.efabless.com/shuttles/MPW-2 — the platform that hosted it is gone
Foundry data
third_party/shuttle/sky130/mpw-002/foundry

These are renders of the drawn shapes that go on each photomask, taken from the layouts the shuttle's projects taped out — they are not photomask artwork: reticle pitch, the 4x reduction, mirroring and the frame features the fab adds are not modelled. An empty image is a real result; several mask layers are used by no project on a given shuttle. Each die's source layout is named in result.json and lives in the public shuttle repositories under foss-eda-tools.googlesource.com, so every image here can be traced back to the tape-out it came from. Generated with sky130-mask-decoder.