siepic / siepic_ebeam_pdk Goto Github PK
View Code? Open in Web Editor NEWSiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout
Home Page: http://www.siepic.ubc.ca
License: Other
SiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout
Home Page: http://www.siepic.ubc.ca
License: Other
.lsf and .spi files are saved in %KLAYOUT_HOME%/tmp. They should be deleted after INTERCONNECT gets closed.
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.
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.
Of fabricated devices, so we can see the SEM vs. GDS, overlaid.
Y-branch snap to Array of GCs always snaps to the bottom GC.
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:
For new components / user generated components, if the user only wants to simulate the SParams:
Add cross-section capabilities, for advanced Active processes.
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:
Annotation:
Perhaps add a layout property for adjustable radius.
SParameters for Ebeam crossing component, please.
None of the files in the verification section detects intersecting waveguides. @lukasc-ubc
It shrinks the length rather than increases it... Did the bug get re-introduced? I know you fixed this before.
strip waveguide model correctly has TE and TM modes.
other components - what do they do for TM?
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.
Verification, with 1000s components.
display run time.
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:
rename components,
e.g., ebeam_y_1550 -> ebeam_y
e.g., ebeam_dc_te1550 -> ebeam_dc
A* in Python:
http://www.redblobgames.com/pathfinding/a-star/implementation.html
Theta*
http://aigamedev.com/open/tutorials/theta-star-any-angle-paths/
Grid with line movement: http://www.redblobgames.com/pathfinding/grids/algorithms.html
http://code.activestate.com/recipes/578919-python-a-pathfinding-with-binary-heap/
http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html
Need a thorough set of DRC rules.
Also avoid false errors like the grating coupler corners.
either leave as-is, or add functions to PCells:
http://klayout.de/forum/comments.php?DiscussionID=757&page=1#Item_8
The Path_to_Waveguide takes a single waveguide (<10) and connects both ends to the same pin. Thus wg_length = 0.
Check if waveguide ends are non-Manhattan, since they won't be able to connect to a pin.
The ordering of the nets in the netlist is arbitrary. Need to ensure that it is in a consistent order.
when running Snap, or verification.
Currently working on it.
A request to implement a Layout PCell + CML for a fully-parameterized directional coupler for pulley-coupled resonators, with the following parameters:
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
Doesn't take into account the transformation on the PCell. (offset, rotation, etc).
Add a function to configure environment:
use the closest pins as the alignment feature.
A request to implement a Layout PCell + CML for a fully-parameterized directional coupler with the following parameters:
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
Once drawn, give user ability to type in a length, and have waveguide adjust itself.
Add Length as parameter in waveguide PCell. Gettable & Settable.
see:
# https://docs.python.org/2/tutorial/floatingpoint.html#tut-fp-issues
and KLayout uses both floating-point and integer storage. So there can be conversion errors.
I created the layout for the ring resonator. My verification step was giving me errors, until I discovered a 1 nm offset in the waveguide due to this type of small error in rounding.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.