Skip to content

francescov1/neuromorphic-photonic-simulator-thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Silicon Photonic Neuromorphic Chip Simulation

Author: Francesco Virga

Code Structure

This repository contains 3 main modules which make up the Silicon Photonic Neuromorphic software simulation package

  • Lumerical: This module contains all resources related to Lumerical simulations. Cached simulation files are also stored here. interface.py implements the Lumerical Automation API to control simulations.

  • CLI: This module collects input from a user using an intuitive command-line interface. It prompts the user for required information, making suggestions and aggregating the information for Lumerical.

  • API: This module acts as the middleman between the CLI and Lumerical. It receives inputs from the CLI module and decides how to use them with the Lumerical module. It also decides which simulation files can be used from the cache and which need to be re-simulated based on the user's inputs.

    Note: Default simulation resources are provided at the root level of the Lumerical module (the same resources that are stored in the cache). These have been heavily tested, so if any strange behaviour occurs with cached simulation data, try running the same simulation manually using the default files (as long as you haven't saved any changes to weight_bank.icp these should be setup to be used by default only when opening & running the simulation manually, not through the CLI)

  • Extras: This folder is not part of the software but has various code files and data I used to experiment, test and build this project. Most of the files are not setup to be used out of the box but could provide some solid resources to better understand Lumerical, INTERCONNECT and the Automation API.

Usage

  1. In Lumerical/interface.py, set the Lumerical version and Lumerical installation path. For more information on how to find this information, see the Automation API documentation.

  2. Install dependencies

pip install -r requirements.txt
  1. Run simulation platform
python main.py
  1. The application will walk you through setting up a simulation and give you an opportunity to download results.

Useful Resources

I tried to aggregate a few resources I found useful while building this application. Note that this is not a complete list.

About

Engineering Physics Undergraduate Thesis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages