Phys
{ tunnel = registerStack("Device", "SecondOxide, GateOxide");
+GateOxide { Electron { tunnel = "FNPure";}}
+SecondOxide : GateOxide;
}
All stack member segments must share the same tunneling model. This can easily
be done using the inheritance mechanism of the input deck: in the above input
deck, the tunneling model in the SecondOxide segment is simply inherited
from the GateOxide section. Note that it is also possible to evaluate
tunneling in several independent stacks and segments simultaneously by
concatenating the respective tunnel strings together:
Phys
{ tunnel = registerStack("Device", "LeftStackUpperOxide,
LeftStackMiddleOxide,
LeftStackLowerOxide") +
registerStack("Device", "RightStackUpperOxide,
RightStackMiddleOxide,
RightStackLowerOxide") +
"GateOxide,GateOxide_Semiconductor,GateOxide_FloatingGate";
+GateOxide { Electron { tunnel = "TsuEsaki"; } }
+LeftStackLowerOxide : GateOxide;
+LeftStackMiddleOxide : GateOxide;
+LeftStackUpperOxide : GateOxide;
+RightStackLowerOxide : GateOxide;
+RightStackMiddleOxide : GateOxide;
+RightStackUpperOxide : GateOxide;
}}
Log
{ currentComponents = yes;
tunnel = yes;
}
In the Log section of the input deck the keywords
currentComponents and tunnel can be set to print logging
information to the standard output.
If the keyword currentComponents in the Log section is set
to yes, the electron, hole, and total tunneling currents are printed
in the output as IE, IH and It.
If the tunnel keyword is set in the Log section of the input deck, some information about the chosen tunneling segments, boundaries, and the respective stacks is printed to stdout before the simulation is started:
Tunneling Information for "Device"
--------------------------------------------------------------------------
Tunneling segment: LowerBarrier member of stack #0
Using boundary: Gate_LowerBarrier
Using boundary: LowerBarrier_LowerSemi
Tunneling segment: LowerSemi member of stack #0
Using boundary: LowerBarrier_LowerSemi
Using boundary: LowerSemi_MiddleBarrier
Tunneling segment: MiddleBarrier member of stack #0
Using boundary: LowerSemi_MiddleBarrier
Using boundary: MiddleBarrier_UpperSemi
Tunneling segment: UpperSemi member of stack #0
Using boundary: MiddleBarrier_UpperSemi
Using boundary: UpperSemi_UpperBarrier
Tunneling segment: UpperBarrier member of stack #0
Using boundary: UpperSemi_UpperBarrier
Using boundary: TopContact_UpperBarrier
--------------------------------------------------------------------------
Stack 0
--------------------------------------------------------------------------
Member Master Reference Nbr Opposite Nbr Points
LowerBarrier UpperBarrier Gate LowerSemi 47 x 2
LowerSemi UpperBarrier LowerBarrier MiddleBarrier 47 x 8
MiddleBarrier UpperBarrier LowerSemi UpperSemi 47 x 2
UpperSemi UpperBarrier MiddleBarrier UpperBarrier 47 x 9
UpperBarrier UpperBarrier UpperSemi TopContact 47 x 2
Inner stack reference segment : LowerBarrier
Inner stack opposite segment : UpperBarrier
Outer stack reference segment : Gate
Outer stack opposite segment : TopContact
--------------------------------------------------------------------------
In the upper part of this logging information all tunneling segments with
their tunneling boundaries are listed and it is stated, if they belong to a
stack. In the lower part the stack members are listed for each stack. Each
stack has a master segment (UpperBarrier in this case) and inner and
outer reference and opposite segments which denote the direct neighbors of the
stack. Also, each segment in a stack has a reference neighbor segment and an
opposite neighbor segment. Furthermore, the number of grid points is given for
each segment.
A. Gehring: Simulation of Tunneling in Semiconductor Devices