The directional_coupler_parameterized photonic model is an analytical model which is specifically tailored to directional coupler elements that include parameterization of the coupling length and gap. It requires theoretical parameters (coupling coefficients) which can be obtained either through simulation of a device, or by fitting of experimental data. The model assumes the directional coupler has four arms, and that each arm is located a fixed distance away from the coupling region.
Lumfoundry Templates: Directional Coupler (Parameterized)
Quality Assurance Test: directional_coupler_parameterized QA
Statistical Modeling Support: No
Supported Parameters: coupling gap, coupling length
Tuning Support: No.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: Yes.
Model Information
The cross-coupled power of the directional coupler is given by the equation:
$$P = a \|\imath \cdot sin(k_0 + k_L L_C) \|^2$$
Where "\(L_c\)" is the coupler length (set by the user) and "a" is the additional loss expressed in terms of power transmission, and is given by the following:
$$a = 10^{-addloss(m,\lambda)/10}$$
This loss factor captures the deviation from an ideal coupler (a=1) which is not captured through propagation loss. "m" is the mode index, and lambda is the wavelength being coupled.
The values stored in couplercoeff are used as follows:
$$couplercoeff(m, g, :, :) \equiv \begin{bmatrix} CC_{m,g,1,1} & CC_{m,g,1,2} \\ CC_{m,g,2,1} & CC_{m,g,2,2} \end{bmatrix}$$
$$k_0 = CC_{m,g,1,1} + \lambda CC_{m,g,1,2}$$
$$k_L = CC_{m,g,2,1} + \lambda CC_{m,g,2,2}$$
Where the units for the couplercoeff matrix are as follows:
$$\begin{bmatrix} rad & rad/m \\ rad/m & rad/m^2 \end{bmatrix}$$
Using the expression for coupled power, the crossover length of the directional coupler is given by the following:
$$L_{cross} = {1 \over k_L} \cdot mod({\pi \over 2}-k_0 , \pi)$$
Which describes the length for which 100% of the power is coupled across the device.
[[Note]]: To ensure the crossover length \(L_{cross}\) is physically valid, \(k_L\) should not be 0, i.e., \(CC_{m,g,2,1}\) and \(CC_{m,g,2,2}\) provided in source data should not be both 0. |