hicum/l2: new code version 3.0.0 vs. release 2.4...1. "no dc convergence" with ads2015 at...
TRANSCRIPT
© MS 1
HICUM/L2:
New code version 3.0.0 vs. release 2.4.0
Michael Schröter*, Mario Krattenmacher*, Andreas Pawlak& *Chair for Electron Devices and Integrated Circuits
Technical University Dresden, Germany &Infineon AG, Neubiberg, Germany
[email protected] http://www.iee.et.tu-dresden.de/iee/eb/hic_new/hic_start.html
HICUM Workshop May 13/14, 2019
Infineon, Neubiberg, Germany
© MS 2
HICUM Workshop 2019
Outline
• Note on backwards compatibility
• Critical current (re-)formulation: ICK(VBC)
• Avalanche effect at high current densities
• Code clean-up, fixes and updates
• Non-quasi-static effects
© MS 3
HICUM Workshop 2019 Note on backwards compatibility
Note on backwards compatibility• The requirement for 100% backwards compatibility by model users results
in overloaded code with (too) many flags for backwards compatibility• many conditional statements for exercising old code portions• code organization, legibility, size of compiled code, some additional arithmetic operations
• HICUM/L2 releases so far include code that is > 10 years old and should notbe used by anyone anymore
=> major clean-up required!=> new version 3.0.0
• released version 2.4.0 was the last that maintained compatibility down to thevery first released standard version 2.1(.0)
• new release version 3.0.0: cleaned up and reorganized code • deleted old code portions, related flags and parameters
=> not 100% compatible with previous version(s)!!
© MS 4
HICUM Workshop 2019 Note on backwards compatibility
Note on code versioning ...Code version is defined by three numbers: a.b.c
• a: incremented upon major revisions that lead to (partial) incompatibility withprevious version
• b: incremented e.g., after changes of formulations and/or extensions thatmaintain compatibility with previous version
• c: incremented after bug fixes
... applied to HICUM/L2 releases:• Keep old VA versions in a repository so that EDA vendors and users can
always go back to any old version (see our website, possibly also done by EDA vendors)
• note on CMC related new releases: only CMC members will be able to access code and doc for first 180 days!
© MS 5
HICUM Workshop 2019 Critical current (re-)formulation: ICK(VBC)
Critical current (re-)formulation: ICK(VBC)• Modeling of bias dependent mobile charge and transit time at high current
densities/injection is based on critical current
• Vceff is a smooth function of voltage drop Vci across internal (epi) collector=> calculated so far as
Vci(T) = VC’E’ - VCEs(T) • VC’E’: internal CE voltage; VCEs: internal CE saturation voltage (= parameter)
NEW (optional): Vci = VDCK(T) - VB’C’ with VDCK(T) = VDCK(T0)(1 - αDCKΔT)
=> single set of measured DC & AC characteristics at VBC = const=> easier model parameter extraction
ICKVceffRCi0----------- 1
1 Vceff Vlim⁄( )βICK+[ ]
1 βICK⁄-------------------------------------------------------------------- 1
v Vceff( ) v2 Vceff( ) aICKpt++2
-------------------------------------------------------------------------+=
© MS 6
HICUM Workshop 2019 Critical current (re-)formulation: ICK(VBC)
Comparison with existing JCK formulation
=> new formulation yields results similar to existing formulation
VBC/V = -0.75, -0.5, -0.3, 0, 0.3, 0.5
VBC/V = -0.75, -0.5, -0.3, 0, 0.3, 0.5
© MS 7
HICUM Workshop 2019 Avalanche effect at high current densities
Avalanche effect at high current densities • in cooperation with ST
with
with => takes into account NCi(x)
• new parameters: hcAVL = [0, 10] and hvdAVL = [0, 10]• constant: sM = 0.1
• implementation is naturally backward compatible: • hcAVL = 0 sets fcdav = 1 in code (no current dependence = default)• for finite parameter values: fcdav = 1 at low current (densities)
IAVL IT g1 kAVLg–------------------------= g fAVL VDCi VB'C'–( )
qAVLCjCi VDCi VB'C'–( )--------------------------------------------- 1
fcdav-----------–
exp=
fcdav sMCjCi VB'C'( )
sMCjCi0--------------------------- exp 2 2
1 ITf Ilimavl⁄–sM
---------------------------------- cosh+–ln=
Ilimavl hcAVLIlim hvdAVLITf+= IlimVlimrCi0----------=
© MS 8
HICUM Workshop 2019 Avalanche effect at high current densities
Experimental resultsBase current vs. BC voltage at different VBE (i.e. JC levels)
=> excellent agreement between model and measurements • T & geom. dep. results for ST technology => see M. Jaoul et al., TED 2019
• results for IFAG technology => see separate presentation
high-speed SiGe HBT high-voltage SiGe HBT
© MS 9
HICUM Workshop 2019 Code clean-up, fixes and updates
Code clean-up, fixes and updates• Depletion charge calculation module QJMODF
• improved code readability• saved two multiplications by more efficient coding
• Collector current spreading• optimized formulation (in cooperation with Z. Huszka)
=> saved several arithmetic operations
• variable name clean-up and declarations moved (eg. a_eg, ab, aa outside of "HICTUN_T" since names also used elsewhere)
• parameter HJEI0 replaces HJEI (OP and T dependent internal variable)
• "TMPHICJ": use of correct variable names in comments and functions
• deletion of unused variables (e.g. d_Q0)
• avoid division by zero for RMUi
• dropped VPT parameter and corresponding calculation in CjS for increasingcomputational efficiency
© MS 10
HICUM Workshop 2019 Code clean-up, fixes and updates
Floating point exception reported by Cadence • calculation of bias dependent GICCR weight factor in HBTs (introd. in 2015)
=> used VDEi to limit Vbiei at high forward bias => changed to: hje_rVT= rhjei*VT; hje_vr = (vdei_t-Vbiei)/hje_rVT; hje_vju= vdei_t-hje_rVT*(hje_vr+sqrt(hje_vr*hje_vr+`DFa_fj))*0.5; hje_u = ahjei_t*(1.0-exp(zei*ln(1.0-hje_vju/vdei_t))); if (abs(hje_u) > 0.001) begin hjei_vbe = hjei0_t*(exp(hje_u)-1.0)/hje_u; end else begin hjei_vbe = hjei0_t*(1+hje_u*0.5); endend else begin hjei_vbe = hjei0_t; // (added ..._t, MS0918)
• defining one new variable saves one multiplication • variable names changed according to (updated) manual to improve code readability • max 0.5% difference to previous version (in gm if hjei(VBiEi) is turned on)
=> new release
© MS 11
HICUM Workshop 2019 Code clean-up, fixes and updates
Notes related to FPE report from Cadence• Cj issue at forward bias: parameter zjei (= 0.01) too small
=> totally non-physical but within by allowed parameter range
Temperature dependence tests in different simulators• FPE model card from Cadence was also run with ADS2016 and ADS2015
for T/C = 26.5 ... 200 in 25C steps at VBE = (0.8, 0.9, 1)V and VCB=0 V
• Results:1. "No DC convergence" with ADS2015 at 200°C (only) for both HICUM/L2 v2.3.1 and
HICUM/L2 v2.4.0 => turning off self-heating causes "No DC convergence" to disappear
2. Convergence issue was not observed for ADS2016 when using same model cardand having self-heating turned on
3. When using IHPSG13G2 model card (oa_ads2016_rev0.8.6) there was no crash forany temperature with both ADS versions
© MS 12
HICUM Workshop 2019 Code clean-up, fixes and updates
NQS effect execution condition change• Existing conditional statement for turning on NQS effects, if ((flnqs != 0 || flcomp == 0.0 || flcomp == 2.1) && Tf != 0&& (alit > 0 || alqf > 0)) begin
was changed in v2.3.3 from simple statement in v2.3.2 if (flnqs != 0 && Tf != 0) begin for the following reasons (see Release Notes):1. Lower limit of ALIT and ALQF had been changed to ZERO, so that for numerical
reasons their values now needed to be checked (=> && (alit > 0 || alqf > 0) 2. Correct backwards compatibility had to be ensured by adding || flcomp == 2.1 for
those users who explicitly ran only v 2.1 or who ran newer versions of HICUM butwithout specifying FLNQS at all (i.e. || flcomp == 0.0)
3. In older versions without the FLNQS parameter, NQS effects were always on IFparameter values (> 0) were specified.
=> changes were a response to user requests at that time => better: only turn on NQS effects when needed in later design
stage (i.e. turned off by default)
© MS 13
HICUM Workshop 2019 Code clean-up, fixes and updates
NQS effect execution condition change• NQS effects should be turned on by a single flag only
=> accomplished by deleting in present statement the term || flcomp == 0.0 || flcomp == 2.1
=> leads to: if (flnqs != 0 && Tf != 0 && (alit > 0 || alqf > 0)) begin
=> equivalent to statement used for noise correlation!
• Also: need to change present version for backwards compatibility to v2.1(!!) if flcomp == 2.1 begin flnqs == 1 in parameter checking section
=> NQS effects are always turned on in old versions up to 2.1 => no change compared to original v2.1
(turning off NQS effects was possible only by setting alit=0 and alqf=0)
© MS 14
HICUM Workshop 2019 Code clean-up, fixes and updates
Documentation updates
• hjei (FPE): description of equations in new implementation
• description of parameter ICH dropped to facilitate its outphasing in future
• new ICK(VBC) option
• noise correlation (N. Derrier, ST): improved description of actual implementation
• new formulations of collector avalanche model
• improvements of T dependent description for IC and IB
=> new version of model documentation for v3.0.0
© MS 15
HICUM Workshop 2019 Code clean-up, fixes and updates
Circuit simulation runtime
Goals:• impact of physical effects (and respective formulations) on runtime in actual
circuits
• comparison of results and runtime using HICUM/L2, HICUM/L0 and SGPM
• vertical non-quasi-static (n.q.s) effects: explore use charge partitioning toget rid of gyrator network and associated two nodes• issues:
- based on quasi-static charge => misses n.q.s. effects (i.e. phase shift) in input admittance- requires physics-based bias dependent partitioning factor
=> ongoing work, first results expected soon
HICUM/L2 work list 2018Q4
# Topic Requester Priority Comments
1New HICUM/L2 b-release in agreement withHICUM user requests and HICUM developerresources
WG high See Michael Schröter’s presentation
User requests
1 Inclusion of negative differential mobility effect(GaAs) Qualcomm medium
2 New ICK formulation (vs. VBC) with temperaturedependence issue solved ST medium
3 Current dependence of avalanche current ST high See TED paperhttps://ieeexplore.ieee.org/document/8542948
4 Optimized implementation of the collectorcurrent spreading ST high
5 Prevent of potential division by zero in few OPvariables ADI high
6 RBX(T) added to OP variables ADI medium
7 BE depletion capacitanceFloating Point Exception CADENCE high
8 Remove compatibility with revision 2.1 WG mediumRevision 2.1 is 18 years old and is today obsolete and must be no more used