An avalanche photodetector model. For an example of how to extract the required parameters, see Avalanche Photodetector.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Avalanche Photodetector - Lumfoundry Template (Legacy)
Template: apd_c
Photonic Model: photodetector_avalanche
Quality Assurance Test: photodetector_avalanche QA
Statistically Enabled Parameters: responsivity, bandwidth, dark current, multiplication factor
Parameters: None
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: Yes.
App Gallery Example: Avalanche Photodetector
Modeling Data
The source data template for a avalanche photodetector element can divided into two sections.
- For new users (continue with following section: Basic data requirement section)
- Advanced users ( continue with section: Complete Data Requirement )
The avalanche photodetector template can be used to create a very advanced compact model for a custom avalanche photodetector. The template contains a lot of different modeling data to create an accurate model. However, not all these data need to be updated by the user. The fastest/ simplest way to modify the template data and create a custom compact model would be to only update the values of the data listed in the 'basic data requirement section' below, while all rest of the data (which is illustrated in detail in subsequent sections) can be left at their default value.
Note: Advanced users please jump start with Complete Data Requirement (for advanced users) section.
Basic data requirement section (for new users)
The basic or minimum data required to build the avalanche photodetector model is described below.
general
"general" is a struct with following fields:
Field | Type | Description |
---|---|---|
description | string | A string containing a brief description of the model, which will be displayed to the end user. |
notes | cell |
A cell array that provides model notes which will be displayed to the end user. Each element of the cell is a struct with the fields:
|
ports
"ports" is a struct with following fields:
Field | Type | Description |
---|---|---|
opt_1 |
struct with fields described in table below | Port definition corresponding to the input optical port |
ele_an |
Port definition corresponding to the anode and cathode of the photodetector. |
|
ele_cat |
Each struct above consists of following fields:
Field | Type | Description |
---|---|---|
name | string | The name of the port, which will be visible to the end user. This name should be consistent with the name that will be used for netlisting. |
dir | string | The directionality of the port, either "Input", "Output", or "Bidirectional" |
pos | string |
The side of the model which the port will be displayed on, either "Left", "Right", "Top", or "Bottom" |
order | number |
The order at which the port is listed in a netlist. |
model_data
"model_data" is a struct with following fields:
Field | Type | Description |
---|---|---|
bandwidth_data
|
Struct
|
The 3-dB cutoff frequency (Hz) of the photodetector as a function of applied bias voltage (V). The required fields are:
Note: Data must be provided for at least two bias voltages |
Idark_data
|
Number
|
The total dark current (A) of the photodetector. Note:
|
resp_data
|
Struct |
The responsivity (A/W) of the photodetector as a function of frequency (Hz). The required fields are:
Notes:
|
enable_shot_noise
|
Boolean |
Default choice for enabling/disabling the shot noise model in the photodetector. |
DC_operation_only
|
Creates model for DC operation only (model will not work for AC operations). |
|
enable_power_saturation
|
Enables modeling of power saturation. |
|
saturation_power_data (optional)
|
Number |
Saturation power (W) of the photodetector. Note: This will be visible to the end user. |
M_data
|
struct
|
Multiplication factor data at various bias voltages and optical powers, provided as a struct, with the following fields:
Note:
|
ionization_ratio_data
|
struct |
The ionization ratio of the photodetector as a function of applied bias voltage (V), containing the following fields:
Notes:
|
elec_eq_ckt_data
Note: Electrical sub circuit is only enabled for Verilog-A model. This field will be ignored for INTERCONNECT model.
Field | Type | Description |
Rp | number | Parasitic contact resistance (Ω) of the Avalanche photodetector. |
Cp | number | Parasitic capacitance (F) from the metal pads. |
Rs | number | Series resistance (Ω) of the Avalanche photodetector. |
Ca | number | Avalanche region depletion capacitance (F) of the Avalanche photodetector. |
Rd_data | number/matrix |
Drift region series resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the series resistance. 2. An struct containing series resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
Rl_data | number/matrix |
Depletion capacitance leakage resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the leakage resistance. 2. An struct containing leakage resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
res: leakage resistance (Ω). |
Ra_data | number/matrix |
Avalanche region current saturation series resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the series resistance. 2. An struct containing series resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
La_data | number/matrix |
Avalanche region current saturation inductance (H) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the current saturation inductance. 2. An struct containing current saturation inductance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
Complete data requirement (for advanced users)
The complete data section provides a complete reference of data supported by the avalanche photodetector model including the basic required data described in the previous section. The description of all the fields in the avalanche photodetector source data template are described below.
general
"general" is a struct with following fields:
[[snippet||11549514081811]]
ports
"ports" is a struct with following fields:
[[snippet||12153503240467]]
Each struct above consists of following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with following fields:
[[snippet||12153804332691]]
Each struct above consists of following fields:
[[snippet||11720299494931]]
model_data
"model_data" is a struct with following fields:
[[snippet||12154138198803]]
M_data
|
struct
|
Multiplication factor data at various bias voltages and optical powers, provided as a struct, with the following fields:
Note:
|
ionization_ratio_data
|
struct |
The ionization ratio of the photodetector as a function of applied bias voltage (V), containing the following fields:
Notes:
|
elec_eq_ckt_data
Note: Electrical sub circuit is only enabled for Verilog-A model. This field will be ignored for INTERCONNECT model.
Field | Type | Description |
Rp | number | Parasitic contact resistance (Ω) of the Avalanche photodetector. |
Cp | number | Parasitic capacitance (F) from the metal pads. |
Rs | number | Series resistance (Ω) of the Avalanche photodetector. |
Ca | number | Avalanche region depletion capacitance (F) of the Avalanche photodetector. |
Rd_data | number/matrix |
Drift region series resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the series resistance. 2. An struct containing series resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
Rl_data | number/matrix |
Depletion capacitance leakage resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the leakage resistance. 2. An struct containing leakage resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
res: leakage resistance (Ω). |
Ra_data | number/matrix |
Avalanche region current saturation series resistance (Ω) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the series resistance. 2. An struct containing series resistance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
La_data | number/matrix |
Avalanche region current saturation inductance (H) of the Avalanche photodetector provided in either one of the following forms: 1. A single value containing the current saturation inductance. 2. An struct containing current saturation inductance as a function of bias voltage, and the required fields are:
Vbias=Vanode−Vcathode
|
QA
"QA" is a struct with following fields:
[[snippet||12155371687955]]
optical_power | number | The optical power (W) at which all tests will be done (can be a single value or an array). |