Was ist das für ein FinFET? Es ist eine Beispieldatei von Sentaurus TCAD

Da ich völlig neu in der TCAD-Software bin, kann ich den Code nicht analysieren. Meine Zweifel sind folgende:
1) Ob es sich um ein SOI-Finfet handelt?
2) Warum kann ich am letzten Knoten nur die halbe Struktur sehen?Finfet1 Finfet2

#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
Bist du sicher, dass das nicht nur die Hälfte des Finfet ist? Es sieht aus wie ein Querschnitt entlang der Kanallänge. Ich denke, das Braun ist das Grabenoxid oder STI (Shallow Trench Isolation) oder FTI. Das Gate ist hellgrau und umhüllt die "Finne" (die nicht sichtbar ist, weil sie in einem Bild mit dem Gateoxid bedeckt ist und in dem anderen dunkelblau ist, das die Rückseite des Querschnitts zeigt). Senf/Gelb und Rot sehen aus wie Source/Drain-Bereiche und ohmsche Kontakte.

Antworten (1)

Das sieht für mich nach einem BULK-Trigate-Profil aus, nicht nach SOI. Sie sollten das Papier bekommen: "Multigate Transistors: Pushing Moore's Law to the limit" von JP Colinge (ich ziehe das aus dem Gedächtnis). Es ist hauptsächlich ein Marketingartikel, aber es enthält Bilder von Trigate-Profilen.

(Ich weiß nichts von TCAD)

Ist es ein Trigate oder ein Dual-Gate, frage ich dies, weil sie im Code mit Nitrid hartmaskiert sind! Wahrscheinlich haben sie die obere Oberfläche hart maskiert, denke ich!
@Born2Code Die Verwendung einer Hartmaske ist Standard für die Profilierung von Si. Dies erfolgt in STI und ist in gewisser Weise nur eine Variante dieses Prozesses (in Bezug auf Ätzen). Das hat nichts damit zu tun, ob es sich um Tri- oder Dual-Gate handelt, da die folgenden Schritte dies bestimmen werden. Nach GOX und kein Feldoxid gegen die von Ihnen erwähnte Ätzung.
das sieht aus wie ein Doppelflossen-Trigate. Fast alle Trigate-Implementierungen benötigen in der tatsächlichen Produktion 2 Finnen
@bdegnan Wie sagt man, ist es eine Doppelflosse? Kannst du bitte Erklären? auch was ist mit den Kontakten von Gate, Source und Drain? woraus bestehen sie? thx im vorraus!
Kann jemand erklären, warum da vorne ein braunes Oxid (SiO2) ist? Was nützt es? Ist es SOI?
Lesen Sie das Papier, das ich beigefügt habe. Es steht mir nicht frei, andere Meinungen zu äußern