Cri-One
🔓 Everything Pass · unlock every paragraph + the whole catalog for $29Get the Pass →

Back to the reading room

67-gdsii-generator

This is the technical specification. The deliverable it describes is the full 67-gdsii-generator blueprint package.

Enterprise blueprint packages settle by wire transfer — their value is above any card ceiling. Request the package below and a reference number is emailed to you straight away. The package ships to you on a Blu-ray disc once the wire clears, so include the address it should be mailed to.

Prefer the store page? Open the full product page.

Read the whole thing. Unlock all 23 locked sections of this description in one purchase.

Buy the whole description for $43.70
Patents: None (utility tool; IP retained by CRI-ONE)
Status: Ready for distribution — version 2.0.0-STANDALONE
The GDSII Generator is a self-contained, zero-dependency Python tool that reads foundry delivery specification files and produces binary GDSII Stream version 6 layout files ready for tape-out handoff to any foundry. It ships as a standalone CD image (with Windows autorun) that can be used with any FOUNDRY_DELIVERY_PACKAGE_* folder—whether the customer has one package or dozens spread across different machines. The generator creates a die-outline boundary on GDSII layer 1 and a power ring boundary on GDSII layer 2 for each design, using die dimensions extracted from the specification file. Generated layouts are compatible with all major EDA tool suites, including Cadence Virtuoso, Synopsys IC Compiler, and any tool that reads GDSII v6 binary streams.
The entire tool uses only the Python standard library—there is nothing to pip install. It requires Python 3.6 or higher and runs on Windows, Linux, and macOS. A top-level PowerShell orchestrator (Make-GDSII.ps1) wraps the three Python scripts into a single command with environment checks, generation, and verification.
Read section 3 for $1.90
The binary writer in FAILSAFE_GDSII_GENERATOR.py emits these GDSII record types in sequence:
Read section 4 for $1.90
Each generated .gds file contains a single top-level cell named after the design. Inside the cell are exactly two BOUNDARY elements:
Read section 5 for $1.90
The extract_die_size() function in FAILSAFE_GDSII_GENERATOR.py searches specification key-value pairs for any of the following field names (case-insensitive): area, die_area, die_size, chip_area, chip_size. It parses WxH notation (e.g. 2.5mm x 3.0mm or 500um x 800um), converting millimetre values to microns by multiplying by 1000. If no parseable size is found, the generator defaults to 1000 × 1000 μm.
Read section 6 for $1.90
When the user does not provide a --package argument, both FAILSAFE_GDSII_GENERATOR.py and CHECK_SETUP.py run the find_foundry_package() function, which searches these locations in order:
Read section 7 for $1.90
At each location, it checks one level of subdirectories (then two levels) for any folder whose name contains FOUNDRY_DELIVERY_PACKAGE (case-insensitive) and that contains a SPECIFICATIONS subfolder with at least one .txt file. PermissionError exceptions during the two-level scan are silently skipped.
Read section 8 for $1.90
VERIFY_GDSII.py is a standalone verification script (no imports beyond sys, struct, and pathlib) that can check a single .gds file or scan an entire directory. For each file it validates:
Read section 9 for $1.90
Output uses Unicode check/cross marks and reports per-file validity plus a final tally of valid vs. invalid counts. Exit code is 0 when all files pass, 1 when any file fails.
Read section 10 for $1.90
The binary GDSII v6 files produced by this generator are compatible with:
Read section 11 for $1.90
The top-level entry point for power users. It wraps all three Python scripts into a single command and adds pre-flight checks that catch the most common failure modes before wasting a long run:
Read section 12 for $1.90
The orchestrator performs these steps in sequence:
Read section 13 for $1.90
Helper functions Write-Step, Write-Ok, Write-Warn2, and Write-Bad provide colour-coded console output (Cyan/Green/Yellow/Red).
Read section 14 for $1.90
An interactive menu-driven launcher for users who prefer not to use the command line. It presents six numbered options:
Read section 15 for $1.90
Before showing the menu, it prompts for the foundry package path (or Enter to auto-detect). Uses setlocal enabledelayedexpansion for proper variable expansion inside if blocks.
Read section 16 for $1.90
AUTORUN.inf is a standard Windows autorun configuration. It sets the disc label to GDSII Generator - Standalone CD, declares no media files (MusicFiles=0, PictureFiles=0, VideoFiles=0), and launches GDSII_GENERATOR\RUN_GDSII_GENERATION.bat on disc insertion.
Read section 17 for $1.90
Module-level constants: VERSION = "2.0.0-STANDALONE", SCRIPT_NAME = "FAILSAFE_GDSII_GENERATOR", SCRIPT_DIR, CONFIG_FILE, LOG_FILE, PROGRESS_FILE.
Read section 18 for $1.90
Imports (all standard library): os, sys, json, struct, shutil, pathlib.Path, datetime.datetime, argparse, traceback.
Read section 19 for $1.90
Imports: sys, os, argparse, pathlib.Path.
Read section 20 for $1.90
Imports: sys, struct, pathlib.Path.
Read section 21 for $1.90
Parameters: $Package (string), $Design (string), $Output (string), $Resume (switch), $CheckOnly (switch). Uses $ErrorActionPreference = 'Stop'.
Read section 22 for $1.90
12 files across 3 directories. Total source: 1,956 lines. Estimated disc size: 50–100 KB.
Read section 23 for $1.90
This package ships on a single Blu-ray disc, posted to the delivery address on your order. The archive on the disc is AES-256 encrypted; the passphrase is sent separately, by email, once the disc is despatched — so the disc alone is of no use to anyone who intercepts it.
Read section 24 for $1.90
Discs are despatched by tracked, signed-for post. Allow 5 business days for mastering and verification before despatch.
Read section 25 for $1.90