Luxtelligence LNOI400 PDK implementation for PhotonForge
Project description
Luxtelligence LNOI400
This python module implements the Luxtelligence LNOI400 PDK as components and technology specification for PhotonForge
For LNOI400 design rules, design manual and PDK specifications, please contact Luxtelligence.
Installation
Installation via pip:
pip install luxtelligence-lnoi400-forge
Usage
The simplest way to use the this PDK in PhotonForge is to set its technology as default:
import photonforge as pf
import luxtelligence_lnoi400_forge as lxt
tech = lxt.lnoi400()
pf.config.default_technology = tech
The lnoi400 function creates a parametric technology and accepts a number of
parameters to fine-tune the technology.
PDK components are available in the component submodule. The list of
components can be discovered by:
dir(lxt.component)
print(lxt.component_names)
pdk_component = lxt.component.mmi1x2()
A utility function place_edge_couplers is available for placing edge couplers
at chip boudaries.
More information can be obtained in the documentation for each function:
help(lxt.lnoi400)
help(lxt.component.mmi1x2)
help(lxt.place_edge_couplers)
Finally, an extrusion demo for the technology can be seen by running:
lxt.plot_cross_section()
Warnings
Please note that the 3D structures obtained by extrusion through this module's technologies are a best approximation of the intended fabricated structures, but the actual final dimensions may differ due to several fabrication-specific effects. In particular, doping profiles are represented with hard-boundary, homogeneous solids, but, in practice will present process-dependent variations with smooth boundaries.
Changelog
2.1.0 - 2026-05-08
- Updated to PDK version 2.1.0.
- Rewrote the component library to align with the modular LTOI300.
1.4.0 - 2025-12-12
- Added
eo_phase_shifter_high_speedandmz_modulator_unbalanced_high_speed. - Added RF pads to
eo_phase_shifterand corresponding terminals. - Replace and deprecate the use of
*_kwargsmodel parameters with model instances. - Changed default values in accordance to 1.4.0 PDK release.
- Fixed missing terminal in straight heater.
1.2.4 - 2025-04-18
- Better error detection when inspecting port specifications
1.2.0 - 2025-03-04
- Added electrical ports and terminals.
1.1.0 - 2024-12-03
- Added arguments
slab_removal_widthandinput_exttodouble_linear_inverse_taper. - Added arguments
centerandexclusion_zone_widthtochip_frame. - Added argument
start_section_widthtos_bend_vert. - Added parametric components
dir_coupl,heater_pad,heater_straight, andheated_straight_waveguide. chip_frameis centered around the origin by default.- Changed
mz_modulator_unbalanceddefault length. - Removed port symmetries that were only valid for fundamental modes.
1.0.1 - 2024-10-17
- Add missing technology docstring.
- Fixed port symmetries in MMI2x2.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file luxtelligence_lnoi400_forge-2.1.0.tar.gz.
File metadata
- Download URL: luxtelligence_lnoi400_forge-2.1.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41227f1cd199ef78e462b15857b1fd691d0d13b7048c58c50958468e226c4417
|
|
| MD5 |
824dcb80d1ce770ae950d53d9029f6c4
|
|
| BLAKE2b-256 |
67320aa7e22fb0ea019b3a664a94bb373a0a76d07d1134a682b9461b38d42cda
|
Provenance
The following attestation bundles were made for luxtelligence_lnoi400_forge-2.1.0.tar.gz:
Publisher:
build-lnoi400-packages.yml on flexcompute/luxtelligence-forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
luxtelligence_lnoi400_forge-2.1.0.tar.gz -
Subject digest:
41227f1cd199ef78e462b15857b1fd691d0d13b7048c58c50958468e226c4417 - Sigstore transparency entry: 1479680363
- Sigstore integration time:
-
Permalink:
flexcompute/luxtelligence-forge@f7c63cb26331f50489809dfb011e3386b9e6fecd -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/flexcompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-lnoi400-packages.yml@f7c63cb26331f50489809dfb011e3386b9e6fecd -
Trigger Event:
push
-
Statement type:
File details
Details for the file luxtelligence_lnoi400_forge-2.1.0-py3-none-any.whl.
File metadata
- Download URL: luxtelligence_lnoi400_forge-2.1.0-py3-none-any.whl
- Upload date:
- Size: 25.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd4c6e46f797577c3ed32903dbed68a7ef40f769b1d0494dafb3b8abb6a5721e
|
|
| MD5 |
69565aefbc73cb5138dbc81ae7aeba52
|
|
| BLAKE2b-256 |
1384de71987b2c359aff1dfa9564fdc44179851baf294e674a097c06c9783420
|
Provenance
The following attestation bundles were made for luxtelligence_lnoi400_forge-2.1.0-py3-none-any.whl:
Publisher:
build-lnoi400-packages.yml on flexcompute/luxtelligence-forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
luxtelligence_lnoi400_forge-2.1.0-py3-none-any.whl -
Subject digest:
cd4c6e46f797577c3ed32903dbed68a7ef40f769b1d0494dafb3b8abb6a5721e - Sigstore transparency entry: 1479680425
- Sigstore integration time:
-
Permalink:
flexcompute/luxtelligence-forge@f7c63cb26331f50489809dfb011e3386b9e6fecd -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/flexcompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-lnoi400-packages.yml@f7c63cb26331f50489809dfb011e3386b9e6fecd -
Trigger Event:
push
-
Statement type: