16 Description = QObject::tr (
"HICUM Level 0 v1.2g verilog device");
19 QObject::tr (
"polarity") +
" [npn, pnp]"));
21 QObject::tr (
"(Modified) saturation current")
22 +
" ("+QObject::tr (
"A")+
")"));
24 QObject::tr (
"Non-ideality coefficient of forward collector current")));
26 QObject::tr (
"Non-ideality coefficient of reverse collector current")));
28 QObject::tr (
"forward Early voltage (normalization volt.)")
29 +
" ("+QObject::tr (
"V")+
")"));
31 QObject::tr (
"reverse Early voltage (normalization volt.)")
32 +
" ("+QObject::tr (
"V")+
")"));
34 QObject::tr (
"forward d.c. high-injection roll-off current")
35 +
" ("+QObject::tr (
"A")+
")"));
37 QObject::tr (
"flag for turning on base related critical current")));
39 QObject::tr (
"inverse d.c. high-injection roll-off current")
40 +
" ("+QObject::tr (
"A")+
")"));
42 QObject::tr (
"high-injection correction current")
43 +
" ("+QObject::tr (
"A")+
")"));
45 QObject::tr (
"high-injection roll-off current")));
47 QObject::tr (
"Smoothing factor for the d.c. injection width")));
49 QObject::tr (
"BE saturation current")
50 +
" ("+QObject::tr (
"A")+
")"));
52 QObject::tr (
"BE non-ideality factor")));
54 QObject::tr (
"BE recombination saturation current")
55 +
" ("+QObject::tr (
"A")+
")"));
57 QObject::tr (
"BE recombination non-ideality factor")));
59 QObject::tr (
"BC saturation current")
60 +
" ("+QObject::tr (
"A")+
")"));
62 QObject::tr (
"BC non-ideality factor")));
64 QObject::tr (
"Zero-bias BE depletion capacitance")
65 +
" ("+QObject::tr (
"F")+
")"));
67 QObject::tr (
"BE built-in voltage")
68 +
" ("+QObject::tr (
"V")+
")"));
70 QObject::tr (
"BE exponent factor")));
72 QObject::tr (
"Ratio of maximum to zero-bias value")));
74 QObject::tr (
"BE charge built-in voltage for d.c. transfer current")
75 +
" ("+QObject::tr (
"V")+
")"));
77 QObject::tr (
"charge BE exponent factor for d.c. transfer current")));
79 QObject::tr (
"BE capacitance ratio (maximum to zero-bias value) for d.c. transfer current")));
81 QObject::tr (
"low current transit time at Vbici=0")
82 +
" ("+QObject::tr (
"s")+
")"));
84 QObject::tr (
"Base width modulation contribution")
85 +
" ("+QObject::tr (
"s")+
")"));
87 QObject::tr (
"SCR width modulation contribution")
88 +
" ("+QObject::tr (
"s")+
")"));
90 QObject::tr (
"Storage time in neutral emitter")
91 +
" ("+QObject::tr (
"s")+
")"));
93 QObject::tr (
"Exponent factor for emitter transit time")));
95 QObject::tr (
"Saturation time at high current densities")
96 +
" ("+QObject::tr (
"s")+
")"));
98 QObject::tr (
"Smoothing factor for current dependence")));
100 QObject::tr (
"Storage time at inverse operation")
101 +
" ("+QObject::tr (
"s")+
")"));
103 QObject::tr (
"Low-field collector resistance under emitter")
104 +
" ("+QObject::tr (
"Ohm")+
")"));
106 QObject::tr (
"Voltage dividing ohmic and satur.region")
107 +
" ("+QObject::tr (
"V")+
")"));
109 QObject::tr (
"Punch-through voltage")
110 +
" ("+QObject::tr (
"V")+
")"));
112 QObject::tr (
"Saturation voltage")
113 +
" ("+QObject::tr (
"V")+
")"));
115 QObject::tr (
"Total zero-bias BC depletion capacitance")
116 +
" ("+QObject::tr (
"F")+
")"));
118 QObject::tr (
"BC built-in voltage")
119 +
" ("+QObject::tr (
"V")+
")"));
121 QObject::tr (
"BC exponent factor")));
123 QObject::tr (
"Punch-through voltage of BC junction")
124 +
" ("+QObject::tr (
"V")+
")"));
126 QObject::tr (
"Zero-bias external BC depletion capacitance")
127 +
" ("+QObject::tr (
"F")+
")"));
129 QObject::tr (
"External BC built-in voltage")
130 +
" ("+QObject::tr (
"V")+
")"));
132 QObject::tr (
"External BC exponent factor")));
134 QObject::tr (
"Punch-through voltage")
135 +
" ("+QObject::tr (
"V")+
")"));
137 QObject::tr (
"Split factor = Cjci0/Cjc0")));
139 QObject::tr (
"Internal base resistance at zero-bias")
140 +
" ("+QObject::tr (
"Ohm")+
")"));
142 QObject::tr (
"forward Early voltage (normalization volt.)")
143 +
" ("+QObject::tr (
"V")+
")"));
145 QObject::tr (
"forward Early voltage (normalization volt.)")
146 +
" ("+QObject::tr (
"V")+
")"));
148 QObject::tr (
"Geometry factor")));
150 QObject::tr (
"External base series resistance")
151 +
" ("+QObject::tr (
"Ohm")+
")"));
153 QObject::tr (
"Emitter series resistance")
154 +
" ("+QObject::tr (
"Ohm")+
")"));
156 QObject::tr (
"External collector series resistance")
157 +
" ("+QObject::tr (
"Ohm")+
")"));
159 QObject::tr (
"Substrate transistor transfer saturation current")
160 +
" ("+QObject::tr (
"A")+
")"));
162 QObject::tr (
"Substrate transistor transfer current non-ideality factor")));
164 QObject::tr (
"SC saturation current")
165 +
" ("+QObject::tr (
"A")+
")"));
167 QObject::tr (
"SC non-ideality factor")));
169 QObject::tr (
"Zero-bias SC depletion capacitance")
170 +
" ("+QObject::tr (
"F")+
")"));
172 QObject::tr (
"SC built-in voltage")
173 +
" ("+QObject::tr (
"V")+
")"));
175 QObject::tr (
"External SC exponent factor")));
177 QObject::tr (
"SC punch-through voltage")
178 +
" ("+QObject::tr (
"V")+
")"));
180 QObject::tr (
"Collector-base isolation (overlap) capacitance")
181 +
" ("+QObject::tr (
"F")+
")"));
183 QObject::tr (
"Emitter-base oxide capacitance")
184 +
" ("+QObject::tr (
"F")+
")"));
186 QObject::tr (
"Exponent factor")));
188 QObject::tr (
"Prefactor")));
190 QObject::tr (
"flicker noise coefficient")
191 +
" ("+QObject::tr (
"M^(1-AF)")+
")"));
193 QObject::tr (
"flicker noise exponent factor")));
195 QObject::tr (
"Bandgap-voltage")
196 +
" ("+QObject::tr (
"V")+
")"));
198 QObject::tr (
"Effective emitter bandgap-voltage")
199 +
" ("+QObject::tr (
"V")+
")"));
201 QObject::tr (
"Effective collector bandgap-voltage")
202 +
" ("+QObject::tr (
"V")+
")"));
204 QObject::tr (
"Effective substrate bandgap-voltage")
205 +
" ("+QObject::tr (
"V")+
")"));
207 QObject::tr (
"Coefficient K1 in T-dependent bandgap equation")
208 +
" ("+QObject::tr (
"V/K")+
")"));
210 QObject::tr (
"Coefficient K2 in T-dependent bandgap equation")
211 +
" ("+QObject::tr (
"V/K")+
")"));
213 QObject::tr (
"Frist-order TC of tf0")
214 +
" ("+QObject::tr (
"1/K")+
")"));
216 QObject::tr (
"Second-order TC of tf0")
217 +
" ("+QObject::tr (
"1/K^2")+
")"));
219 QObject::tr (
"Exponent coefficient in transfer current temperature dependence")));
221 QObject::tr (
"Exponent coefficient in BE junction current temperature dependence")));
223 QObject::tr (
"TC of epi-collector diffusivity")));
225 QObject::tr (
"Relative TC of satur.drift velocity")
226 +
" ("+QObject::tr (
"1/K")+
")"));
228 QObject::tr (
"Relative TC of vces")
229 +
" ("+QObject::tr (
"1/K")+
")"));
231 QObject::tr (
"TC of internal base resistance")));
233 QObject::tr (
"TC of external base resistance")));
235 QObject::tr (
"TC of external collector resistance")));
237 QObject::tr (
"TC of emitter resistances")));
239 QObject::tr (
"TC of iqf (bandgap coefficient of zero bias hole charge)")));
241 QObject::tr (
"TC of avalanche prefactor, identical to alfav of Hicum/L2")
242 +
" ("+QObject::tr (
"1/K")+
")"));
244 QObject::tr (
"TC of avalanche exponential factor, identical to alqav of Hicum/L2")
245 +
" ("+QObject::tr (
"1/K")+
")"));
247 QObject::tr (
"Flag for self-heating calculation")));
249 QObject::tr (
"Thermal resistance")
250 +
" ("+QObject::tr (
"K/W")+
")"));
252 QObject::tr (
"Exponent factor for temperature dependent thermal resistance")));
254 QObject::tr (
"Thermal capacitance")
255 +
" ("+QObject::tr (
"Ws/K")+
")"));
257 QObject::tr (
"Temperature for which parameters are valid")
258 +
" ("+QObject::tr (
"C")+
")"));
260 QObject::tr (
"Temperature change for particular transistor")
261 +
" ("+QObject::tr (
"K")+
")"));
263 QObject::tr (
"Emitter part coefficient of the zero bias hole charge temperature variation")));
265 QObject::tr (
"Collector part coefficient of the zero bias hole charge temperature variation")));
267 QObject::tr (
"Bandgap TC parameter of ver")));
269 QObject::tr (
"Bandgap TC parameter of vef")));
271 QObject::tr (
"Specific recombination current at the BC barrier for high forward injection")
272 +
" ("+QObject::tr (
"A")+
")"));
274 QObject::tr (
"simulation temperature")));
279 Model =
"hicumL0V1p2g";
286 p->
Props.getFirst()->Value =
Props.getFirst()->Value;
293 Name = QObject::tr(
"npn HICUM L0 v1.2g");
294 BitmapFile = (
char *)
"npnsub_therm";
302 Name = QObject::tr(
"pnp HICUM L0 v1.2g");
303 BitmapFile = (
char *)
"pnpsub_therm";
308 p->
Props.getFirst()->Value =
"pnp";
318 Lines.append(
new Line(-10,-15,-10, 15,QPen(QPen::darkBlue,3)));
319 Lines.append(
new Line(-30, 0,-10, 0,QPen(QPen::darkBlue,2)));
320 Lines.append(
new Line(-10, -5, 0,-15,QPen(QPen::darkBlue,2)));
321 Lines.append(
new Line( 0,-15, 0,-30,QPen(QPen::darkBlue,2)));
322 Lines.append(
new Line(-10, 5, 0, 15,QPen(QPen::darkBlue,2)));
323 Lines.append(
new Line( 0, 15, 0, 30,QPen(QPen::darkBlue,2)));
326 Lines.append(
new Line( 9, 0, 30, 0,QPen(QPen::darkBlue,2)));
327 Lines.append(
new Line( 9, -7, 9, 7,QPen(QPen::darkBlue,3)));
330 Lines.append(
new Line(-30, 20,-20, 20,QPen(QPen::darkBlue,2)));
331 Lines.append(
new Line(-20, 17,-20, 23,QPen(QPen::darkBlue,2)));
334 if(
Props.getFirst()->Value ==
"npn") {
335 Lines.append(
new Line( -6, 15, 0, 15,QPen(QPen::darkBlue,2)));
336 Lines.append(
new Line( 0, 9, 0, 15,QPen(QPen::darkBlue,2)));
338 Lines.append(
new Line( -5, 10, -5, 16,QPen(QPen::darkBlue,2)));
339 Lines.append(
new Line( -5, 10, 1, 10,QPen(QPen::darkBlue,2)));
343 Lines.append(
new Line(-30,-30,-30,-24,QPen(QPen::darkBlue,1)));
344 Lines.append(
new Line(-30,-27,-26,-27,QPen(QPen::darkBlue,1)));
345 Lines.append(
new Line(-26,-30,-26,-24,QPen(QPen::darkBlue,1)));
347 Lines.append(
new Line(-24,-30,-24,-24,QPen(QPen::darkBlue,1)));
349 Lines.append(
new Line(-22,-30,-22,-24,QPen(QPen::darkBlue,1)));
350 Lines.append(
new Line(-22,-30,-19,-30,QPen(QPen::darkBlue,1)));
351 Lines.append(
new Line(-22,-24,-19,-24,QPen(QPen::darkBlue,1)));
353 Lines.append(
new Line(-17,-30,-17,-24,QPen(QPen::darkBlue,1)));
354 Lines.append(
new Line(-14,-30,-14,-24,QPen(QPen::darkBlue,1)));
355 Lines.append(
new Line(-17,-24,-14,-24,QPen(QPen::darkBlue,1)));
357 Lines.append(
new Line(-12,-30,-12,-24,QPen(QPen::darkBlue,1)));
358 Lines.append(
new Line( -8,-30, -8,-24,QPen(QPen::darkBlue,1)));
359 Lines.append(
new Line(-12,-30,-10,-28,QPen(QPen::darkBlue,1)));
360 Lines.append(
new Line( -8,-30,-10,-28,QPen(QPen::darkBlue,1)));
376 QString
s =
"hicumL0V1p2g:"+
Name;
380 s +=
" "+p1->Connection->Name;
384 if(p2->Value ==
"npn")
390 for(p2 =
Props.next(); p2 != 0; p2 =
Props.next())
391 s +=
" "+p2->Name+
"=\""+p2->Value+
"\"";