DIFFUSE

Run a time temperature step on the wafer and calculate oxidation and diffusion of impurities.

SYNOPSIS

diffuse
time = n temperature = n
[ ( dryo2 | weto2 | nitrogen | ammonia | argon | antimony | arsenic | boron | phosphorus | beryllium | magnesium | selenium | isilicon | tin | germanium | zinc | carbon | generic ) ]
[ gas.conc = n ] [ pressure = n ] [ gold.surf ]
[ continue ] [ movie = string ] [ dump = n ]

DESCRIPTION

The diffuse statement allows the user to specify a diffusion or oxidation step. Any impurities present in the wafer are diffused. If the wafer is exposed to a gas, a predeposition or oxidation can be performed. This statement represents the core simulation capability of SUPREM-IV. Users can expect that this statement will take a lot of CPU time.

The parameters for oxidation and diffusivities can be found on the statements in the models section of the manual. Refer to either the oxide statement or any of the impurity statements to determine how to change coefficients of the models.

time
This parameter represents the amount of time the wafer will spend in the furnace in minutes.
temp
This parameter allows specification of the furnace temperature in degrees centigrade.

antimony, arsenic, boron, phosphorus, beryllium, magnesium, selenium, silicon, tin, germanium, zinc, carbon, generic
The above switched booleans of gas types allow the user to specify the type of impurity that may be in the gas stream. The value of gas.conc applies to these gas types. Only one gas type may be specified per diffusion step.

dryo2 weto2 nitrogen ammonia argon
The above switched booleans of gas types allow the user to specify the type of gas present in the furnace during the diffusion step. These gas types are not affected by the gas.conc parameter. Only one gas type may be specified per diffusion step. There is currently no difference between nitrogen, argon, and ammonia.

gas.conc
This allows the user to specify the gas concentration of an impurity during preepositions, in atoms per cubic centimeter.

pressure
This is the partial pressure of the active species, in atmospheres. It defaults to 1 for both wet and dry oxidation.

gold.surf
This floating point parameter specifies the gettered gold concentration value as a sink. It is used for the gettering model described on the gold command.

continue
This specifies a continuing diffusion. Do not reset the total time to 0, do not reset the analytic oxide thickness to the default value of "initial" on the oxide command, and do not initialize the defects.

movie
This character string parameter should be made up of SUPREM-IV commands. They will be executed at the beginning of each time step. It is typically used to produce plots of a variable as a function of time during the diffusion process. Any legal SUPREM-IV command can be specified in the string. The variable time is set by the movie routine. Consequently, time will be expanded as a macro for use in plot labels or print outs.

dump
This parameter instructs the simulator to output files on after every n'th time step. The files will be structure files and will be readable with the structure statement. The names will be of the form s.time, where time is the current total time of the simulation.

EXAMPLES

diffuse time=30 temp=1000 boron gas.conc=1.e20
This statement specifies that a 1000C, 30 minute, boron predeposition is to be performed.

diffuse time=30 temp=1000 dryo2
This statement instructs the simulator to grow oxide for 30 minutes at 1000C in a dry oxygen ambient.

diffuse time=30 temp=1000 movie="select z=log10(bor);plot.1d x.v=1.0;"
This command instructs SUPREM-IV to do a 30 minute, 1000C diffusion. Before each time step, the current boron concentration will be plotted along a horizontal slice 1.0 microns into the wafer. (See select, plot.1d).

diffuse time=30 temp=1100 movie="select z=doping;
printf Time is: time yfn(0.0, 0.0) sil@oxi(0.0)"
This command instructs SUPREM-IV to do a 30 minute, 1000C diffusion. Before each time step, the total net active doping concentration is chosen as the plot z variable. The printf statement will then print the string "Time is:", the current time of the diffusion in seconds, the y value along a vertical slice at x = 0.0 where the doping is equal to zero (i.e. the junction), and the location of the silicon oxide interface in the vertical slice at x = 0.0.

BUGS

There can still be occasional convergence problems. If these occur when defects are being computed, they can usually be fixed by performing a complete LU decomposition instead of a partial. Use the "method full" command to achieve this.

The models implemented in the diffusion and oxidation are involved in ongoing research. Disagreements between simulation and experiment is possible. This can be due to the differences in processing conditions between the lab where the original experiment was performed and your lab, or due to model shortcomings.

SEE ALSO

The antimony, arsenic, beryllium, boron, carbon, generic, germanium, interst, magnesium, material, method, oxide, phosphorus, selenium, silicon, tin, trap, vacancy, and zinc commands.