Single Photon Avalanche Detectors (SPADs) are biased above breakdown causing a large avalanche current upon detecting even a single photon due to a very high multiplication gain. However, due to the thermal generation of electron-hole pairs in semiconductors, an avalanche can be triggered even without any photons present, that is, in dark conditions. The figure of merit characterizing this behavior is usually called the dark count rate (DCR), or sometimes the dark noise. It represents the number of dark avalanches per second. This example demonstrates how to simulate the dark count rate in a Si SPAD. We also show a benchmark against the dark count rate measurements of a proprietary Si SPAD device.
Overview
Understand the simulation workflow and key results
The calculation of DCR in this example consists of two main steps: the simulation of the electric field and the thermal generation rates with Ansys Lumerical CHARGE, which is followed by the calculation of the avalanche triggering probability and the dark count rate in Ansys Lumerical script. This is shown in the workflow image above.
The 2D SPAD device simulated in section Run and results represents an example device to illustrate the simulation workflow. In order to see benchmarked simulation results against a real measured device please go to Appendix. This example needs version 2023 R2.1 or later to run.
Step 1: Simulate the electric field and dark generation rates
This step is a typical semiconductor device simulation with Ansys Lumerical CHARGE, given the doping profile, materials, and geometry. The simulation is done in 2D with the impact ionization model turned off and device bias swept to above breakdown voltages. The 2D simulation is required for step 2, which does not yet support 3D. Turning off the impact ionization model in this step is enabled by the subsequent use of the avalanche triggering probability (ATP) model in step 2 and leads to a straightforward simulation (very low probability of convergence issues with CHARGE equations typical for the impact ionization model).
Step 2: Calculate the avalanche triggering probability and dark count rate
The avalanche triggering probability (ATP) is a unitless number between 0 and 1 that represents the probability that a single electron-hole pair generated at some location inside a Si SPAD will cause a self-sustaining avalanche. This probability can be calculated using the Lumerical script command atp for one electric field line based on the input electric field and temperature from the Ansys Lumerical CHARGE simulation of a Si SPAD in step 1. We obtain 2D ATP by running the atp command on a bundle of field lines. At the moment the script cannot calculate ATP in 3D. For more information how to calculate ATPs for a non-Si material see "Taking the model further" section.
The dark count rate (DCR) is a measure of the number of SPAD triggering events per second in the dark conditions (i.e. due to thermal processes inside SPADs). This is a combined quantity derived from the thermal generation rate, which is the number of electron-hole pairs generated at every location per second, and the ATP, which is the probability of a single electron-hole pair generated at some location to cause a self-sustaining avalanche. The thermal generation rates considered are the trap-assisted SRH recombination and the band-to-band tunneling (BBT), which are the most dominant sources of DCR. In this example, we calculate the DCR as a post-process in Ansys Lumerical script, given the results of the thermal generation rates from step 1 and 2D ATP.
Run and results
Instructions for running the model and discussion of key results
Step 1: Simulate the electric field and dark generation rates
- Open and run CHARGE project file [[spad_charge_project.ldev]]. This will run a 2D CHARGE simulation of a SPAD device as shown in the image below (CAD model and doping profile on the mesh, respectively).
The voltage range is high enough to ensure above breakdown coverage. The impact ionization model in the multiplication region material (Si here) must be turned off. This ensures simulating the proper electric field for the ATP calculation in step 2. The main results of step 1 are 2D electric field, as shown in the left-hand side plot below, and thermal recombination rate, as shown in the right-hand side plot below for the net recombination (SRH + BBT), for -30 V bias. At this bias, the net recombination is dominated by BBT, which on the other hand is dominant at largest fields, as can be seen in the plots below.
Step 2: Calculate the avalanche triggering probability (ATP) and dark count rate (DCR)
- With the [[spad_charge_project.ldev]] still open, run script file [[calculate_atp_2d.lsf]]. Make sure [[calculate_atp_2d_helper.lsf]] is in the same folder, since it contains functions used in the [[calculate_atp_2d.lsf]].
In this step, we will extract the electric field and SRH and BBT recombination rates from the CHARGE simulation in Step 1 and use them to calculate the 2D ATP and DCR. The calculation of the 2D ATP is based on the Lumerical built-in script command, atp, which calculates the ATP along one electric field line. Subsequently, by integrating the product of 2D ATP and thermal generation rates (negative recombination) we calculate the DCR as a function of voltage.
The plots below show the 2D ATP at three different voltages, -21 V, -25 V, and -30 V, where the breakdown voltage is at around -20 V. In these plots, the min is 0 and the max is 1.
At each voltage, we take the maximum ATP value across the 2D ATP profile shown above, and generate the following plot:
Additional voltage points are added around the breakdown voltage in order to better resolve it in the plot. As can be seen from the plot, the breakdown voltage is around -19.8 V for this example device.
The plots below show the SRH (left) and BBT recombination rates (right) at -30 V, as well as the DCR plot vs voltage. The DCR plot shows independent contributions from SRH and BBT recombination rates, where the BBT contribution starts to dominate at higher over-voltages when the band-to-band tunnelning barrier becomes small enough.
The 2D SPAD device simulated in this example represents an example device to illustrate the simulation workflow. In order to see benchmarked simulation results against a real measured device, please go to Appendix.
Important model settings
Description of important objects and settings used in this model
Doping profile
Knowing the exact doping profile is important to simulate the accurate electric field profile needed for the avalanche triggering probability calculation. In the benchmark example shown in Appendix we used the feature in CHARGE to import the user-defined doping profile. Other options are to use one of the analytical doping profile models in CHARGE, such as constant, diffusion, or implant doping.
Thermal recombination models
Triggering of a SPAD in the dark conditions is due to the thermal generation of carriers. The most important thermal recombination mechanisms are SRH with trap-assisted tunneling and band-to-band tunneling (BBT). The SRH recombination usually dominates at lower overvoltages (above breakdown) while the BBT recombination usually dominates at higher overvoltages when the electric field becomes high enough to reduce the tunneling barrier.
These two models can be enabled in the Recombination tab of the material properties. We found good agreement with measurements of Si SPAD when using the Klaassen and Hurkx models for the dopant and field dependence of the SRH recombination model, respectively, and the Hurkx model for the BBT recombination model. For the reasonable parameters in the Klaassen and Hurkx models please take a look at the CHARGE project file. More details about these recombination models in CHARGE can be found here Semiconductor Material Model Properties – Ansys Optics .
Carrier lifetime in the SRH recombination model
Carrier lifetimes (taun and taup in the material properties) are set to reasonable values in this example. They are to be considered constant and the values correspond to 300 K. The temperature dependence is already included in the Klaassen model for dopant dependence. We recommend considering this parameter fixed and instead fitting the trap energy level, but it can be considered as a fitting parameter if needed to improve the fits to measurements.
Trap energy level in the SRH recombination model
This parameter (Ei offset in the material properties) is a fitting parameter to obtain a good match with measurements. The users can use the value of this parameter in this example as a reasonable starting point.
Pre-factor in the band-to-band tunneling recombination model
This parameter (prefactor in front of the exponential in the Hurkx BBT model) is a fitting parameter to obtain a good match with measurements. The users can use the value of this parameter in this example as a reasonable starting point.
Computational control parameter in the script in step 2
These parameters are used to specify important inputs for the 2D ATP and DCR calculations in step 2, such as the calculation domain, voltage range, material name in the multiplication region (should match the name in the object tree in the ldev file), and others. The users should carefully adjust these parameters for their own Si SPAD device.
Taking the model further
Information and tips for users that want to further customize the model
Non-Si materials
In this example the focus is on an Si SPAD device and all the material parameters for the recombination rate models are adjusted for Si. Different material recombination models and parameters may need to be used for a non-Si material in the multiplication region.
Furthermore, the Lumerical built-in script command atp has two interfaces, one suitable for Si and one for non-Si materials.
In the first interface the users have to specify the electric field and temperature along one electric field line. In this case, used in this example, we use the impact ionization model suitable for Si to calculate the impact ionization coefficients from the provided electric field and temperature. This model is defined in 1975, Okuto, Threshold energy effect on avalanche breakdown voltage in semiconductor junctions. The same reference also provides the parameters for Ge.
In the second atp interface the users can directly provide the impact ionization coefficients calculated along one electric field line, instead of providing the electric field and temperature. This way any arbitrary impact ionization model can be implemented by the user in script and provided as an input to atp.
3D ATP
At the moment the script in step 2 calculates the avalanche triggering probability in two dimensions. Consequently, the CHARGE simulation of electric fields is done in 2D as well in step 1. Enabling 3D ATP requires a nontrivial modifications of the two scripts in step 2. We invite the users to make a feature request if they need 3D and cannot make the required modifications.
Additional resources
Additional documentation, examples and training material
- SPAD Secondary Emission and Absorption – Ansys Optics
- Optical crosstalk in SPAD due to secondary emission – Ansys Optics
- Avalanche photodetector – Ansys Optics
- Vertical photodetector – Ansys Optics
Related publications
Reference and related publication format:
- Electro-Optical Simulation and Characterization of DCR and secondary emission in SPADs | youtube video
- B. Novakovic, K. Raymond, G. Gallina, L. Xie, F. Retiere and D. McGuire, "Electro-Optical Simulation and Characterization of DCR and secondary emission in SPADs," 2022 International Conference on Numerical Simulation of Optoelectronic Devices (NUSOD) , 2022, pp. 3-4, doi: 10.1109/NUSOD54938.2022.9894805.
Appendix
Additional background information and theory
Comparison of simulated DCR to measured DCR
To benchmark our simulation results we collaborated with the research group for detector design at TRIUMF . In collaboration with their partners, they performed measurements of DCR on a proprietary Si SPAD device. By importing the doping profile for the proprietary device into CHARGE and following the simulation workflow as outlined in this example, we were able to obtain a good match with the measurements as shown in the plot below:
SPAD Dark Count Rate – 3D simulation
Introduction
In this appendix, we demonstrate the workflow for computing avalanche triggering probability (ATP) and dark count rate (DCR) with a three-dimensional simulation domain. To this end, the simulation region and device structure of the previous two[1]dimensional example are expanded along the third (y-) dimension homogeneously. The new simulation setup can be viewed in spad_charge_project_3d.ldev.
Run and results
- Open and run CHARGE project file spad_charge_project_3d.ldev. This will run a 3D CHARGE simulation of a SPAD device, with 62887 vertices in the mesh. The simulation will take approximately 100 min with 12 threads.
- With the spad_charge_project_3d.ldev still open, run script file spad_3d_atp.lsf. Executing this script will take another 100 min or so (5 min for each bias voltage). Note that MATLAB interop from Lumerical product is required to be enabled in order to run this script (instruction on MATLAB-interop). Make sure atp_3D_lum_helper.lsfx is in the same folder, since it contains functions used in the spad_3d_atp.lsf. The file with functions is encrypted.
- Visualize the 3D ATP distribution with clipped plane view at y=0 (plane normal to y-axis).
Results with finer mesh
• Since our 3D and 2D simulations essentially describe the same device, the two results should agree well. In order to achieve a better match between the two, we refine the 3D mesh and redo the calculations. The results below are obtained with a finer mesh containing 378989 vertices. Now the CHARGE simulation takes 25 hours and the ATP and DCR calculations including the line tracing algorithm take another 7 hours to finish. The instructions are the same as before, but make the following changes: - In Mesh tab of CHARGE editor: increase max refine steps to 200000, increase sensitivity slider by 3 steps, increase triangle quality slider by 4 steps, and change volume meshing to hybrid. - In spad_3d_atp.lsf : The sample_refinement script parameter is lowered to 1e-3 in order to accelerate the ATP calculation and there are 12 voltage points.
Important model settings
• In spad_3d_atp.lsf:
- sample_refinement: value between 0 and 1. More streamlines will be included in the calculation by increasing this parameter. Note that a large sample_refinement may result in long simulation time.
- rel_tol_E: a streamline is terminated when the last E-field magnitude value is smaller than this relative tolerance when compared to the maximum E magnitude along this streamline.
- dh (meter): step size taken when tracing a streamline. In other words, distance between adjacent sample points on a streamline.
• In CHARGE:
- Mesh options are set in Mesh tab of CHARGE editor. The important mesh options are min and max edge length, max refine steps, sensitivity, triangle quality, and volume meshing. For details check the .ldev simulation file and running instructions.