Coder Social home page Coder Social logo

mustafacc / openebl-2024-05 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from siepic/openebl-2024-05

0.0 0.0 0.0 41.57 MB

Submission for fabrication of silicon photonics for the openEBL run

Home Page: https://siepic.ca/openebl/

License: MIT License

Python 100.00%

openebl-2024-05's Introduction

openEBL Design Submissions

  • The Silicon Electronic Photonics Integrated Circuits (SiEPIC) fabrication program, SiEPICfab, presents the open electron beam lithography (EBL) fabrication process, where former and current students of SiEPIC workshops and courses can submit their design for manufacturing and testing.
  • More details about openEBL.
  • This fabrication run had a deadline of May 18, 2024.
  • The previous submission was in February 2024, and measurement data is available.

Fabrication process: Passive Silicon

Technical summary:

  • SOI wafer, 220 nm silicon
  • Baseline process:
    • Single full etch, using a negative resist (HSQ)
    • Oxide cladding
  • Process Design Kit: SiEPIC-EBeam-PDK

Layer table

Name Layer/datatype Description
Si 1/99 Layer to draw silicon geometries
Floorplan 99/0 Marks the layout design area
Text 10/0 Text labels for automated measurements
DevRec 68/0 Device recognition layer for component connectivity, netlist extraction, and verification
PinRec 1/10 Port/pins recognition layer for component connectivity, netlist extraction, and verification
Waveguide 1/99 Virtual layer, guiding shape for waveguide, used for length calculation
SEM 200/0 Requests for SEM images. Rectangles in a 4:3 aspect

Submission instructions:

The submission involves several steps. First, you need to create your design(s) using the process design kit (PDK) for this specific fabrication run. Then you need to create a Fork of this repository, commit your design(s), ensure that it passes the checks, and create a pull request. Once your pull request is approved, your design(s) will be merged into the layout for fabrication. You should verify that your design is correctly merged. Once the designs are fabricated, they will be tested, and the measurement results will be posted in this repository.

Design software and PDK installation instructions:

Submission via GitHub

  • Watch this video for a demonstration
  • Create an account on GitHub
  • Fork a copy of this GitHub repository into your own account: Create a new fork.
  • Turn on the GitHub Actions on your forked repository: Actions (In your repository's page on GitHub, click on Actions in the top-menu bar, and Enable the workflows).
  • [Optional] Install GitHub Desktop (or git) on your computer, and Clone a local copy: Open with GitHub Desktop
  • Create your design, and ensure that the filename contains your edX.org (or GitHub username if the edX one is a random string that does not contain your name), and be formatted according to the course/workshop as follows:
  • Ensure that your fork is up to date with the main SiEPIC repository. Click "Sync fork" image
  • Upload your design(s) into the "submissions" folder, as a binary file, namely a .gds (GDSII format) or .oas (OASIS format) file.
    • This can be done via the GitHub web page, by navigating to the submissions folder, then clicking on Add file, and Upload files.
    • Click Commit changes, and wait for the verification (via GitHub actions) to complete. This will appear as a green checkmark or red X next to your commit on GitHub.
    • If there are errors, please review and correct the errors.
    • Please run your verification locally (press V in KLayout), or download the output .lydrb verification file from GitHub and open in KLayout.
  • "All checks have failed" image
    • Click on Details
    • In the main, window expand the "Run layout verification"; see if there is a text description of the problem
    • Look for the Artifact file; download it and open it in KLayout
  • After fixing the errors, you should have a green check mark as follows: image
  • Alternatively upload your Python file, which will be compiled by a GitHub Action.
    • For KLayout designs, use the "submissions/KLayout Python" folder, namely a .py (Python format) file. e.g., EBeam_LukasChrostowski_MZI.py. The Python file should save a gds or oas file into the parent "submissions" folder. The Python script needs to be executable in non-GUI mode, namely using "import klayout SiEPIC SiEPIC-EBeam-PDK"
  • Create a Pull Request -- this will notify the team of your contribution, which we can aggregate into the main design file
  • Return to the main repository, and ensure that your design is correctly merged. Download the Latest Merge file, below.
image

Black-box cells (IP Replacement)

  • We perform IP replacement on several cells (grating couplers). We call these cells Black Box (BB), and you can identify them by _BB in the cell name, or the presence of the Blackbox layer 998/0 in the cell.
  • You must not change the name of the cell, the contents, nor cell origins. Otherwise, the replacement will not work correctly.

Automated GitHub Actions

Optional: The verification and merging is performed using GitHub actions. The repository implements the following:

  1. Running the Python files in the "submissions/KLayout Python" folder, to generate the designs
  2. Performing Manufacturing DRC verification on the designs in the "submissions" folder, and outputing the errors as an Artifact
  3. Performing Functional verification on the designs in the "submissions" folder, and outputing the errors as an Artifact
  4. Merging the designs from the "submissions" folder, and outputing merged layout as an Artifact in the main repository

Latest Merge Layout File

https://github.com/SiEPIC/openEBL-2024-05/actions/runs/9149023171/artifacts/1517261269

openebl-2024-05's People

Contributors

lukasc-ubc avatar sk747 avatar aycandv avatar omidesml avatar masihubc avatar ogzz23 avatar silkbee avatar joreb avatar ganewburgh avatar nfsb3991 avatar paumoletachs avatar faresabderraouf avatar boy4429856821 avatar dmascare avatar prkshdas avatar rhwang3 avatar tiagonfig avatar rclark142 avatar mohsam997 avatar gpano avatar soibamarunachanu avatar armandesgar avatar alexsii35 avatar aryasubh avatar echatziz avatar joshiraghavendra avatar ev21307 avatar stevenjones314 avatar wyjw avatar nicslab17 avatar

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.