Skip to content Skip to navigation

Inverse Design of Photonics

The design of digital circuits is currently dominated by hardware description languages such as Verilog and VHDL. This automation of circuit design has enabled the development of modern computer processors with billions of transistors. Integrated photonic devices, on the other hand, are still designed by hand. A designer first picks a basic design based on analytic theory with a handful (2 - 6) of free parameters. The designer then tunes these parameters by running many optical simulations. This brute-force approach is inefficient and limits the designer to a small library of known devices.

What if, however, we were able to search the full space of fabricable devices? If we could do this successfully, we would be guaranteed to improve device performance and shrink device sizes. Unfortunately, the space of fabricable devices is absolutely enormous. For example, suppose we want to design a silicon photonics device with a 1x1 μm design region. If we divide it into 0.1x0.1 μm pixels, easily achievable with modern nanofabrication, and allow each pixel to either contain silicon (1) or not (0), then we have 2100, approximately 1030, possible devices.

Ideally, we'd want an optimization algorithm whose computational cost is independent of the number of free parameters in the design. This would allow us to design devices that exploit the full space of fabricable devices. Thankfully, it turns out that such optimization methods exist! Related methods have long been used in other fields such as aerospace design and machine learning, but they were only recently introduced to optical design.

Our research group has developed software package, Spins,  that uses such methods to design arbitrary photonic devices. Spins is available as fully-featured optimization design suite available license through Stanford OTL. In addition, we also have an open source package, Spins-B. Our algorithm allows the user to ‘design by specification’, whereby the user simply specifies the design area and desired functionality of the device, and the algorithm finds a structure that meets these requirements. One such device we designed using our algorithm is a TE / TM splitter (Figure 1). This device splits the two incident polarizations of light into separate output waveguides within a footprint of 2.8x 2.8 μm. In simulations, it has an insertion loss of only 0.9 dB and a crosstalk of less than 19 dB.

As a proof of concept, we designed and experimentally tested a compact demultiplexer for telecommunications wavelengths (Figure 2). This silicon photonics device splits 1300 nm and 1550 nm light with a device footprint of only 2.8x 2.8 μm. The demultiplexer has an insertion loss of 2-4 dB, crosstalk less than 11 dB, and a 3 dB bandwidth greater than 100 nm.

Prof. Vuckovic on Inverse Design Algorithm

Spins, Photonics Inverse Design Software

  • Spins, available for license through Stanford Office of Technology and Licensing 
  • Spins-B, open-source version available on Github

Relevant Publications