All Projects → SiEPIC → Siepic_ebeam_pdk

SiEPIC / Siepic_ebeam_pdk

Licence: other
SiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Siepic ebeam pdk

Scrypt Interactive
[DEPRECATED] Truebit Verification for Scrypt
Stars: ✭ 47 (-61.16%)
Mutual labels:  verification
Minasmsverification
短信验证:基于阿里云的 微信小程序 功能模块: 直接用 / mini-program + Node.js + Alibaba Cloud / Front & Back End
Stars: ✭ 94 (-22.31%)
Mutual labels:  verification
Ergo
The Language for Smart Legal Contracts
Stars: ✭ 108 (-10.74%)
Mutual labels:  verification
Perennial
Verifying concurrent crash-safe systems
Stars: ✭ 57 (-52.89%)
Mutual labels:  verification
Tulip Control
Temporal Logic Planning toolbox
Stars: ✭ 81 (-33.06%)
Mutual labels:  verification
Hacl Star
HACL*, a formally verified cryptographic library written in F*
Stars: ✭ 1,360 (+1023.97%)
Mutual labels:  verification
Gesture recognition
a gesture recognition verification lock
Stars: ✭ 37 (-69.42%)
Mutual labels:  verification
Esverify
ECMAScript verification with SMT solvers
Stars: ✭ 109 (-9.92%)
Mutual labels:  verification
Sea Dsa
A new context, field, and array-sensitive heap analysis for LLVM bitcode based on DSA.
Stars: ✭ 90 (-25.62%)
Mutual labels:  verification
Verifyedittext
带下划线的验证码输入框
Stars: ✭ 103 (-14.88%)
Mutual labels:  verification
Reachabilityanalysis.jl
Methods to compute sets of states reachable by dynamical systems
Stars: ✭ 59 (-51.24%)
Mutual labels:  verification
Vonage Java Sdk
Vonage Server SDK for Java. API support for SMS, Voice, Text-to-Speech, Numbers, Verify (2FA) and more.
Stars: ✭ 75 (-38.02%)
Mutual labels:  verification
Brightid
Reference mobile app for BrightID
Stars: ✭ 101 (-16.53%)
Mutual labels:  verification
Smsretrieverapimaster
Automatic SMS Verification with the SMS Retriever API
Stars: ✭ 48 (-60.33%)
Mutual labels:  verification
Tlaplus
TLC is an explicit state model checker for specifications written in TLA+. The TLA+Toolbox is an IDE for TLA+.
Stars: ✭ 1,618 (+1237.19%)
Mutual labels:  verification
Owasp Masvs
The Mobile Application Security Verification Standard (MASVS) is a standard for mobile app security.
Stars: ✭ 1,030 (+751.24%)
Mutual labels:  verification
Jhverificationcodeview
验证码输入框,验证码,code view,iOS验证码输入
Stars: ✭ 96 (-20.66%)
Mutual labels:  verification
Gini
A fast SAT solver
Stars: ✭ 112 (-7.44%)
Mutual labels:  verification
React Native Code Verification
❤️ Simple UI for pincode verification
Stars: ✭ 109 (-9.92%)
Mutual labels:  verification
Awesome Open Hardware Verification
A List of Free and Open Source Hardware Verification Tools and Frameworks
Stars: ✭ 103 (-14.88%)
Mutual labels:  verification

SiEPIC_EBeam_PDK

Download and Installation instructions:

  • Details are provided in the Wiki page: Installation instructions. KLayout's package manager is used for both downloading and installing the package.

Objectives:

  • Use an open-source layout tool (KLayout) to implement a sophisticated layout design environment for silicon photonics
  • Support for both GUI and script-based layout, or combinations of both.
  • KLayout-INTERCONNECT integration offers a layout-first design methodology. Inspired by Layout Versus Schematic tools, this PDK includes netlist extraction routines to generate a schematic from the layout. This allows the user to directly simulate from the layout, without needing to create the schematic first. This approach is possibly more appealing to photonics designers who are accustomed to designing physical layouts, rather than schematics. A library of components (layout and compact models) is included in the Process Design Kit, specifically for silicon photonics fabrication via Electron Beam Lithography.
  • Whereas a typical schematic-driven design flow includes a schematic, circuit simulation, layout, and verification (see Chapter 10 of the textbook), the approach taken here is Layout-driven, followed by verification, then a schematic (via a netlist extraction) and simulations.
  • Read more details in our two SPIE papers: Design and simulation of silicon photonic schematics and layouts and Schematic Driven Silicon Photonics Design.

Video of a layout and simulation of a ring resonator circuit:

Layout and simulation of a ring resonator circuit

Monte Carlo simulations of a ring resonator circuit, showing fabrication variations:

Monte Carlo simulations of a ring resonator circuit

Layout of a Mach-Zehnder Interferometer:

Layout of a Mach-Zehnder Interferometer

Simulations for the MZI:

Lumerical INTERCONNECT simulations

The SiEPIC-EBeam package includes:

  • Process Design Kit (PDK): this package, including fabrication documentation, scripts, etc.
  • EBeam Layer definitions for KLayout (klayout_Layers_EBeam.lyp).
  • PCells: directional couplers, ring resonator, taper, Bragg grating
  • Sample scripts to create a layout, including waveguide generation functions: Mach-Zehnder Interferometer test structures; Ring resonator test structure.
  • GDS Library, updated with marker layers for verification/netlist generation.

The SiEPIC-Tools package includes:

  • Verification:
    • Scanning the layout. Finding waveguides, devices, pins.
    • Verification: Identifying if there are missing connections, mismatched waveguides, too few points in a bend, etc.
    • Example layouts using the library for verification (EBeam_LukasChrostowski_E_LVS.gds, SiEPIC_EBeam_PDK_Verification_Check.gds).
    • Verification for automated measurements
  • Circuit simulations:
    • Netlist generation
    • Creating a Spice netlist suitable for for circuit simulations. This includes extracting the waveguide length (wg_length) for all waveguides.
    • Menu item "Lumerical INTERCONNECT" will automatically: generate the netlist, launch Lumerical INTERCONNECT to perform the circuit simulations, and pop-up a plot of the transmission spectrum.
    • Monte Carlo simulations, including waveguides, ring resonators built using directional couplers, y-branches, grating couplers.
  • Waveguide functionality:
    • Hot Key "W": selected paths are first snapped to the nearest pins, then converted to waveguides.
    • Hot Key "Shift-W": selected waveguides are converted back to paths.
    • Hot Key "Ctrl-Shift-W": measure the length of the selected waveguides.
    • Hot Key "Ctrl-Shift-R": resize the waveguides, for a given target length.
  • Layout object snapping
  • Hot Key "Shift-O": Snaps the selected object to the one where the mouse is hovering over.

Contributing to this project:

You can download the latest development version (master) of the PDK: Zip file download of the PDK

It is posted on GitHub for 1) revision control, 2) so that others can contribute to it, find bugs, 3) easy download of the latest version.

To contribute to the PDK:

  • On the GitHub web page, Fork a copy of the project into your own account.
  • Clone to your Desktop
  • Make edits/contributions. You can use the KLayout IDE to write Python (or Ruby) scripts; KLayout Python IDE for writing/debugging PCells/scripts/macros.
  • "Commit to master" (your own master)
  • Create a Pull Request -- this will notify me of your contribution, which I can merge into the main project

I am personally using GitHub desktop to synchronize my files. Then I created symbolic links in my .klayout folder to point to the local copy of this repository. This is useful to automatically update my local KLayout installation (e.g., multiple computers), as changes are made in GitHub.

Screenshots:

Screenshot1 Screenshot2 Screenshot3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].