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