A photodetector that models the second and third order harmonic responsivities that arise from nonlinearities in the system.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Harmonic Photodetector - Lumfoundry Template (Legacy)
Template: pd_harmonic
Photonic Model: photodetector_simple
Quality Assurance Test: photodetector_simple QA
Parameters: None.
nteroperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: No.
Modeling Data
The source data template for a photodetector element can be divided into two sections.
- For new users (continue with the following section: Basic data requirement)
- Advanced users ( continue with section: Complete Data Requirement )
The photodetector template can be used to create an advanced compact model for a custom 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 users. The fastest and simplest way to modify the template data and create a custom compact model is to only update the data listed in the 'basic data requirement section' below, while all the remaining data (which are illustrated in detail in subsequent sections) can stay at their default value.
Note: Advanced users please jump start with Complete Data Requirement (for advanced users) section.
Basic data requirement (for new users)
The basic and minimum data required to build the photodetector model is described below.
general
"general" is a struct with the 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 providing 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 the 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 the 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. |
pos | string |
The side of the model which the port will be displayed on, either "Left", "Right", "Top", or "Bottom" |
order | number |
The order in which the port is listed in a netlist. |
model_data
"model_data" is a struct with the 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:
|
elec_eq_ckt_data (optional)
|
struct with fields described in elec_eq_ckt_data |
Data required for modeling the electrical equivalent circuit for accurate electro-optic simulations. For more information on the electrical equivalent circuit, see Electrical equivalent circuit details in the photonic model page. |
elec_eq_ckt_data
Field | Type | Description |
---|---|---|
Rj |
number |
Series resistance (Ω) of the photodetector. |
Cj_data |
number/matrix |
Junction capacitance (F) of the photodetector, provided in either one of the following forms: 1. A single value containing the the junction capacitance. 2. An struct containing junction capacitance as a function of bias voltage, and the required fields are:
|
Rp |
number |
Parasitic contact resistance (Ω) of the photodetector |
Cp |
number |
Parasitic capacitance (F) from the metal pads |
Complete data requirement (for advanced users)
The complete data section provide a complete reference of data supported by the photodetector model including the basic required data described in the previous section. The descriptions of all the fields in the photodetector source data template are described below.
general
"general" is a struct with the following fields:
[[snippet||11549514081811]]
ports
"ports" is a struct with the following fields:
[[snippet||12153503240467]]
opt_2 (optional) |
struct with fields described in table below |
Port definition corresponding to the second input optical port |
ele_an_2 (optional) |
Port definition corresponding to the second anode of the photodetector. |
Each struct above consists of the following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with the following fields:
[[snippet||12153804332691]]
Each struct above consists of the following fields:
[[snippet||11720299494931]]
model_data
"model_data" is a struct with the following fields:
[[snippet||12154138198803]]
Resp_2w_data |
struct |
The second order responsivity (A/W) of the photodetector (see Supplementary Information for more details) at a specific frequency (Hz). The required fields are:
Note: Responsivity should be provided as a positive number |
Resp_3w_data |
struct |
The third order responsivity (A/W) of the photodetector (see Supplementary Information for more details) at a specific frequency (Hz). The required fields are:
Note: Responsivity should be provided as a positive number |
[[snippet||12157844950675]]
QA
"QA" is a struct with the following fields:
[[snippet||12155371687955]]