Photonics
Laylight vs SiEPIC EBeam and Cornerstone
Compare the built-in structure coverage in laylight core against two reference photonic PDKs.
Comparing Laylight core structures with the SiEPIC EBeam PDK and Cornerstone gdsfactory
This page compares the device-category coverage of all three using the same criteria:
laylight/packages/corecurrently provides a reusable set of layout structures.- SiEPIC EBeam PDK is an open-source PDK centered around KLayout, with both mature device libraries and publicly visible beta devices.
- Cornerstone gdsfactory (
cspdk) is a gdsfactory-based PDK covering multiple process variants such assi220,si500, andsin300, and it ships a more complete ready-to-use cell catalog.
Counting Method
To keep the comparison as fair as possible, the tables below use these rules:
- For laylight, the count is based on
packages/core/laylight/structure/*.py, not only on the modules currently re-exported bystructure/__init__.py. - For SiEPIC EBeam, the count is based on public component documentation plus the
pcells_EBeamandpcells_EBeam_Betadirectories in the repository. - For Cornerstone, the count is based on the official
cspdkcell libraries insi220/cband,si220/oband,si500, andsin300. - The comparison is about device-category coverage, not exact per-file counts.
Structures Currently Built into Laylight
The current laylight core provides a set of foundational,
composable layout structures that are suitable for scripted assembly and manual composition:
| Category | Current laylight structures |
|---|---|
| Basic waveguide primitives | WGStraight, NeoTaper, ArcCurve, SCurve, WGUBend |
| Waveguide coupling / crossing / transition | DirectionalCoupler, AdiabaticCoupler, WaveguideCrossing, StripToRibTransition |
| Splitter / combiner primitives | YBranch |
| Fiber I/O / delay structures | RectangularGratingCoupler, FocusingGratingCoupler, EllipticalGratingCoupler, PolarizationSpecificGratingCoupler, BraggGrating, SpiralDelay, CutbackDelay |
| Periodic coupling / reflective devices | ContraDirectionalCoupler |
| Extended resonator devices | Racetrack, RacetrackCoupled |
| Passive splitting / combining | MMI, which can form 1x2, 2x2, and 2x1; MMIFanOut |
| Interferometric devices | MZI |
| Resonator devices | Ring, RingCoupled |
| Electrical / probe support | HeaterPad, Pad, GSGPad |
| Packaging / wrapper templates | FiberArrayWrapper, DieWithPads |
| Higher-level composition templates | MZIRectangularArray, MZITensor |
This is already enough to support the following:
- straight waveguides, taper transitions, and curved waveguide routing;
- directional couplers, adiabatic couplers, Y-branches, crossings, and strip-to-rib transitions;
- rectangular / focusing / elliptical / polarization-specific grating couplers, Bragg gratings, contra-directional couplers, and spiral / cutback delay structures;
- MMI-based splitters / combiners and MZI modules;
- heater-enabled rings and MZIs, plus racetrack resonator families;
- simple pad / probe test structures, as well as metal / via / heater-routing primitives;
- packaging templates such as fiber-array wrappers and die-with-pads;
- higher-level MZI mesh-style compositions.
Device Category Comparison
| Device category | laylight core | SiEPIC EBeam PDK | Cornerstone cspdk |
|---|---|---|---|
| Straight waveguides | Yes | Yes | Yes |
| Taper / width transition | Yes | Yes | Yes |
| Basic bend / arc / S-bend / U-bend | Yes | Yes | Yes |
| Directional coupler | Yes | Yes | Yes |
| Broadband / adiabatic coupler | Yes | Yes | Partial |
| Y-branch splitter | Yes | Yes | No first-class Y-branch cell |
| MMI splitter / combiner | Yes | Partial / beta-visible | Yes |
| MZI block | Yes | Mostly assembled from primitives / examples | Yes |
| Ring resonator | Yes | Yes | Yes |
| Racetrack resonator | Yes | Yes | Yes |
| Ring heater variant | Yes | Yes | Yes |
| Waveguide crossing | Yes | Yes | Yes |
| Spiral delay / cutback structure | Yes | Yes (beta) | Yes |
| Grating coupler | Yes | Yes | Yes |
| Bragg grating | Yes | Yes | No dedicated Bragg family in shipped cells |
| Contra-directional coupler | Yes | Yes | No dedicated contra-DC family in shipped cells |
| Strip / rib transition | Yes | Partial | Yes |
| Metal routing cell | Yes | Limited in visible library | Yes |
| Via stack / heater interconnect | Yes | Partial | Yes |
| Pad / die / packaging helper | Yes | Limited | Yes |
| Fiber-array / pad-array wrapper | Yes | Limited | Yes |
| Research / beta experimental devices | No explicit beta library | Yes | Limited |
References
- Laylight local source:
packages/core/laylight/structure/ - SiEPIC EBeam PDK repository:
https://github.com/SiEPIC/SiEPIC_EBeam_PDK - SiEPIC EBeam component docs:
https://github.com/SiEPIC/SiEPIC_EBeam_PDK/tree/master/docs/components/ebeam - Cornerstone
cspdkdocs index:https://gdsfactory.github.io/cspdk/ - Cornerstone
si220cells:https://gdsfactory.github.io/cspdk/cells_si220_cband.html - Cornerstone
si500cells:https://gdsfactory.github.io/cspdk/cells_si500.html - Cornerstone
sin300cells:https://gdsfactory.github.io/cspdk/cells_sin300.html