Git Product home page Git Product logo

bpg's Introduction

Berkeley Photonics Generator

Build Status Documentation Status DOI

The Berkeley Photonics Generator (BPG) is a Python framework that enables you to generate and simulate silicon photonics layout. BPG leverages the BAG 2.0 framework, and has similar syntax and file structure. If you would like to cite this software in a publication, please use the following link: DOI

Table of Contents

Documentation

The most up to date BPG documentation can be found here

Installation

WARNING: Installation instructions are currently in flux.

We highly recommend you use an Anaconda environment with a Python version greater than 3.6. BPG generally will not function with Python versions less than 3.6, and requires packages with C/C++ dependencies that are most easily installed using Anaconda.

Once Anaconda is set up, please run the following commands to install packages with C/C++ dependencies:

conda install numpy
conda install rtree
conda install shapely

Then clone and install BAG with in any folder with:

git clone [email protected]:ucb-art/BAG_Framework.git
cd BAG_Framework
pip install .

Finally clone and install BPG in any folder with:

git clone [email protected]:BerkeleyPhotonicsGenerator/BPG.git
cd BPG
pip install .

BPG generally generates output layouts in the GDSII format. To view these layouts, we recommend you install and use the free open-source software package, Klayout.

Usage

  1. In order to setup a brand new workspace, navigate to a clean folder and run bpg setup_workspace. This will copy in a directory with sample technology information, and a new file called sourceme.sh
  2. Next run source sourceme.sh to set up all of the environment variables needed. This soruce file assumes that you are using a bash/sh/zsh shell.
  3. At this point any layout generator can be run by executing python <PATH TO PYTHONFILE>

For more information check out the getting started guide

Contributing

We'd love your help in building and improving BPG! Please create an issue and contact Pavan at [email protected] before sending your first pull request. Please make sure to run the test suite (run_tests.py) in the Photonics_Dev repo prior to making your pull request.

Credits

Thanks to Sidney Buchbinder, Ruocheng Wang, and Brian Sun for building many of the core features in BPG!

bpg's People

Contributors

djordje117 avatar edwardcwang avatar johnmfini avatar pvnbhargava avatar ruocheng-wang avatar sbuchbinder avatar sunjin-choi avatar weiya711 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.