Hints, Tips and Solutions

Q. How can I create scalable devices using Victory Process?

 


Deckbuild supports variable substitution for both numerical and string variables using the SET statement and the $ symbol, thus allowing users to parameterize their input decks. The SET statement is used to generate a new variable and assign an initial value to it, e.g.,

SET scf=0.1

The value assigned to a variable can be numeric, string, boolean or a list. The variable holding the value is accessible by the $ symbol. Users can select any mix of masks, process parameters, device parameters, circuit parameters or tuning coefficients as input variables and then substitute variable values to investigate the output responses to input variables.

The possibility of input deck parametrization is considered very desirable, especially if the device under simulation is scalable and of circular shape. An example is an input deck for a nanowire transistor:
go victoryprocess

set scf=1
set LCHAN=20*$scf
set LACCE=5*$scf
set EPOX=1*$scf
set EPINV=1*$scf
set EPPOLY=5*$scf
set dm=10*$scf+$EPINV/2+$EPOX+$EPPOLY

init depth=$LCHAN polysilicon gasheight=10 from=”0, -$dm” to=”$dm, $dm” flow.dim=3d dopant=arsenic dopingvalue=1e19

specifymaskpoly circle center=”0,0” \
radius=10*$scf npoints=50 \
maskname=”cir_a”
specifymaskpoly circle center=”0,0”
radius=10*$scf+$EPINV/2 npoints=50 \
maskname=”cir_b”
specifymaskpoly circle center=”0,0”
radius=10*$scf+$EPINV/2+$EPOX npoints=50
maskname=”cir_c”
specifymaskpoly circle center=”0,0” \
radius=10*$scf+$EPINV/2+$EPOX+$EPPOLY \
npoints=50 maskname=”cir_d”

line x loc=0 spac=1*$scf
line x loc=5*$scf spac=3*$scf
line y loc=-5*$scf spac=3*$scf
line y loc=0 spac=1*$scf
line y loc=5*$scf spac=3*$scf

line z loc=-$LACCE spac=$LACCE/5
line z loc=0 spac=$LCHAN/5
line z loc=$LCHAN spac=$LCHAN/5

etch polysilicon thickness=$LCHAN \
mask=”cir_c” reverse max

deposit oxide thickness=0 max

etch oxide thickness=$LCHAN \
mask=”cir_b” reverse max

deposit silicon thickness=$LACCE max

etch silicon thickness=$LACCE \
mask=”cir_a” max

etch silicon thickness=$LACCE \
mask=”cir_b” max

etch polysilicon thickness=$LCHAN \
mask=”cir_d” max

export victory(conformal) structure=r1.str

Victory Process facilitates creation of a nanowire structure by allowing circular masks to be directly specified in the input deck with the SPECIFYMASKPOLY statement:

SPECIFYMASKPOLY CIRCLE CENTER=”<x>, <y>” RADIUS=<Value> \
NPOINTS=<Number> \
MASKNAME=”circular_mask”

Using parametrization users can easily make the nanowire device longer or taller or even narrower or shorter. For example, users may use scf as a variable to store the value of RADIUS. The following figures show the construction of a nanowire transistor with different radii by means of variable substitution for RADIUS.

RADIUS=10
RADIUS=7
RADIUS=5
RADIUS=3