The JUNCAP Model
The JUNCAP model represents the C-V and I-V behavior of the parasitic source and drain regions of MOSFET devices [5].
The JUNCAP model file contains four DUTs: area, locos, gate and analysis. The area, locos, and gate DUTs hold the data for the area, locos and gate test structures, respectively. The analysis DUT, and its associated setups, contains the transforms that control the parameter extraction strategies.
The area, locos, and gate DUTs
The area, locos, and gate DUTs all have the same structure, as shown in the following table.
Table 73 Parameters for area, locos and gate Test Structures
|
|
|
AB is set to AB1 LS is set to LS1 and LG is set to 0
|
AB is set to AB2 LS is set to LS2 and LG is set to 0
|
AB is set to AB3, LS is set to LS3 and LG is set to LG3
|
Each of these DUTs contain three setups: cv, fwd_iv and rev_iv.
cv This setup contains measured and simulated C-V data. It consists of the following:
- va This input defines the voltage sweep for C-V measurement. It uses the variables CVSTART, CVSTOP and CVSTEP as defined in the setup_details macro.
- cap This output holds the measured capacitance.
- cap_sim This transform calls JUNCAP to evaluate the simulated capacitance.
- make_cv_data This transform is used for making synthetic data for demonstration purposes. It performs a model evaluation using the existing parameter set by calling cap_sim and then copies the resulting simulated data into the m part of the cap output. This macro assumes that the MOS Model 9 function MM9_COPY is available.
- connect_cv Modify this transform to enable automatic connection to the area DUT for C-V measurements.
- cv_plot This is a plot definition showing measured and simulated C-V data.
fwd_iv This setup contains the measured and simulated forward I-V data. It consists of the following:
- va, vk These inputs define the anode and cathode voltages for forward I-V measurements. The variables FIVSTART, FIVSTOP and FIVSTEP control the voltage sweeps.
- id The output current
- id_sim A call to JUNCAP to evaluate the simulated current
- make_iv_data A transform to make synthetic forward I-V data. The function MM9_COPY is used in this transform.
- connect_fiv Modify this transform to enable automatic connection to the DUT for forward I-V measurements.
- fwd_ivplot The plot definition for the forward I-V data
rev_iv This setup contains the measured and simulated reverse I-V data. It consists of the following:
- va, vk These inputs define the anode and cathode voltages for reverse I-V measurements. The variables RIVSTART, RIVSTOP and RIVSTEP control the voltage sweeps.
- id The output current
- id_sim A call to JUNCAP to evaluate the simulated current
- set_temp This transform sets the setup level variable TEMP to the model level variable TREVERSE. The reverse data may be measured at a different temperature, TREVERSE, than the forward I-V or C-V data. However, the JUNCAP function looks for a variable TEMP to determine the device temperature. Therefore TEMP is defined as a setup level variable in the area/rev_iv, locos/rev_iv, gate/rev_iv and analysis/rev_iv setups. Thus, during simulations in these setups, the setup variable TEMP will supersede the model level variable TEMP.
- make_iv_data A transform to make synthetic reverse I-V data. The function MM9_COPY is used is this transform.
- connect_riv You can modify this transform to enable automatic connection to the DUT for reverse I-V measurements.
- rev_ivplot The plot definition for the reverse I-V data.
The analysis DUT
In the analysis DUT, the dimensions AB, LS and LG are set to unity. The setups are cv, fwd_iv and rev_iv.
cv This setup controls the extraction of the C-V parameters and contains the following:
- va This input definition for the anode voltage is the same as that in the area/cv, locos/cv and gate/cv setups.
- cjbvn A transform that extracts (and holds) the normalized area sub-region contribution to capacitance from the measurements in the area/cv, locos/cv and gate/cv setups.
- set_cjbr A transform that makes an initial approximation to the parameter CJBR by setting it to the value of cjbvn at the point where the anode voltage is closest to zero.
- cjbvn_sim A transform that calls JUNCAP to evaluate the area sub-region component of capacitance.
- fit_cjbvn An optimization definition that causes the parameters CJBR, PB and VDBR to be optimized with respect to the normalized area sub-region capacitance. The parameter limits are controlled by the following model variables, which you can change in the model variables table:
CJBR_MIN
|
CJBR_MAX
|
PB_MIN
|
PB_MAX
|
VDBR_MIN
|
VDBR_MAX
|
- The data limits are controlled by the following variables, which are also in the model variables table:
- cjsvn A transform that extracts (and holds) the normalized locos sub-region contribution to capacitance from the measurements in the area/cv, locos/cv and gate/cv setups.
- set_cjsr A transform that makes an initial approximation to the parameter CJSR by setting it to the value of cjsvn at the point where the anode voltage is closest to zero.
- cjsvn_sim A transform that calls JUNCAP to evaluate the locos sub-region component of capacitance
- fit_cjsvn An optimization definition that causes the parameters CJSR, PS and VDSR to be optimized with respect to the normalized locos sub-region capacitance. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
CJSR_MIN
|
CJSR_MAX
|
PS_MIN
|
PS_MAX
|
VDSR_MIN
|
VDSR_MAX
|
- The data limits are controlled by the variables, which are also in the model variables table.
- cjgvn A transform that extracts (and holds) the normalized gate sub-region contribution to capacitance from the measurements in the area/cv, locos/cv and gate/cv setups.
- set_cjgr A transform that makes an initial approximation to the parameter CJGR by setting it to the value of cjgvn at the point where the anode voltage is closest to zero.
- cjgvn_sim A transform that calls JUNCAP to evaluate the gate sub-region component of capacitance
- fit_cjgvn An optimization definition that causes the parameters CJGR, PG and VDGR to be optimized with respect to the normalized gate sub-region capacitance. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
CJGR_MIN
|
CJGR_MAX
|
PG_MIN
|
PG_MAX
|
VDGR_MIN
|
VDGR_MAX
|
- The data limits are controlled by the following variables, which are also in the model variables table:
- init_cv_pars A transform to initialize some of the C-V parameters before optimization begins. The parameters initialized are:
- VDBR = VDSR = VDGR = 0.75
- PB = PS = PG = 0.4
- opt_all_cv An optimization definition that causes all the C-V parameters to be optimized with respect to the measured data in the area/cv, locos/cv and gate/cv setups. The parameters optimized are:
CJBR
|
CJSR
|
CJGR
|
VDBR
|
VDSR
|
VDGR
|
PB
|
PS
|
PG
|
- The parameter limits are controlled by the following model variables:
CJBR_MIN
|
CJBR_MAX
|
CJSR_MIN
|
CJSR_MAX
|
CJGR_MIN
|
CJGR_MAX
|
VDBR_MIN
|
VDBR_MAX
|
VDSR_MIN
|
VDSR_MAX
|
VDGR_MIN
|
VDGR_MAX
|
PB_MIN
|
PB_MAX
|
PS_MIN
|
PS_MAX
|
PG_MIN
|
PG_MAX
|
|
|
- The data limits are controlled by the following variables:
- set_unit_dimensions A transform that sets the dimensions AB, LS and LG in the analysis DUT to unity.
- update_cv_curves A transform that resimulates all the C-V curves in the area/cv, locos/cv, gate/cv and analysis/cv setups.
- cjb A plot definition for the normalized area sub-region contribution to capacitance.
- cjs A plot definition for the normalized locos sub-region contribution to capacitance.
- cjs A plot definition for the normalized gate sub-region contribution to capacitance.
fwd_iv This setup controls the extraction of the I-V parameters with respect to the forward I-V data. In the forward region at moderate and high applied voltages the diffusion current components dominate. However for low-applied voltages the generation components are also important. Therefore all the optimizations to the forward I-V curves target both the diffusion and generation parameters.
- va, vk These input definitions for the anode and cathode voltages are the same as those in the area/fwd_iv, locos/fwd_iv and gate/fwd_iv setups.
- ibn A transform that extracts (and holds) the normalized area sub-region contribution to forward current from the measurements in the area/fwd_iv, locos/fwd_iv and gate/fwd_iv setups.
- ibn_sim A transform that calls JUNCAP to evaluate the area sub-region component of current.
- fit_ibn An optimization definition that causes the parameters JSDBR, NB and JSGBR to be optimized with respect to the normalized area sub-region forward current. The parameter limits are controlled by the model variables, which you can change in the model variables table.
JSDBR_MIN
|
JSDBR_MAX
|
NB_MIN
|
NB_MAX
|
JSGBR_MIN
|
JSGBR_MAX
|
- The data limits are controlled by the following variables, which are also in the model variables table.
- isn A transform that extracts (and holds) the normalized locos sub-region contribution to forward current from the measurements in the area/fwd_iv, locos/fwd_iv and gate/fwd_iv setups.
- isn_sim A transform that calls JUNCAP to evaluate the locos sub-region component of current.
- fit_isn An optimization definition that causes the parameters JSDSR, NS and JSGSR to be optimized with respect to the normalized locos sub-region forward current. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
JSDSR_MIN
|
JSDSR_MAX
|
NS_MIN
|
NS_MAX
|
JSGSR_MIN
|
JSGSR_MAX
|
- The data limits are controlled by the following variables, which are also in the model variables table:
- ign A transform that extracts (and holds) the normalized gate sub-region contribution to forward current from the measurements in the area/fwd_iv, locos/fwd_iv and gate/fwd_iv setups.
- ign_sim A transform that calls JUNCAP to evaluate the gate sub-region component of current.
- fit_ign An optimization definition that causes the parameters JSDGR, NG and JSGGR to be optimized with respect to the normalized gate sub-region forward current. The parameter limits are controlled by the following model variables, which you can change in the model variables table:
JSDGR_MIN
|
JSDGR_MAX
|
NG_MIN
|
NG_MAX
|
JSGGR_MIN
|
JSGGR_MAX
|
- The data limits are controlled by the following variables, which are also in the model variables table.
- init_iv_pars A transform to initialize some of the I-V parameters before optimization begins. The parameters initialized are:
JSDBR = 10n
|
JSDSR = JSDGR = 10f
|
NB = NS = NG = 1
|
JSGBR = 1u
|
JSGSR = JSGGR = 100p
|
|
- opt_all_fwd_iv An optimization definition that causes all the I-V parameters to be optimized with respect to the measured data in the area/fwd_iv, locos/fwd_iv and gate/fwd_iv setups. The parameters optimized are:
JSDBR
|
JSDSR
|
JSDGR
|
NB
|
NS
|
NG
|
JSGBR
|
JSGSR
|
JSGGR
|
|
- The parameter limits are controlled by the following model variables:
JSDBR_MIN
|
JSDBR_MAX
|
JSDSR_MIN
|
JSDSR_MAX
|
JSDGR_MIN
|
JSDGR_MAX
|
NB_MIN
|
NB_MAX
|
NS_MIN
|
NS_MAX
|
NG_MIN
|
NG_MAX
|
JSGBR_MIN
|
JSGBR_MAX
|
JSGSR_MIN
|
JSGSR_MAX,
|
JSGGR_MIN
|
JSGGR_MAX
|
|
|
- The data limits are controlled by the variables:
- update_iv_curves A transform that resimulates all the I-V curves in the following setups:
area
|
fwd_iv, rev_iv
|
locos
|
fwd_iv, rev_iv
|
gate
|
fwd_iv, rev_iv
|
analysis
|
fwd_iv, rev_iv
|
- ib A plot definition for the normalized area sub-region contribution to current
- is A plot definition for the normalized locos sub-region contribution to current
- ig A plot definition for the normalized gate sub-region contribution to current
- rev_iv This setup controls the extraction of the I-V parameters with respect to the reverse I-V data. Current in the reverse region is dominated by the generation effects and so only the generation parameters are considered during these extractions.
- va, vk These input definitions for the anode and cathode voltages are the same as those in the area/rev_iv, locos/rev_iv and gate/rev_iv setups.
- ibn A transform that extracts (and holds) the normalized area sub-region contribution to reverse current from the measurements in the area/rev_iv, locos/rev_iv and gate/rev_iv setups.
- ibn_sim A transform that calls JUNCAP to evaluate the area sub-region component of current.
- fit_ibn An optimization definition that causes the parameter JSGBR to be optimized with respect to the normalized area sub-region reverse current. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
- The data limits are controlled by the following variables, which are also in the model variables table.
- isn A transform that extracts (and holds) the normalized locos sub-region contribution to reverse current from the measurements in the area/rev_iv, locos/rev_iv and gate/rev_iv setups.
- isn_sim A transform that calls JUNCAP to evaluate the locos sub-region component of current.
- fit_isn An optimization definition that causes the parameter JSGSR to be optimized with respect to the normalized locos sub-region reverse current. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
- The data limits are controlled by the following variables, which are also in the model variables table.
- ign A transform that extracts (and holds) the normalized gate sub-region contribution to reverse current from the measurements in the area/rev_iv, locos/rev_iv and gate/rev_iv setups.
- ign_sim A transform that calls JUNCAP to evaluate the gate sub-region component of current.
- fit_ign An optimization definition that causes the parameter JSGGR to be optimized with respect to the normalized gate sub-region reverse current. The parameter limits are controlled by the following model variables, which you can change in the model variables table.
- The data limits are controlled by the following variables, which are also in the model variables table.
- set_temp This transform sets the setup level variable TEMP to the model level variable TREVERSE.
- opt_all_rev_iv An optimization definition that causes all the generation parameters to be optimized with respect to the measured data in the area/rev_iv, locos/rev_iv and gate/rev_iv setups. The parameters optimized are:
- The parameter limits are controlled by the following model variables:
JSGBR_MIN
|
JSGBR_MAX
|
JSGSR_MIN
|
JSGSR_MAX
|
JSGGR_MIN
|
JSGGR_MAX
|
- The data limits are controlled by the following variables:
- ib A plot definition for the normalized area sub-region contribution to current.
- is A plot definition for the normalized locos sub-region contribution to current.
- ig A plot definition for the normalized gate sub-region contribution to current.
Macros
This section describes the macros provided with the JUNCAP model.
setup_details This macro prompts you for various setup details. These details are stored in the model variables table. The current values of the variables are used as prompts so you can easily change one setting by executing the macro a second time and choosing OK to all questions except the change required. The information requested by this macro is as follows:
TR
|
Model parameter representing reference temperature
|
VR
|
Model parameter representing the reference voltage for parameter scaling (usually 0)
|
TEMP
|
Ambient temperature at which the forward I-V and the C-V curves will be measured
|
TREVERSE
|
The temperature at which the reverse I-V curves will be measured. If possible, this should be higher than TEMP to accentuate the current component from generation effects
|
AB1
|
The area of the area DUT
|
LS1
|
The locos perimeter length of the area DUT
|
AB2
|
The area of the locos DUT
|
LS2
|
The locos perimeter length of the locos DUT
|
AB3
|
The area of the gate DUT
|
LS3
|
The locos perimeter length of the gate DUT
|
LG3
|
The gate perimeter length of the gate DUT
|
CONNECT_CV
|
This variable is set depending on whether the user wishes to use manual or automatic connections for C-V measurement.
|
CONNECT_FIV
|
This variable is set depending on whether the user wishes to use manual or automatic connections for forward I-V measurement.
|
CONNECT_RIV
|
This variable is set depending on whether the user wishes to use manual or automatic connections for reverse I-V measurement.
|
CVSTART
|
The start voltage for C-V sweeps
|
CVSTOP
|
The stop voltage for C-V sweeps
|
CVSTEP
|
The voltage step for C-V sweeps
|
FIVSTART
|
The start voltage for forward I-V sweeps
|
FIVSTOP
|
The stop voltage for forward I-V sweeps
|
FIVSTEP
|
The voltage step for forward I-V sweeps
|
RIVSTART
|
The start voltage for reverse I-V sweeps
|
RIVSTOP
|
The stop voltage for reverse I-V sweeps
|
RIVSTEP
|
The voltage step for reverse I-V sweeps
|
DATASOURCE
|
If set to M, measurements will be taken. Otherwise data will be generated from simulations
|
DISPLAYPLOTS
|
If set to Y, plots are displayed during measurement and optimizations. Otherwise they are not (unless they have previously been displayed and not closed).
|
The setup_details macro also calls the transform set_unit_dimensions, which sets the dimensions in the analysis DUT to unity.
measure_cv This macro causes a measurement to be taken in the cv setups of the area, locos and gate DUTs. At the end of these measurements, you are prompted to specify the following information:
CV_VMI
|
The lower voltage limit for optimizations with respect to the C-V data
|
CV_VMAX
|
The upper voltage limit for optimizations with respect to the C-V data
|
measure_forward_iv This macro causes a measurement to be taken in the fwd_iv setups of the area, locos and gate DUTs. At the end of these measurements. you are prompted to specify the following information:
FIV_VMIN
|
The lower voltage limit for optimizations with respect to the forward I-V data
|
FIV_VMAX
|
The upper voltage limit for optimizations with respect to the forward I-V data
|
measure_reverse_iv This macro causes a measurement to be taken in the rev_iv setups of the area, locos and gate DUTs. At the end of these measurements, you are prompted to specify the following information:
RIV_VMIN
|
The lower voltage limit for optimizations with respect to the reverse I-V data
|
RIV_VMAX
|
The upper voltage limit for optimizations with respect to the reverse I-V data
|
extract_cv_pars This macro controls the extraction of the C-V parameters by splitting the C-V data into the area, locos and gate contributions and optimizing the parameters to these. At the end of the extractions, the simulated C-V arrays in the area, locos, gate and analysis DUTS are updated with the new parameters.
extract_fwd_iv_pars This macro controls the extraction of the forward I-V parameters by splitting the forward I-V data into the area, locos and gate contributions and optimizing the parameters to these. At the end of the extractions, the simulated I-V arrays (forward and reverse) in the area, locos, gate and analysis DUTS are updated with the new parameters.
extract_rev_iv_pars This macro controls the extraction of the reverse I-V parameters by splitting the reverse I-V data into the area, locos and gate contributions and optimizing the parameters to these. At the end of the extractions, the simulated I-V arrays (forward and reverse) in the area, locos, gate and analysis DUTS are updated with the new parameters.
opt_all_cv This macro controls the optimization of the full set of C-V parameters with respect to the measured data in the area, locos and gate DUTs. At the end of the extractions, the simulated C-V arrays in the area, locos, gate and analysis DUTS are updated with the new parameters.
opt_all_fwd_iv This macro controls the optimization of the full set of I-V parameters with respect to the measured forward I-V data in the area, locos and gate DUTs. At the end of the extractions, the simulated I-V arrays (forward and reverse) in the area, locos, gate and analysis DUTS are updated with the new parameters.
opt_all_rev_iv This macro controls the optimization of the generation current parameters with respect to the measured reverse I-V data in the area, locos and gate DUTs. At the end of the extractions, the simulated I-V arrays (forward and reverse) in the area, locos, gate and analysis DUTS are updated with the new parameters.
simulate_all_curves This macro allows all the curves to be resimulated.
set_new_TR This macro allows the model parameters to be recalculated for a new reference temperature.
read_data_from_directory Reads data previously stored in a subdirectory under the current working directory.
write_data_to_directory Writes the data to a subdirectory under the current working directory.
General Extraction Methodology
The JUNCAP model extraction methodology assumes that the parasitic source and drain regions consist of three sub-regions:
• |
The area of the source/drain |
|
• |
On an IC layout, this is the area of the source/drain active region. This area is labeled AB and has dimensions of m2. |
|
• |
On an IC layout, this is the perimeter of the source/drain region that is shared with the LOCOS edge. This perimeter is labeled LS and has dimensions of m. |
|
• |
On an IC layout, this is the perimeter of the source/drain region that is shared with the gate polysilicon edge. This perimeter is labeled LG and has dimensions of m. |
Parameters are specified for each of these three sub-regions separately. To enable these parameters to be uniquely determined, at least three different source/drain regions must be measured with various dimensions for the three sub-regions. The present implementation assumes that three different test structures labeled area, locos and gate will be measured, as shown in the following table.
Table 74 Test Structures for JUNCAP Model
|
|
|
|
area
|
AB1 large
|
LS1 small
|
LG1 zero
|
locos
|
AB2 small
|
LS2 large
|
LG2 zero
|
gate
|
AB3 intermediate
|
LS2 intermediate
|
LG3 non-zero
|
The parameters AB1, AB2 and AB3 are the areas associated with the three DUTs; LS1, LS2 and LS3 are the LOCOS perimeters; and LG1, LG2, and LG3 are the gate perimeters. In the area DUT, the contribution of the area sub-region is assumed to be large while the contributions of the locos and gate sub-regions are small or zero. The locos DUT is assumed to have a larger contribution from the locos sub-region and the gate DUT has a non-zero contribution from the gate sub-region.
The capacitance associated with any DUT is considered to be the sum of the contributions of the three sub-regions. For example, for the DUT gate, the capacitance at any voltage V is given by:
- C(V) = C_AREA(V).AB3 + C_LOCOS(V).LS3 + C_GATE(V).LG3
where C_AREA(V),C_LOCOS(V) and C_GATE(V) are the normalized contributions of the area, locos and gate sub-regions at voltage V.
With respect to current, JUNCAP includes two mechanisms: diffusion and generation. These are described separately for each sub-region so that for the DUT gate, the current flow at any voltage V is given by:
- I(V) = ( ID_AREA(V) + IG_AREA(V) ).AB3
- + ( ID_LOCOS(V) + IG_LOCOS(V) ).AL3
- + ( ID_GATE(V) + IG_GATE(V) ).AG3
where ID_AREA(V) and IR_AREA(V) are the normalized contributions of the diffusion current and generation current, respectively, for the area sub-region at voltage V with similar notation being used for the locos and gate sub-regions.
Once the three DUTs have been measured, a set of simultaneous equations can be solved that allows the contributions of the area, locos and gate sub-regions to be separated and normalized. Parameter extraction then proceeds by optimizing the relevant parameters to each of the sub-region contributions in turn. Finally, the model parameters may be fine-tuned by optimization with respect to the directly-measured data in the area, locos and gate DUTs.
For the case of a well diode, you should specify that there is no gate test structure by setting the variable AB3 to zero. With AB3=0, the gate device will be ignored during measurements and optimizations.
|