hicum/l2: new code version 3.0.0 vs. release 2.4...1. "no dc convergence" with ads2015 at...

16
© 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

Upload: others

Post on 09-Oct-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 2: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 3: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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)!!

Page 4: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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!

Page 5: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

-------------------------------------------------------------------------+=

Page 6: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 7: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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----------=

Page 8: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 9: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 10: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 11: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 12: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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)

Page 13: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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)

Page 14: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 15: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

© 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

Page 16: HICUM/L2: New code version 3.0.0 vs. release 2.4...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

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