¿Qué tipo de FinFET es este? Es un archivo de ejemplo de Sentaurus TCAD.

1

Como soy totalmente nuevo en el software TCAD, no puedo analizar el código. Mis dudas son las siguientes:
1) ¿Se trata de un SOI Finfet?
2) ¿Por qué solo puedo ver la mitad de la estructura en el último nodo?

#header
#rem #---------------------------------------------------------------------#
#rem #   LAYOUT
#rem #---------------------------------------------------------------------#

set Domain @Domain@

#if "@Layout@" == "gds"

 #rem # Loading of the "GDSII Layout" file.
 if { $Domain == "TN" } {
    icwb gds.file= "FinSRAM.gds" cell= "SRAM" scale= 1e-3 \
    layer.numbers= {0:0 1:0 2:0 3:0} \
    layer.names=   {FIN GATE CONTACT NWELL} \
    domain.name= $Domain sim3d= "100.50 0.00 125.50 65.00" 
 } elseif { $Domain == "TP" } {
        icwb gds.file= "FinSRAM.gds" cell= "SRAM" scale= 1e-3 \
    layer.numbers= {0:0 1:0 2:0 3:0} \
    layer.names=   {FIN GATE CONTACT NWELL} \
    domain.name= $Domain sim3d= "151.00 0.00 197.50 65.00"
 }

#else

 #rem # Loading of the "TCAD Layout" file.
 icwb filename= "FinSRAM_lyt.mac" scale= 1e-3
 #rem # Selecting the simulation domain.
 icwb domain= $Domain 

#endif

set DIM [icwb dimension]
#rem # Query utility: Returns the dimension of the selected simulation domain.
LogFile "icwb: dimension -> $DIM"

#rem # Query utility: Returns the bounding box of the simulation domain.
set Ymin [icwb bbox left ]
set Ymax [icwb bbox right]
set Zmin [icwb bbox back ]
set Zmax [icwb bbox front]

#endheader

fproc HexaPrism {args} {
#rem # HexaPrism - procedure to create prism from hexagon along SProcess Y
#rem # It take the following arguments:
#rem # 0. Name - name of the prism
#rem # 1. Height - height of the prism
#rem # 2. DeltaX - Prism center translation along SProcess X (optional, default=0)
#rem # 3. DeltaY - Prism center translation along SProcess Y (optional, default=0)
#rem # 4. DeltaZ - Prism center translation along SProcess Z (optional, default=0)
#rem # 5. alpha  - Prism hexagon angle measured from YZ plane(optional, default=60)
#rem # 6. YY     - Prism width             along SProcess Y (optional, default=height)
#rem # 7. ZZ     - Prism hexagon diagonal length   along SProcess Z (optional)


       if {[llength $args] < 2 || [llength $args] > 8} {
          error "HexaPrism: wrong number of arguments"
          exit -1
       }
    fset name      [lindex $args 0]
    fset h         [lindex $args 1]
    fset dx 0
    fset dy 0
    fset dz 0
    if {[llength $args] > 2 } {
      fset dx  [lindex $args 2]
    }
    if {[llength $args] > 3 } {
      fset dy  [lindex $args 3]
    }
    if {[llength $args] > 4 } {
      fset dz  [lindex $args 4]
    }
    if {[llength $args] > 5 } {
      fset alpha  [expr [lindex $args 5]*atan(1.0)/45.0]
    } else {
      fset alpha [ expr 60.0*atan(1.0)/45.0]
    }
    if {[llength $args] > 6 } {
      fset yy  [lindex $args 6]
    } else {
      fset yy $h
    }
    if {[llength $args] == 8 } {
      fset zz  [lindex $args 7]
    } else {
      fset zz  [expr  $h*(1.0+1.0/tan($alpha))/2.0 ]
    }

    fset x1 [expr  $h/2.0 + $dx]
    fset x2 $dx 
    fset x3 [expr -$h/2.0 + $dx]

    fset y1 [expr -$yy/2.0 + $dy]
    fset y2 [expr  $yy/2.0 + $dy]

    fset z1 [expr  $zz/2.0+$dz]
    fset z2 [expr -$zz/2.0+$dz]
    fset z3 [expr  $zz/2.0-$h/(tan($alpha)*2.0)+$dz]
    fset z4 [expr -$zz/2.0+$h/(tan($alpha)*2.0)+$dz]
    if {$z3 < $z4} {
         error "ERROR: inconsistent input: check height, width and angle!"
         exit 1
    }

    # Points
    point name= p1_$name  coord= { $x1 $y1 $z4}
    point name= p2_$name  coord= { $x1 $y1 $z3}
    point name= p3_$name  coord= { $x2 $y1 $z1}
    point name= p4_$name  coord= { $x3 $y1 $z3}
    point name= p5_$name  coord= { $x3 $y1 $z4}
    point name= p6_$name  coord= { $x2 $y1 $z2}
    point name= p7_$name  coord= { $x1 $y2 $z4}
    point name= p8_$name  coord= { $x1 $y2 $z3}
    point name= p9_$name  coord= { $x2 $y2 $z1}
    point name= p10_$name coord= { $x3 $y2 $z3}
    point name= p11_$name coord= { $x3 $y2 $z4}
    point name= p12_$name coord= { $x2 $y2 $z2}

    # Polygons
    polygon name= hex1_$name   points= " p1_$name p2_$name p3_$name p4_$name p5_$name p6_$name "
    polygon name= hex2_$name   points= " p7_$name p8_$name p9_$name p10_$name p11_$name p12_$name "
    polygon name= rec1_$name   points= " p1_$name p2_$name p8_$name p7_$name "
    polygon name= rec2_$name   points= " p2_$name p8_$name p9_$name p3_$name "
    polygon name= rec3_$name   points= " p3_$name p9_$name p10_$name p4_$name "
    polygon name= rec4_$name   points= " p4_$name p10_$name p11_$name p5_$name "
    polygon name= rec5_$name   points= " p5_$name p11_$name p12_$name p6_$name "
    polygon name= rec6_$name   points= " p6_$name p12_$name p7_$name p1_$name "

    polyhedron name= $name polygons= " hex1_$name hex2_$name rec1_$name rec2_$name rec3_$name rec4_$name rec5_$name rec6_$name" info= 2
}

fproc ChangeMaterialMatchRegions {args} {
 # ChangeMaterialMatchRegions - procedure to change the material
 # for regions that contain certain stem in the name
 # It take the following three arguments:
 # NameStem - name stem;
 # NewMat   - new material;
 # ZeroData - Reset Doping Data
     global ExecuteOn    
    if { ! $ExecuteOn } {
       if {[llength $args] < 2} {
          error "ChangeMaterialMatchRegions: wrong number of arguments"
          exit -1
       }
    }
    set NameStem   [lindex $args 0]
    set NewMat     [lindex $args 1]
    set ZeroData   [lindex $args 2]

    set Regions [region list.bulk]
    foreach LocalRegion $Regions {
        if { [string match $NameStem* $LocalRegion] && [string match $ZeroData Nozerodata] } {
           region name=$LocalRegion $NewMat change.material !zero.data
           }
        if { [string match $NameStem* $LocalRegion] && [string match $ZeroData zerodata] } {
           region name=$LocalRegion $NewMat change.material zero.data
        }
    }

  return;
}

#rem # PARALLEL EXECUTION - uncomment if you have 8 CPUs or more
#math numThreads= 8
#rem # Unified Coordinate System
math coord.ucs

## Design Rule
fset PolyPitch 0.130
fset GateThick 0.025
fset FinPitch  0.05

fset debug 0
fset fp 1.0           ;# Division factor

fset HFin 0.04         
fset STI_depth 0.15
fset Tsub 1.0

fset Wfin  0.017       ;# Z-axis on Layout
fset Tpoly 0.08
fset Lg    0.025       ;# Y-axis on Layout
fset gox   0.001   
fset THK   0.002
fset MetalG   0.004 
fset CapOx 0.005  

fset PolyReox 0.002    
fset Lsp  0.002      
fset Lspepi 0.0125

# -------------------------------------------------------
# Initial grid and structure
# -------------------------------------------------------

line x location= 0.0 tag= top
line x location= 0.1 
line x location= $Tsub tag= bottom

line y location= $Ymin spa= 0.02 tag= left
line y location= [expr $Lg/2.0]
line y location= $Ymax spa= 0.02 tag= right

line z location= $Zmin tag= back
line z location= [expr $Wfin/2.0]
line z location= $Zmax tag= front

region silicon substrate xlo= top xhi= bottom ylo= left yhi= right zlo= back zhi= front

init field= Boron concentration= 1.0e15 wafer.orient= {0 0 1} 

AdvancedCalibration 

# -------------------------------------------------------
# pdb settings
# -------------------------------------------------------
pdbSet ImplantData ResistSkip 1
pdbSet ImplantData BackBoundary  Reflect
pdbSet ImplantData LeftBoundary  Reflect
pdbSet ImplantData FrontBoundary Reflect
pdbSet ImplantData RightBoundary Reflect
pdbSet Mechanics StressHistory 1
pdbSet ImplantData DoseControl WaferDose

# Solver Enhancement
pdbSet Math diffuse 3D ILS.hpc.mode 4
# turn off stress relaxation after depo/etch
pdbSet Mechanics EtchDepoRelax 0

# meshing parameters
mgoals resolution= 1.0/3.0 accuracy= 1e-6
pdbSet Grid SnMesh min.normal.size 0.005/$fp
pdbSet Grid SnMesh normal.growth.ratio.3d 2.0
pdbSet Grid SnMesh max.box.angle.3d 175

#Refinement
icwb.create.mask layer.name= "FIN" name= FinMask polarity= positive
refinebox name= fin mask= FinMask \
        extend= 0.75 extrusion.min= -0.0 extrusion.max= $Tsub \
        xrefine= "0.5/$fp"  yrefine= "$Lg/(2.0*$fp)" zrefine= "$Wfin/(2.0*$fp)" 

refinebox name= FinIF mask= FinMask \
        extend= 0.75 extrusion.min= -0.01 extrusion.max= $STI_depth \
        min.normal.size= 0.001/$fp normal.growth.ratio= 2.0 interface.materials= {Silicon Oxide} 

# -------------------------------------------------------
# process flow 
# -------------------------------------------------------

# Hard mask nitride
deposit material= {Oxide}   type= anisotropic  rate= {1.0} time= 0.01
deposit material= {Nitride} type= anisotropic  rate= {1.0} time= 0.1

# Fin mask
icwb.create.mask layer.name= "FIN" name= FIN polarity= negative
photo mask= FIN thickness= 0.02
etch material= {Nitride} type= anisotropic rate= {0.1} time= 1.1
if { $debug } { struct tdr.bnd= n@node@_01 }

strip Photoresist
etch material= {Oxide} type= anisotropic rate= {0.01} time= 1.1
etch material= {Silicon} type= trapezoidal rate= $STI_depth time= 1.0 angle= 88.0
strip Nitride
strip Oxide
if { $debug } { struct tdr.bnd= n@node@_02 }

etch    material= {Silicon} type= isotropic rate= {0.002} time= 1.0
deposit material= {Silicon} type= isotropic rate= {0.002} time= 1.0 selective.materials= {Silicon}
if { $debug } { struct tdr.bnd= n@node@_03 }

deposit oxide fill coord= -0.005
etch oxide thickness= [expr $HFin+0.005] anisotropic
if { $debug } { struct tdr.bnd= n@node@_04 }

# Cap oxide and fill
deposit material= {Oxide} type= isotropic  rate= $CapOx time= 1.0
if { $debug } { struct tdr.bnd= n@node@_05 }

refinebox name= Vth mask= FinMask \
          extend= 0.004 extrusion.min= -0.0 extrusion.max= [expr 2*$HFin] \
          xrefine= "0.005/$fp"  yrefine= "$PolyPitch/(6.0*$fp)" zrefine= "$FinPitch/(8.0*$fp)"

stressdata Oxide sxxi= -5e8<Pa> syyi= -5e8<Pa> szzi= -5e8<Pa>
diffuse stress.relax time= 1e-10 temp= 600

# --------------------------------------------------------------
# WELL/Vt implant
# --------------------------------------------------------------

icwb.create.mask layer.name= "NWELL" name= PWELL polarity= negative
photo mask= PWELL thickness= 1.0
if { $debug } { struct tdr.bnd= n@node@_06 }

implant Boron dose= 1e13 energy= 180 tilt= 0.0
implant Boron dose= 1e13 energy= 60  tilt= 0.0
implant Boron dose= 1e13 energy= 15  tilt= 0.0

strip Photoresist

icwb.create.mask layer.name= "NWELL" name= NWELL polarity= positive
photo mask= NWELL thickness= 1.0
if { $debug } { struct tdr.bnd= n@node@_07 }

implant Phosphorus dose= 1.0e13 energy= 120 tilt= 0.0
implant Phosphorus dose= 5.0e12 energy= 70  tilt= 0.0
implant Arsenic    dose= 1.5e12 energy= 30  tilt= 0.0

strip Photoresist

# Well RTA
temp_ramp name= well temperature= 600<C>  time= 0.067      t.final= 900
temp_ramp name= well temperature= 900<C>  time= 0.033<min> t.final= 1050
temp_ramp name= well temperature= 1050<C> time= 0.2<min>   t.final= 750
temp_ramp name= well temperature= 750<C>  time= 0.1<min>   t.final= 600
diffuse stress.relax temp.ramp= well

etch material= {Oxide} type= cmp coord= $HFin  
if { $debug } { struct tdr.bnd= n@node@_08 }

#split @Poly@

# gate stack
deposit material= {Oxide} type= isotropic rate= {1.0} time= $gox
deposit material= {HfO2} type= isotropic  rate= $THK time= 1.0
if { $debug } { struct tdr.bnd= n@node@_09 }

# MetalGate
deposit material= {TiNitride}  type= isotropic  rate= $MetalG  time= 1.0

# Poly etching
icwb.create.mask layer.name= "GATE" name= POLY polarity= negative
deposit material= {PolySilicon} type= anisotropic  thickness= $Tpoly+$gox+$HFin mask= POLY
etch    material= {PolySilicon} type= cmp coord= -$Tpoly-$gox

#HardMask
deposit material= {Nitride} type= anisotropic  rate= $HFin time=1.0 selective.materials= {PolySilicon}
if { $debug } { struct tdr.bnd= n@node@_10 }

fset Gstack [expr $gox+$HFin]
etch material= {TiNitride HfO2 Oxide} type= anisotropic rate= {$Gstack $Gstack $Gstack} time= 2.0
deposit oxide fill coord= $HFin
if { $debug } { struct tdr.bnd= n@node@_11 }

# Offset spacer
deposit material= {Oxide} type= isotropic  rate= {1.0} time= $PolyReox
if { $debug } { struct tdr.bnd= n@node@_12 }

deposit material= {Nitride} type= isotropic  rate= {$Lsp} time= 1.0
if { $debug } { struct tdr.bnd= n@node@_13 }

etch nitride type= anisotropic rate= [expr $PolyReox+$HFin] time= 1.1
etch  material= {all} type= cmp coord= -$Tpoly-$gox
if { $debug } { struct tdr.bnd= n@node@_14 }

refinebox name= HaloImp mask= FinMask \
          extend= 0.005 extrusion.min= -$gox-$THK extrusion.max= 1.5*$HFin \
          xrefine= "0.002/$fp 0.005/$fp"  yrefine= "$PolyPitch/(20.0*$fp)" zrefine= "$FinPitch/(10.0*$fp)" 

icwb.create.mask layer.name= "GATE" name= Gate polarity= positive
refinebox name= ExtImp mask= Gate \
          extend= 0.005 extrusion.min= 0.0 extrusion.max= $HFin \
          xrefine= "0.001/$fp"  yrefine= "$PolyPitch/(40.0*$fp)" zrefine= "$FinPitch/(20.0*$fp)" Silicon 

refinebox name= ChannelIF mask= FinMask \
         extend= 0.001 extrusion.min= -$gox extrusion.max= $HFin \
         min.normal.size= 0.0005/$fp normal.growth.ratio= 2.0 interface.materials= {Silicon Oxide} Silicon

#split @Ext@

#-- To activate stress in Si:C pocket for nFinFET---#
pdbSetDoubleArray Silicon Carbon Conc.Strain {0 0 1 -0.432}
pdbSetDouble Silicon Mechanics TopRelaxedNodeCoord 0.05e-4

# ------------ Halo Implantation ---------------------------------------
photo mask= PWELL thickness= 0.1
if { $debug } { struct tdr.bnd= n@node@_15 }

implant Boron dose= 3.0e+13 energy= 5 tilt= 30 rotation= 30  
implant Boron dose= 3.0e+13 energy= 5 tilt= 30 rotation= 150 
implant Boron dose= 3.0e+13 energy= 5 tilt= 30 rotation= 210 
implant Boron dose= 3.0e+13 energy= 5 tilt= 30 rotation= 330  

## ---------- S/D Extension implantation nFinFET -----------------------
implant Carbon  dose= 2.0e15 energy= 2.5  tilt= 45 rotation= 0.0 !pai
implant Carbon  dose= 2.0e15 energy= 2.5  tilt= 45 rotation= 180.0 !pai

implant Arsenic dose= 1.0e15 energy= 4.0  tilt= 45 rotation= 0.0
implant Arsenic dose= 1.0e15 energy= 4.0  tilt= 45 rotation= 180.0

strip Photoresist

photo mask= NWELL thickness= 0.1
if { $debug } { struct tdr.bnd= n@node@_16 }

implant Arsenic dose= 2.0e13 energy= 25 tilt= 30 rotation= 30    
implant Arsenic dose= 2.0e13 energy= 25 tilt= 30 rotation= 150   
implant Arsenic dose= 2.0e13 energy= 25 tilt= 30 rotation= 210   
implant Arsenic dose= 2.0e13 energy= 25 tilt= 30 rotation= 330   

implant Phosphorus dose= 5.0e12 energy= 40 tilt= 20 rotation= 30
implant Phosphorus dose= 5.0e12 energy= 40 tilt= 20 rotation= 150
implant Phosphorus dose= 5.0e12 energy= 40 tilt= 20 rotation= 210
implant Phosphorus dose= 5.0e12 energy= 40 tilt= 20 rotation= 330

## ---------- S/D Extension implantation pFinFET -----------------------
implant BF2  dose= 1.5e15 energy= 2.5 tilt= 45 rotation= 0.0
implant BF2  dose= 1.5e15 energy= 2.5 tilt= 45 rotation= 180.0

strip Photoresist

struct tdr= n@node@_ext_impl

diffuse temperature= 750<C> time= 1.0<min>

#split @SD@

# Spacer
deposit material= {Nitride} type= isotropic rate= {$Lspepi} time= 1.0
etch material= {Nitride Oxide} type= anisotropic rate= {$HFin $HFin} time= 1.4
if { $debug } { struct tdr.bnd= n@node@_17 }

deposit oxide fill coord= $HFin
if { $debug } { struct tdr.bnd= n@node@_18 }

# Diamond shaped Si/SiGe Pocket 
mater add name= SiGePocket new.like= Silicon alt.matername= SiliconGermanium
pdbSet SiGePocket SiliconGermanium.ConversionConc 1e21
mater add name= SMTPocket  new.like= Silicon alt.matername= Silicon

# Height and Dimension of the pocket
fset heigth  [expr 1.4*$HFin]
fset width   [expr 1.4*$FinPitch]
fset length  [expr $PolyPitch-$Lg-2.0*($PolyReox+$Lsp)]
fset xcenter [expr $HFin/2.0]

#if @[ string match @Domain@ "TN" ]@
HexaPrism SMT_n $heigth $xcenter $Ymin $Zmax 40.0 $length $width
polyhedron list
insert polyhedron= SMT_n replace.materials= { Gas } new.material= SMTPocket new.region= SMTPocket_1

grid remesh
sel z= 1.5e20 name= Arsenic   SMTPocket  store
sel z= 1.5e21 name= Carbon    SMTPocket  store
ChangeMaterialMatchRegions SMTPocket Silicon Nozerodata

#elif @[ string match @Domain@ "TP" ]@

etch   material= {Silicon} type= anisotropic rate= {0.003} time= 1.0
etch   material= {Silicon} type= isotropic   rate= {0.001} time= 1.0
deposit material= {Oxide}  type= fill coord= $HFin

HexaPrism SiGe_p $heigth $xcenter $Ymin $Zmax 40.0 $length $width
polyhedron list
insert polyhedron= SiGe_p replace.materials= { Gas } new.material= SiGePocket new.region= SiGePocket_1

grid remesh
sel z= 1.5e22 name= Germanium SiGePocket store
sel z= 1.5e20 name= Boron     SiGePocket store
ChangeMaterialMatchRegions SiGePocket Silicon Nozerodata

#endif

if { $debug } { struct tdr.bnd= n@node@_19 }
diffuse stress.relax time= 1e-10 temp= 600

struct tdr= n@node@_Pocket

# -------------------------------------------------------------
#   SD Implantation
#--------------------------------------------------------------
photo mask= PWELL thickness= 0.1

implant Arsenic dose= 5.0e+15 energy= 15.0 tilt= 0 rotation= 0 

if { $debug } { struct tdr.bnd= n@node@_20 }
strip Photoresist

photo mask= NWELL thickness= 0.1

implant BF2 dose= 5.0e15 energy= 10.0 tilt= 0 rotation= 0 

if { $debug } { struct tdr.bnd= n@node@_21 }
strip Photoresist

# ---- spike RTA ----
temp_ramp name= spike1000 time= 2<s>     ramprate= 200<C/s>    temperature= 600.0
temp_ramp name= spike1000 time= 0.1<s>   ramprate=   0<C/s>    temperature= 1000.0
temp_ramp name= spike1000 time= 4<s>     ramprate= -75<C/s>    temperature= 1000.0

diffuse temp.ramp= spike1000 stress.relax

# ---- laser annealing ----
temp_ramp name= laser time= 1e-03<s> ramprate= 6e+05<C/s>  temperature= 600.0
temp_ramp name= laser time= 1e-06<s> ramprate= 0<C/s>      temperature= 1200.0
temp_ramp name= laser time= 1e-03<s> ramprate= -5e+04<C/s> temperature= 1200.0

diffuse temp.ramp= laser stress.relax

struct tdr= n@node@_sd

## ---------- Contact silicidation -----------------------

etch material= {Silicon SiliconGermanium} type= isotropic rate= {0.03*$HFin 0.03*$HFin} time= 1.0
if { $debug } { struct tdr.bnd= n@node@_22 }

pdbSet Diffuse minT 450.0
diffuse stress.relax time= 1<min> temperature= 20 ramprate= [ expr 450.0 - 20.0 ]<C/min>

deposit material= {NickelSilicide} type= isotropic rate= 0.1*$HFin time= 1.0 temperature= 450 selective.materials= {Silicon SiliconGermanium}
if { $debug } { struct tdr.bnd= n@node@_23 }

diffuse stress.relax time= 1<min>  temperature= 450 ramprate= [ expr 20.0 - 450.0 ]<C/min>

#split @DeviceMesh@

fset fd 1.0     ;# Division factor

#Remove Poly and metal gate
strip PolySilicon
strip TiNitride

#Polishing
etch material= {Nitride} type= cmp coord= -$gox-$THK-$MetalG
etch material= {Oxide} type= cmp coord= -$gox-$THK-$MetalG
if { $debug } { struct tdr.bnd= n@node@_24 }

##---------------Remeshing for device simulation--------##
# clears the process simulation mesh
refinebox clear
refinebox !keep.lines
line clear

# reset default settings for adaptive meshing
pdbSet Grid AdaptiveField Refine.Abs.Error 1e37
pdbSet Grid AdaptiveField Refine.Rel.Error 1e10
pdbSet Grid AdaptiveField Refine.Target.Length 100.0

# Set high quality Delaunay meshes
pdbSet Grid sMesh 1
pdbSet Grid Adaptive 1
pdbSet Grid SnMesh DelaunayType boxmethod
pdbSet Grid SnMesh CoplanarityAngle 179
pdbSet Grid SnMesh MaxPoints 2000000
pdbSet Grid SnMesh MaxNeighborRatio 1e6

pdbSet Grid SnMesh min.normal.size 1.0/$fd
pdbSet Grid SnMesh normal.growth.ratio.3d 1.0
pdbSet Grid SnMesh max.box.angle.3d 179
#refinebox interface.materials= {Silicon Oxide}

# Refinement strategy

refinebox name= DF mask= FinMask \
      extend= 0.02 extrusion.min= -$MetalG-$THK-$gox extrusion.max= $HFin+0.01 \
      refine.fields= { NetActive} def.max.asinhdiff= 1.0 \
          refine.max.edge= "0.01/$fd  0.01/$fd  0.01/$fd" refine.min.edge= "0.004/$fd  0.004/$fd  0.004/$fd" adaptive

refinebox name= DG mask= Gate \
          extend= 0.005 extrusion.min= -$gox extrusion.max= $HFin+0.01 \
          xrefine= "0.005/$fd"  yrefine= "$PolyPitch/(20.0*$fd)" zrefine= "$FinPitch/(10.0*$fd)" materials= {Silicon SiliconGermanium}

refinebox name= DeviceIF mask= Gate \
          extend= 0.01 extrusion.min= -$MetalG-$THK-$gox extrusion.max= $HFin+0.01 \
          min.normal.size= 0.0004/$fd normal.growth.ratio= 2.0 interface.materials= {Silicon Oxide SiliconGermanium Oxide }

grid remesh


#-Contacts
icwb.contact.mask layer.name= "GATE" name= "gate" box HfO2 xlo= -$gox-$THK-$MetalG xhi= $HFin+0.001 adjacent.material= Gas
contact name= "source" x= -0.01 y= 0.002 z= $Zmax-0.002 point NickelSilicide replace
contact bottom name= substrate Silicon


struct tdr= n@node@_half !gas

if { [catch { exec tdx -mtt -Y -ren source=drain n@node@_half_fps.tdr n@node@_full_fps.tdr} Err] !=0 } { 
    LogFile $Err
} 

exit
    
pregunta Born2Code

1 respuesta

1

Eso me parece un perfil de activación BULK, no SOI. Debería obtener el documento: "Transistores multigatos: empujando la ley de Moore al límite" por J. P. Colinge (lo estoy sacando de la memoria). Es principalmente una pieza de marketing, pero tiene imágenes de perfiles de activación.

(No sé nada de TCAD)

    
respondido por el b degnan

Lea otras preguntas en las etiquetas