Coder Social home page Coder Social logo

siepic / siepic_ebeam_pdk Goto Github PK

View Code? Open in Web Editor NEW
193.0 42.0 136.0 315.32 MB

SiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout

Home Page: http://www.siepic.ubc.ca

License: Other

MATLAB 6.59% Shell 0.23% Python 92.86% XS 0.18% Batchfile 0.06% Dockerfile 0.09%
circuit-simulator silicon-photonics pdk fabrication waveguide verification klayout monte-carlo-simulation gds

siepic_ebeam_pdk's People

Contributors

121comeon avatar atofini avatar blin016 avatar chorvath avatar clalarco avatar connormosquera avatar coriils avatar farihais avatar guowu-mcgill avatar hang-bobby-zou avatar jackdegooyer avatar jasminabrar avatar jaspreetj avatar jfluecki avatar klayoutmatthias avatar lukasc-ubc avatar luzeqin avatar m2wentla avatar maddy561 avatar mingleim avatar mustafacc avatar rounaksingh avatar seanlam97 avatar sqt-sfu avatar stefanpreble avatar stephenhlin avatar yixuanwustl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

siepic_ebeam_pdk's Issues

Hierarchical PCells, pin info

Query sub-PCell for pin location, rather than re-calculate at the higher level. e.g,. location of routing waveguides should be matched to component, rather than manually calculated.

Verification, ebeam_gc_te1550

When two waveguides are overlappping and connected to the GC, we get an error:

> optical_components[k].pins[m]
list index out of range
  (eval):1
> optical_components[k].npins
2
> optical_components[k].component
'ebeam_gc_te1550'

This also happens when the GC is disconnected.

But when correctly connected to one waveguide, there is no error.

Add SEM images

Of fabricated devices, so we can see the SEM vs. GDS, overlaid.

launch FDTD sim from INTERCONNECT; register Sparam into CML in INTERCONNECT

For the Directional Coupler, which is already in the PDK. The DC has many parameters (g, w, r, length, wavelength range) hence providing a full parameter sweep is not reasable. The user may ask for a component that hasn't been simulated (e.g., w = 300 nm, g = 250 nm, L = 1.5 µm, r = 9.9 µm, lambda = 1310 nm). Need a method to get this filled in:

  • in KLayout, user launches a simulation; INTERCONNECT issues a warning that the model doesn't exist and the simulation isn't accurate.
  • INTERCONNECT launches FDTD; result is S-parameters
    • user registers the Sparam model into the CML (eventually automated):
    • KLayout launches INTERCONNECT, to find out the path of the EBeam CML. ?get("local path");
    • KLayout copies the Sparam file into the CML, and edits the XML file to add the new component
  • INTERCONNECT now has the correct model.

For new components / user generated components, if the user only wants to simulate the SParams:

  • use the above item, of launching FDTD to get Sparam.
  • if someone wants to add this to the PDK, they would manually edit the CML directly.

Directional coupler PCell

We have a CML for the regular DC, namely ebeam_dc_te1550, but we don't have a KLayout PCell.

Xu implemented the CML, so you can check with him for parameters, FDTD model, etc.
See page 9 of ebeam_Lumerical_CML_User_Guide_2015_08_24.pdf

Also add automated CML generation via FDTD.

Parameters:

  • gap: gap
  • radius: Radius of the bus. Assume the output is 2 conventional bends
  • pitch: vertical pitch (separation + w) for the in/output waveguides.
  • wg_width: Waveguide width
  • coupling_length: coupling length
  • polarization: 'TE' or 'TM'; for use in INTERCONNECT calling FDTD to simulate one of these if pol is defined, or simulate both if undefined.
  • wavelength: default 1550. Consider a simulation bandwidth of 10% of the central wavelength. Used by the INTERCONNECT-FDTD simulation.

Annotation:

  • kappa
  • t
  • excess loss

Crossing CML

SParameters for Ebeam crossing component, please.

Waveguide Resize

It shrinks the length rather than increases it... Did the bug get re-introduced? I know you fixed this before.

CML - TM polarization for components

  • TM GC does not excite the TM mode.
  • Y branch missing the TM simulations.

strip waveguide model correctly has TE and TM modes.

other components - what do they do for TM?

Hierarchical - Path to Waveguide

Known issue:

In a hierarchical design, you need to complete the waveguides for the lower level cells first. If you run the script at the top level, the paths in the subcells get incorrectly converted.

Easiest fix:

Check that the path is in the present cell.

Non-Manhattan path issues

  • if you draw a straight waveguide when connection = any angle, the Waveguide script makes a "bad" waveguide.

PCell & CML generalization for polarization and wavelength

Update all components to support TE, TM or both polarizations, for any centre wavelength, using the automated CML generation via FDTD.

Add to each component:

  • pol: 'TE' or 'TM'; for use in INTERCONNECT calling FDTD to simulate one of these if pol is defined, or simulate both if undefined.
  • wavelength: default 1550. Consider a simulation bandwidth of 10% of the central wavelength. Used by the INTERCONNECT-FDTD simulation.

rename components,

e.g., ebeam_y_1550 -> ebeam_y
e.g., ebeam_dc_te1550 -> ebeam_dc

DRC

Need a thorough set of DRC rules.
Also avoid false errors like the grating coupler corners.

Short waveguide

The Path_to_Waveguide takes a single waveguide (<10) and connects both ends to the same pin. Thus wg_length = 0.

non-Manhattan WG check

Check if waveguide ends are non-Manhattan, since they won't be able to connect to a pin.

Directional Coupler: pulley-coupled

A request to implement a Layout PCell + CML for a fully-parameterized directional coupler for pulley-coupled resonators, with the following parameters:

  • g: gap
  • rr: Radius of the ring.
  • rb: Radius of the bus (set the default to be 2Rr as in Fig 1).
  • wr: Waveguide width for the ring
  • wb: Waveguide width for the bus coupler
  • rc: Radius of the coupler, for the waveguide leaving the ring.
  • theta: The arc for the coupler
  • pol: 'TE' or 'TM'; for use in INTERCONNECT calling FDTD to simulate one of these if pol is defined, or simulate both if undefined.
  • wavelength: default 1550. Consider a simulation bandwidth of 10% of the central wavelength. Used by the INTERCONNECT-FDTD simulation.

name: ebeam_dc_halfring_pulley

generate an icon (SWG file)

See Figure 1 in the following paper:

Nourhan Eid, Hasitha Jayatilleka, Michael Caverley, Sudip Shekhar, Lukas Chrostowski, Nicolas A. Jaeger, "Wide FSR Silicon-on-Insulator Microring Resonator with Bent Couplers", IEEE Group IV Photonics Conference, 08/2015

Waveguide_to_path

Doesn't take into account the transformation on the PCell. (offset, rotation, etc).

klayoutrc SiEPIC-setup

Add a function to configure environment:

  • colour for Marker view
  • colour for PCell outline (light blue)
  • layer properties
  • hotkeys

Directional Couplers for multi-ring filters

A request to implement a Layout PCell + CML for a fully-parameterized directional coupler with the following parameters:

  • g: gap
  • r1: Radius 1
  • r2: Radius 2
  • w: Waveguide width
  • Lc: Coupling length
  • pol: 'TE' or 'TM'; for use in INTERCONNECT calling FDTD to simulate one of these if pol is defined, or simulate both if undefined.
  • wavelength: default 1550. Consider a simulation bandwidth of 10% of the central wavelength. Used by the INTERCONNECT-FDTD simulation.

name: ebeam_dc_seriesrings

generate an icon (SWG file)

See Figure 1 in the following paper:

https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-21-7-9103&id=252045

Specify WG length

Once drawn, give user ability to type in a length, and have waveguide adjust itself.

Add Length as parameter in waveguide PCell. Gettable & Settable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.