Simphony: An open-source photonic integrated circuit simulation framework
11 Simphony: An open-source photonic integratedcircuit simulation framework
Sequoia Ploeg* , Hyrum Gunther* , and Ryan M. Camacho † Department of Electrical and Computer Engineering, Brigham Young University
Abstract —We present Simphony, a free and open-source soft-ware toolbox for abstracting and simulating photonic integratedcircuits, implemented in Python. The toolbox is both fast andeasily extensible; plugins can be written to provide compatibilitywith existing layout tools, and device libraries can be easilycreated without a deep knowledge of programming. We includeseveral examples of photonic circuit simulations with novelfeatures and demonstrate a speedup of more than 20x over aleading commercially available software tool.
Index Terms —Photonics, Integrated Optics, Simulation
I. I
NTRODUCTION S ILICON photonics is a rapidly growing industry that useselectronic integrated circuit fabrication technologies toproduce industry-grade photonic integrated circuits (PICs) atlow cost and high volume [1], [2]. Silicon photonic technolo-gies have been largely driven by the communications industry,but also find applications in sensing, computing, and quantuminformation processing by enabling high data transmissionrates and controlled manipulation of light waves [1].As the silicon photonics industry grows and the demand forPICs increases, it is increasingly important for designers tohave access to software design tools that can accurately modeland simulate PICs in a first-time-right framework. SimulatingPICs is a resource- and time-intensive process. Owing to thelong wavelengths of photons relative to electrons, photonicdevice simulation requires solving Maxwell’s equations withfar less abstraction than electronic circuit components. Oncedevices have been simulated and bench-marked, however,compact models representing the phase and amplitude re-sponse functions of individual components may be stitchedtogether to form functioning circuits. Several commercialtools exist to perform these functions, such as Aspic, theformerly open-source IPKISS (now part of Luceda’s Caphe),and Lumerical’s INTERCONNECT [3]. However, they areoften expensive (on the order of thousands of dollars peryear) and limited in the variety and type of photonic devicesthan can be simulated. Furthermore, there is often a lack ofstandardization among platforms that in many cases preventsinteroperability between tools [2].In this paper we present a free and open-source,software-implemented simulation tool for linearPICs (documentation and downloads are available atgithub.com/BYUCamachoLab/simphony or pip installable viathe Python Package Index). Our toolbox, which we name * These authors contributed equally to this work. † Address correspondence to [email protected]
Simphony, provides fast simulations for PICs and allowsfor the integration of device compact models that may besourced from a variety of platforms. While providing aneasy-to-use and consistent syntax for describing PICs throughcode, Simphony also provides a framework that allows endusers to easily wrap or add their own custom components.This extensibility is achieved by cascading device scatteringparameters, or S-parameters, for each component using sub-network growth algorithms, a known and common practicein microwave/radio-frequency (RF) engineering as well as inother PIC simulation software [3], [4]. Benchmark testing ofSimphony against Lumerical INTERCONNECT indicates aspeedup of approximately 20x.Simphony is designed to give more people access to freeand open-source software and we foresee it being a very usefultool for a variety of researchers and educators, especially thoselacking access to commercial tools.Simphony also includes optional interoperability with theSiEPIC-Tools extension for KLayout, an open-source, general-purpose layout software [5]. To accomplish this, Simphony hasthe ability to parse circuit descriptions created by SiEPIC-Tools thereby allowing simulations to be run directly oncircuits designed in KLayout.The remainder of this paper is organized as follows: InSection 2 we present Simphony’s design flow and workingprinciples, including a brief review of the principles and math-ematics behind scattering parameter matrices and the standardway of representing compact models. Section 3 provides sev-eral examples of simulations of PICs by Simphony, illustratingits novel functionality and comparing both the accuracy andspeed of the simulations to Lumerical’s INTERCONNECT,one example of commercial software. Section 4 concludes witha brief discussion and future plans for Simphony.II. PIC D
ESIGN F LOW AND W ORKING P RINCIPLES
Photonic circuits are often much more difficult to simulatethan electronic circuits owing to the complex scattering oflight in waveguides. Often the only way to accurately simulatephotonic circuits is to use computationally expensive methodssuch as Finite-Difference Time Domain (FDTD) or FiniteElement Methods (FEM), which numerically solve Maxwellsequations in discretized regions across space and time [6].Though FDTD and similar methods produce accurate results,simulations can be computationally prohibitive when scalingthe size and complexity of the circuit. As many modern siliconphotonic circuits contain 10’s to 100’s of devices, there is aneed for novel simulation techniques. a r X i v : . [ c s . ET ] J u l Fig. 1: The block driven-design methodology used by many commercialprograms that is also adopted by Simphony. For example, this photonic circuitcan be divided into a few once-simulated, reusable components.
To address this problem, many designers have moved toa block-driven design methodology [5], as shown in Figure1. Rather than simulating large, complex circuits, they runsimulations of basic photonic components such as waveguides,splitters, and couplers, and then combine the outputs of thosesimulations in ways that accurately predict the behavior ofthe whole circuit. Simulations of individual components takefar less time than the simulation of a complex circuit andthe results of small-scale component simulations can be savedand used more than once. Designers that follow a block-driven methodology typically layout and simulate many basiccomponents, storing the results of those simulations in acompact model library (CML). Recently, researchers havealso used block-based methods to represent components andcircuits as nodes and connections within a neural network,as in Photontorch [3]. The primary function of Simphony isto produce accurate circuit simulations given compact modelsand a description of their interconnections.
A. Implementation of Scattering Parameters
A compact model’s scattering parameters describe the phaseand amplitude relationship between ports of an abstracteddevice or circuit, as illustrated in Figure 2. Well-known toRF and microwave engineers, they allow a designer to modelsystem behavior without dealing with each component’s innerworkings.In Simphony, a device or component with N connectionpoints, called ports or pins interchangeably, is represented byan N × N scattering parameter matrix S . An element S ij of thematrix represents the ratio of the field amplitude (not power)entering port j and exiting port i . The diagonal elements ofthe scattering matrix S ii are the ratios of the field enteringport i and exiting back out the same port, representing theback reflection of the device for that specific port.Simphony is also designed to handle components withfrequency-dependent S-parameters, allowing for frequencysweep simulations. This also allows for time-dependent sim-ulations, that, while not yet implemented in Simphony, canbe performed using impulse response functions. For many ofthe compact models provided in Simphony’s default library(presimulated components with fixed parameters), compactmodels may contain S-parameters for N f frequency points,making the scattering matrix of size N f × N × N . Whensimulations over a range of frequencies are run, S-parameterscan be easily interpolated for each compact model given thatthey are slowly varying (for example, there are no sharpresonances). Fig. 2: Illustration of a scattering matrix for a photonic device. a) A generic N -port device can be represented by an N × N scattering matrix. A non-diagonalelement, S ij , of the matrix describes the transmission of the electric field frominput j to output i . A diagonal element, S ii , describes the back reflection ofthe E-field for port i . b) A common photonic component is the directionalcoupler, which couples light by bringing two waveguides close together andthen separating again. As it is a 4-port device, it can be represented with a × scattering matrix. B. Sub-Network Growth
Simphony combines S-parameters from individual compo-nents by performing operations to connect components asdictated by a netlist. A netlist is a list representation of thecomponents and their respective connections within a layout[7]. The combined S-parameters are then used to performsimulations. An individual component’s scattering matrix S describes the relationship between the complex field ampli-tudes at the component’s input and output ports, A + and A − ,respectively: A − ...A − k ...A − l ...A − N = S . . . S N . . . . . .S kk . . . S kl ... ... ... ...S lk . . . S ll . . . . . .S N . . . S NN · A +1 ...A + k ...A + l ...A + N Simphony combines S-parameters using a “sub-networkgrowth” algorithm [8], shown graphically in Figure 3. The sub-network growth routine operates on scattering matrices in twoways: (1) connecting ports within a single scattering matrix(self-connections), or (2) connecting ports among distinctscattering matrices.For the first case, suppose an N -port component has self-connections at only two of its ports, k and l . We then have therelationships A − k = A + l and A − l = A + k , and we may rearrangerows of S , to obtain the following relationships: A + l = (1 − S lk )(1 − S kl )1 − S kl − S lk + S kl S lk − S kk S ll N (cid:88) i =1 ,i (cid:54) = k,l (cid:18) S ki − S kl + S kk S li (1 − S kl )(1 − S lk ) (cid:19) A + i (1) A + k = (1 − S lk )(1 − S kl )1 − S kl − S lk + S kl S lk − S kk S ll N (cid:88) i =1 ,i (cid:54) = k,l (cid:18) S li − S lk + S ll S ki (1 − S kl )(1 − S lk ) (cid:19) A + i (2)By connecting ports k and l in a single component, the N -port scattering matrix S becomes an ( N − )-portmatrix, S tot . The S-parameters S totij can then be expressed as: S totij = S ij + S il S kj (1 − S lk ) + S il S kk S lj + S ik S lj (1 − S kl ) + S ik S ll S kj − S kl − S lk + S kl S lk − S kk S ll . (3)In the second case, the S-parameters of two separate com-ponents, A and B , with scattering matrices S A and S B ,are combined using one port from each component. This isaccomplished by creating a new matrix, S , from the twoscattering matrices using the following rule: S = (cid:20) S A S B (cid:21) (4)and then performing the above interconnection calculation for S tot on each element of S for the two ports that are to beconnected. Simphony implements sub-network growth usingseveral functions within scikit-rf, an open-source Python pack-age for RF and microwave applications. Simphony’s simulatortraverses the generated netlist and operates on the individualscattering matrices and port numbers according to Eqs 1-3.The result is a single scattering matrix with non-diagonalelements representing complex transmission amplitudes froman input port to an output port of the circuit and diagonalelements representing reflection of light into and out of a givenport. C. Included Models and S-Parameter Generation
Simphony includes a basic set of common compact modelsbased on the SiEPIC EBeam Process Design Kit (PDK)[7]. These models include grating couplers, waveguides, y-branches, half-rings of specific radii, directional couplers, andwaveguide terminators, all operating within approximatelythe 1500-1600 nanometer range. Simphony also includes alibrary of components based on linear regression models,discussed later. These models include waveguides, directionalcouplers, and half-rings of arbitrary widths, thicknesses, cou-pling gaps, and radii, also around the 1450-1650 nanometerrange. These models are among the most useful contributionsto the simulation toolbox, as they allow for rapid simulationwithout the need for new and computationally expensive full-field simulations. In cases where a desired component is notavailable within Simphony’s libraries, users can turn to an
Fig. 3: An example of sub-network growth. Two y-splitters, A and B , eacha 3-port component, are to be connected at port 1 on both components. Theresult will be the single 4-port device shown in the top right. To connectthe components, the scattering matrices of each component are placed asthe diagonal of a composite matrix. The interconnection operation describedabove is performed on each element of the composite matrix, resulting in (cid:2) S tot (cid:3) . Lastly, the rows and columns corresponding to port 1 on each y-splitter are removed, resulting in the × scattering matrix of the 4-portdevice. alternative free and open-source software that performs FDTDsimulations to generate S-parameters for use within Simphony,such as MEEP [6]. It is our hope that over time, the open-source community will also continue to contribute models toSimphony and further extend the software and its simulationcapabilities. III. S IMULATION E XAMPLES
In this section we present simulation results produced bythe toolbox to demonstrate its features and speed. We com-pare the results to those produced by commercial products(Lumerical INTERCONNECT) and also compare the speedof the simulations from both toolboxes.
A. Mach-Zehnder Interferometers
As a first example, we demonstrate modeling an integratedphotonics Mach-Zehnder interferometer (MZI) (see Figure 4).
Fig. 4: A labeled screenshot of a Mach-Zehnder interferometer as designedin KLayout using the SiEPIC EBeam PDK. Light is coupled into the devicevia a grating coupler and then split by a 50/50 splitter. The split light travelsdown two paths of different lengths before being recombined by another 50/50splitter and output through a second grating coupler. The difference in pathlength causes the recombining light to interfere as the input wavelength isvaried.
This circuit was first designed fully in KLayout with SiEPIC-Tools and using compact models from the SiEPIC EBeamPDK. Using the SiEPIC-Tools package allows for KLayout toact as a drag-and-drop interface for connecting components,thus enabling the circuit to be designed with a layout-drivenmethodology [5]. To simulate this circuit, Simphony simplyparses the same netlist that SiEPIC-Tools already generates foruse in Lumerical INTERCONNECT simulations. This additionto the SiEPIC toolbox allows Simphony to be integrated na-tively within KLayout and simulations run on layouts createdthere. Since the models found in this circuit are also includedin the default distribution of Simphony, this compatibility withthe SiEPIC toolbox allows Simphony to be easily incorporatedinto design and simulation workflows for layouts created inKLayout.Not only does Simphony easily extend existing design toolsbut simulations can also be scripted directly using Pythonwithout layout tools. To demonstrate this, we present a codewalkthrough where we construct the same MZI circuit byimporting Simphony and declaring the necessary componentsand their connections. We use two grating couplers, two y-branch couplers, and two waveguides of differing lengths,as shown in Figure 4. Compact models are provided asinstantiable objects within Simphony’s “library” submodule.To define each waveguide’s length, a required parameter forcalculating S-parameters, we simply include it as an argumentupon instantiation (note that the online documentation forall models included in Simphony’s default libraries lists theavailable parameters for each model along with pertinentinformation, such as units). In Listing 1 we instantiate modelsfor grating couplers, y-branches, a 50-micron waveguide, anda 150-micron waveguide in preparation for including themwithin a circuit.
Listing 1: Initializing the components needed to construct a simple MZI
Once the models to be used have been instantiated withthe appropriate parameters, we can add them to a circuit.As models are added to the circuit, Simphony creates unique component instances behind the scenes that reference a givenmodel only to calculate S-parameters; hence, a model thatoccurs multiple times in a circuit need only be instantiatedonce but can be added multiple times to a circuit, representingmultiple occurrences of that model within a circuit. Sincecomponents are unique within a circuit, Simphony allows eachadded component to be named with a string identifier for easierreferencing later on (for example, when defining connectionsbetween ports of adjacent devices). Also note in Listing 2 thatmodels are added into a Subcircuit object; subcircuits may besimulated on their own or embedded within other subcircuits,allowing for even higher levels of abstraction or the scriptingof custom, parameterized subcircuits.
Listing 2: Instantiating devices based on models within the circuit.
All models have default port names stored within the pins class attribute (for included libraries, these can found inSimphony’s online documentation). Once a model has beenadded to a circuit and become a component, however, its portscan be renamed independent of its parent model for ease ofreferencing later on, as shown in Listing 3. The purpose of thisfeature is to allow scripted circuits to be more human-readableand therefore easier to debug, especially as the complexity andnumber of components within a circuit increases.
Listing 3: Renaming ports, called “pins” in Simphony, of devices within thecircuit for easier access later.
Next, we define the connections. This is done in Simphonyby passing a list of tuples, each tuple listing (in order)a component, the port to make the connection from, theconnecting component, and the corresponding port to makethe connection to, as shown in Listing 4. circuit.connect_many([(’input’, ’n1’, ’splitter’, ’in1’),(’splitter’, ’out1’, ’wg_long’, ’n1’),(’splitter’, ’out2’, ’wg_short’, ’n1’),(’recombiner’, ’in1’, ’wg_long’, ’n2’),(’recombiner’, ’in2’, ’wg_short’, ’n2’),(’output’, ’n1’, ’recombiner’, ’out1’),])
Listing 4: Defining the connections of an MZI using a list of tuples.
Finally, to run the simulation, the desired simulation typeis imported and the circuit passed as a parameter. Otherparameters specific to certain simulations, such as frequency
Wavelength (nm) T r a n s m i ss i o n SimphonyLumerical
Fig. 5: The results of a Simphony simulation and a Lumerical INTER-CONNECT simulation of the MZI shown in Figure 4. range, units, and the number of intermediary points to becalculated, can be found in the documentation. from simphony.simulation import SweepSimulationsimulation = SweepSimulation(circuit, 1500e-9, 1600e-9)result = simulation.simulate()freq, power = result.data(’input’, ’output’)
Listing 5: Simulating our simple MZI.
The results of the simulation are shown in Figure 5. Twofeatures are noteworthy. First, we note that the simulationmatches the results obtained by simulating the same circuitusing the commercial software Lumerical INTERCONNECT,a very useful and accurate simulation tool. We also note, asshown in Figure 6, that the simulated circuit runs approxi-mately 20x faster within the Simphony toolbox than it doesin INTERCONNECT, one example of commercial software.This is an especially useful feature when scripting simula-tions of large circuits with several varying parameters. Inbenchmarking our speed tests, we used a laptop with an IntelCore i7 2.5GHz quad-core CPU running Ubuntu 18.04. Weused the Lumerical 2019b version of INTERCONNECT andPython 3.6.8 for Simphony. INTERCONNECT was invokedthrough its built-in scripting window on netlists comprised S i m u l a t i o n T i m e ( s ) LumericalSimphony
Fig. 6: A simulation time comparison between Simphony and LumericalINTERCONNECT for MZI’s cascaded in series, with test cases (starredvalues) connected by lines. As the number of components in the circuitincreases linearly, the processing time required for simulation increasesproportionally with it. Simphony completes the simulation approximately 20xfaster than INTERCONNECT.
Inputs
DirectionalCouplers
OutputsCrossover
DirectionalCouplers
Si Waveguides0123 4567
Fig. 7: A block-style diagram of a PIC device known as a “Green Machine.”This complex structure could take several days to simulate on a supercomputerusing FDTD or full-wave analysis techniques. Breaking it into componentsas shown in this block diagram allows it to be solved in seconds, allowingfor faster iterations on the design. The above diagram only contains fourbasic component models: grating couplers, directional couplers, crossoverstructures, and waveguides. Device port numbers are labeled on each gratingcoupler. of components already added to INTERCONNECT’s library.The circuits were MZIs similar to that shown in Figure 4,with each successive MZI added in series being connected byan additional waveguide. The simulation times shown are anaverage over 10 runs per circuit.
B. The Green Machine
As a second simulation example, we simulate a morecomplicated integrated photonic circuit known in the literatureas the “Green Machine” (GM) [9]. The GM is a scalable pho-tonic circuit whose topology matches that of the fast Fouriertransform (FFT) by mapping the inputs and outputs of variousbeamsplitter stages in a butterfly fashion. A 4-port integratedphotonic GM circuit is shown in Figure 7. Functionally, itperforms a Hadamard transform on a binary phase-shift keyed(BPSK) codebook, generating a pulse-position modulation(PPM) based codebook.To simulate the Green Machine using Simphony, we dividethe photonic circuit into its base components and simulate theentire device using sub-network growth. Importantly, this canbe scripted to add an arbitrary number of components usingthe direct Python interface. As shown in Figure 7, the GMcircuit consists of 8 grating couplers, 4 directional couplers, acrossover, and connecting waveguides.In order to illustrate the flexibility of the Simphony toolbox,the compact models for the grating couplers, waveguides,directional couplers, and the crossover were built using dif-ferent tools and integrated within Simphony. The waveguideand grating coupler compact models were included fromthe SiEPIC EBeam PDK, while the directional couplers andcrossover structures were built using a custom simulator basedon machine learning techniques [10].Figure 8 shows the result of injecting light into port 1 of theGM circuit and monitoring the outputs of ports 4-7. Notably,a complicated spectral response function results that mightbe difficult to unravel without accurate models that describeeach of the individual components. As expected, each outputport receives a similar amount of power, but it is less obvious F r a c t i o n a l O p t i c a l P o w e r Port 4Port 5Port 6Port 7
Fig. 8: Simulation results for the green machine circuit. We used a crossoveroptimized for a 0/100 crossing ratio at 1550nm. Using compact models ofnon-ideal components throughout the circuit, the simulation data shows thedesired response, or point where the optical power is most evenly split betweenthe four outputs, occurs at that wavelength. how to interpret the complete response. By numerically de-embedding each component using Simphony, however, we canidentify the broad spectral envelope resulting from the gratingcouplers and the oscillations in ports 6 and 7 that result fromnon-idealities in the crossover.By analyzing the phase response of the GM circuit at 1550nm, where the directional couplers and crossovers are designedto have near-ideal 50/50 and 100/0 splitting ratios, we canassess the designed GM’s performance. Table I shows the idealphase response of the GM circuit across each input/outputcombination. in/out port 4 5 6 70 0 π/ π π π/ π π/ π/ π π/ π π/ π/ Figure 9 shows the relative phase of the four output ports.At 1550 nm, the phases almost exactly match the idealcodewords shown in the first column of Table I. However, atwavelengths detuned from 1550 nm, the relative phases drift.This demonstrates the power of Simphony in being able topredict potential errors rapidly during the design process.It is also worth noting that in most existing frameworkswith presimulated components, parameters (such as waveguidethickness and width) are hard-coded into the compact models.In contrast, as demonstrated in the GM example, Simphonyincludes components whose responses are calculated basedon linear regression models, thus allowing these parameters,which include waveguide width, thickness, and sidewall angle,to be adjusted and simulation results produced without thecomputational cost of running an entire analysis for eachnew set of parameters. This allow us to adjust waveguidelengths, coupler gaps, etc., and get simulation results inseconds rather than days. These models allow us to maintain −0.100 −0.075 −0.050 −0.025 0.000 0.025 0.050 0.075 0.100Wavelength (nm) +1.55e3−0.50.00.51.01.52.02.53.03.5 P h a s e ϕ ϕ ϕ ϕ Fig. 9: GM codewords change as a function of wavelength. the block-based circuit description model while also includingdynamic, parameterized devices that can be optimized fordesired responses. The valid ranges of the parameters for thedevices based on linear regression models, designed for usein silicon PICs, can be found in the software documentation.
C. 90 ◦ Optical Hybrid
This example again illustrates Simphony’s operation inconjunction with KLayout, though the capability for scriptingit in Python also exists. In this example, Simphony is usedto simulate a 90 ◦ optical hybrid. These devices are used incoherent transmission systems to mix an incoming signal withthe quadrature states of a local oscillator [11]. The circuit wesimulate here was designed for a specific fabrication run thatonly allowed for a single input and three outputs per device,so the general design for a 90 ◦ optical hybrid was modified toaccommodate for this (see Figure 10). Instead of two separateinputs, the single allowed input was split by a 50/50 y-branchsplitter and sent down paths of different lengths to act as thesignal and local oscillator. Three of the four quadratures wereconnected to the available outputs and the fourth was sent toa terminator.To obtain experimental data to match with the designedcircuit, a chip was fabricated at the University of Washingtonin collaboration with the University of British Colombia andthe SiEPIC program on a 150 mm silicon-on-insulator (SOI)wafer with 220 nm thick silicon on 3 µ m thick silicon dioxideand a hydrogen silsesquioxane resist (HSQ, Dow-Corning XP-1541-006). Electron beam lithography was performed using aJEOL JBX-6300FS system operated at 100 keV energy [12], 8nA beam current, and 500 µ m exposure field size. The siliconwas removed from unexposed areas using inductively coupledplasma etching in an Oxford Plasmalab System 100. Claddingoxide was deposited using plasma enhanced chemical vapordeposition (PECVD) in an Oxford Plasmalab System 100.Figure 11 shows Simphony simulation results, LumericalInterconnect simulation results, and measured experimentaldata from fabricated devices. Both the Simphony and INTER-CONNECT simulation data in Figure 11 has been laterally shifted to line up with the experimental data that is shiftedowing to manufacturing variability. Manufacturing variabilityall but guarantees that separate fabrication runs will resultin devices with peaks at differing wavelengths; shifting isacceptable as the feature of interest is the free spectral range(FSR) of the device, or the spacing in wavelength betweenadjacent optical intensity minima, and not the wavelengths atwhich maximal interference occurs. The Simphony simulationmatches well with both the Lumerical INTERCONNECTsimulation results and the experimental data, demonstratingSimphony’s usefulness for predicting circuit behavior. Fig. 10: A labeled screenshot of a modified 90 ◦ Optical Hybrid as designedin KLayout with SiEPIC-Tools. Typically these hybrids will have two inputsand four outputs. In this case we use a single input and split it using a 50/50splitter, in effect creating two inputs from a single source. These inputs aresplit and shifted in the directional couplers, creating four quadratures thatare all 90 ◦ offset from each other. In this particular circuit, three of thesequadratures are sent to outputs and one is terminated. Wavelength (nm) -40-35-30-25-20-15-10-505 G a i n ( d B ) SimphonyLumericalExperiment
Fig. 11: Simphony simulation results, Lumerical Interconnect simulationresults, and experimental data for Output 1 of the modified optical hybridcircuit in Figure 10. Simulation data has been shifted laterally to line up withthe experimental data.
D. Optical Filtering Circuits
Our last example demonstrates the ability of Simphony tocombine resonant devices to create a ring-resonator based add-drop filter, as shown in Figure 12. The circuit consists ofthree two-port ring-resonators cascade in series, each with adifferent radius. Each ring has a through port and a drop port.
Input r r r Output 1 Output 2 Output 3Half ringWaveguide taperSi waveguides
Fig. 12: A block diagram of a simple add-drop filter made from rings ofdifferent radii. The circuit is divided into components that are later connectedusing sub-network growth. Using our library components built using machinelearning models, simulations can be run in quick succession to optimize theradius of each ring to select the desired frequency.
The blocks used in the Simphony calculation are shown inFigure 12, and consist of two half-rings coupled to waveguidesand a tapered waveguide. Each ring is modeled as its ownparameterized subcircuit, having been generated by a functionthat takes a ring radius as a parameter and returns a subcircuitthat can be used within other circuits. The three resultingsubcircuits are added to the final circuit to be simulated. Atutorial with code for this example can be found in the onlinedocumentation.The compact model for the waveguide-coupled half-ringswere generated using custom machine-learning techniques thatwill be described in a future manuscript, and model thephase and amplitude response function correctly as verifiedwith FDTD for SiO -clad silicon rings of arbitrary radius,width, and thickness. These compact models are includedin the Simphony open-source package, and are among themost valuable contributions to the community since ringresonator models are very computationally expensive. To theauthors’ knowledge, no other block-driven photonics softwareincludes compact models with the capability to accuratelymodel—within seconds—ring resonators with arbitrary deviceparameters and coupling geometries.The simulation results for this example circuit are shownin Figure 13. The three rings have radii of r = 10 µ m, r = 11 µ m, and r = 12 µ m. They thus have different free-spectral ranges and slightly different coupling constants, ascan be seen in resulting drop-port power data. Also, as shownin the resonance near 1545 nm, the causal nature of the opticalpower flowing from the left to the right is evident where thering resonances overlap. The dropped power from the ring withradius r maintains a Lorentzian lineshape, while the droppedpower from the rings with radius r and r is depleted nearresonance center owing to light already being dropped by thefirst ring. Fig. 13: Simulation results for the add-drop filter circuit.
IV. C
ONCLUSION
The toolbox presented in this paper is an open-sourcealternative to PIC design and simulation that allows for theintegration of compact models from a variety of differentsources. This integration is valuable to designers as a lackof standardization currently exists making interoperability be-tween tools difficult. The toolbox also happens to be muchfaster than other currently available tools and allows for easyparallelization and extension.We demonstrated the ability of the toolbox to simulate awide variety of useful integrated photonic circuits, some ofwhich we fabricated and compared to the simulation results.It is anticipated that this toolbox will be of great utilityfor researchers seeking a streamlined design interface forphotonic integrated circuits as well as for researchers andeducators lacking access to expensive commercial software.Moving forward we anticipate collaborative efforts from theopen-source community will assist in adding functionality andadditional components to the toolbox.A
CKNOWLEDGMENT
The authors would like to acknowledge the Universityof Washington, the University of British Colombia, and theSiEPIC program for providing resources for the fabrication ofdevices referenced in this paper.R
EFERENCES[1] W. Bogaerts and L. Chrostowski, “Silicon photonics circuit design:Methods, tools and challenges,” Laser & Photonics Reviews, vol. 12,no. 4, p. 1700237, 2018.[2] W. Bogaerts, M. Fiers, and P. Dumon, “Design challenges in siliconphotonics,” IEEE Journal of Selected Topics in Quantum Electronics,vol. 20, no. 4, pp. 1–8, Jul. 2014.[3] F. Laporte, J. Dambre, and P. Bienstman, “Highly parallel simulation andoptimization of photonic circuits in time and frequency domain based onthe deep-learning framework PyTorch,” Scientific Reports, vol. 9, no. 1,pp. 1–9, April 11, 2019.[4] X. J. M. Leijtens and M. K. Smit, “S-matrix-oriented CAD tool forphotonic integrated circuits,” vol. 3278. International Society for Opticsand Photonics, 1998/01/12, pp. 6–12.[5] L. Chrostowski, Z. Lu, J. Flueckiger, X. Wang, J. Klein, A. Liu, J. Jhoja,and J. Pond, “Design and simulation of silicon photonic schematics andlayouts,” in Silicon Photonics and Photonic Integrated Circuits V, vol.9891. International Society for Optics and Photonics, 2016, p. 989114.[6] A. F. Oskooi, D. Roundy, M. Ibanescu, P. Bermel, J. D. Joannopou-los, and S. G. Johnson, “Meep: A flexible free-software package forelectromagnetic simulations by the FDTD method,” Computer PhysicsCommunications, vol. 181, no. 3, pp. 687–702, Mar. 2010. [7] L. Chrostowski, Z. Lu, J. Flckiger, J. Pond, J. Klein, X. Wang, S. Li,W. Tai, E. Y. Hsu, C. Kim, J. Ferguson, and C. Cone, “Schematic drivensilicon photonics design,” vol. 9751. International Society for Opticsand Photonics, 2016/03/03, p. 975103.[8] G. Filipsson, “A new general computer algorithm for S-matrix calcula-tion of interconnected multiports,” in 1981 11th European MicrowaveConference, Sep. 1981, pp. 700–704.[9] S. Guha, “Structured optical receivers to attain superadditive capacityand the Holevo limit,” Physical Review Letters, vol. 106, no. 24, p.240502, Jun. 2011.[10] A. M. Hammond and R. M. Camacho, “Designing integrated photonicdevices using artificial neural networks,” Opt. Express, vol. 27, no. 21,pp. 29 620–29 638, Oct 2019.[11] H. Guan, Y. Ma, R. Shi, X. Zhu, R. Younce, Y. Chen, J. Ro-man, N. Ophir, Y. Liu, R. Ding, T. Baehr-Jones, K. Bergman, andM. Hochberg, “Compact and low loss 90 ◦◦