16 Description = QObject::tr (
"HICUM Level 0 v1.3 verilog device");
19 QObject::tr (
"polarity") +
" [npn, pnp]"));
21 QObject::tr (
"(Modified) saturation current")
22 +
" ("+QObject::tr (
"A")+
")"));
24 QObject::tr (
"Flag for using third order solution for transfer current")));
26 QObject::tr (
"Non-ideality coefficient of forward collector current")));
28 QObject::tr (
"Non-ideality coefficient of reverse collector current")));
30 QObject::tr (
"forward Early voltage (normalization volt.)")
31 +
" ("+QObject::tr (
"V")+
")"));
33 QObject::tr (
"reverse Early voltage (normalization volt.)")
34 +
" ("+QObject::tr (
"V")+
")"));
36 QObject::tr (
"bias dependence for reverse Early voltage")));
38 QObject::tr (
"forward d.c. high-injection roll-off current")
39 +
" ("+QObject::tr (
"A")+
")"));
41 QObject::tr (
"flag for turning on base related critical current")));
43 QObject::tr (
"inverse d.c. high-injection roll-off current")
44 +
" ("+QObject::tr (
"A")+
")"));
46 QObject::tr (
"high-injection correction current")
47 +
" ("+QObject::tr (
"A")+
")"));
49 QObject::tr (
"high-injection correction factor")));
51 QObject::tr (
"Smoothing factor for the d.c. injection width")));
53 QObject::tr (
"BE saturation current")
54 +
" ("+QObject::tr (
"A")+
")"));
56 QObject::tr (
"BE non-ideality factor")));
58 QObject::tr (
"BE recombination saturation current")
59 +
" ("+QObject::tr (
"A")+
")"));
61 QObject::tr (
"BE recombination non-ideality factor")));
63 QObject::tr (
"BC saturation current")
64 +
" ("+QObject::tr (
"A")+
")"));
66 QObject::tr (
"BC non-ideality factor")));
68 QObject::tr (
"Zero-bias BE depletion capacitance")
69 +
" ("+QObject::tr (
"F")+
")"));
71 QObject::tr (
"BE built-in voltage")
72 +
" ("+QObject::tr (
"V")+
")"));
74 QObject::tr (
"BE exponent factor")));
76 QObject::tr (
"Ratio of maximum to zero-bias value")));
78 QObject::tr (
"BE charge built-in voltage for d.c. transfer current")
79 +
" ("+QObject::tr (
"V")+
")"));
81 QObject::tr (
"charge BE exponent factor for d.c. transfer current")));
83 QObject::tr (
"BE capacitance ratio (maximum to zero-bias value) for d.c. transfer current")));
85 QObject::tr (
"low current transit time at Vbici=0")
86 +
" ("+QObject::tr (
"s")+
")"));
88 QObject::tr (
"Base width modulation contribution")
89 +
" ("+QObject::tr (
"s")+
")"));
91 QObject::tr (
"SCR width modulation contribution")
92 +
" ("+QObject::tr (
"s")+
")"));
94 QObject::tr (
"Storage time in neutral emitter")
95 +
" ("+QObject::tr (
"s")+
")"));
97 QObject::tr (
"Exponent factor for emitter transit time")));
99 QObject::tr (
"Saturation time at high current densities")
100 +
" ("+QObject::tr (
"s")+
")"));
102 QObject::tr (
"Smoothing factor for current dependence")));
104 QObject::tr (
"Storage time at inverse operation")
105 +
" ("+QObject::tr (
"s")+
")"));
107 QObject::tr (
"Low-field collector resistance under emitter")
108 +
" ("+QObject::tr (
"Ohm")+
")"));
110 QObject::tr (
"Voltage dividing ohmic and satur.region")
111 +
" ("+QObject::tr (
"V")+
")"));
113 QObject::tr (
"Punch-through voltage")
114 +
" ("+QObject::tr (
"V")+
")"));
116 QObject::tr (
"Saturation voltage")
117 +
" ("+QObject::tr (
"V")+
")"));
119 QObject::tr (
"Total zero-bias BC depletion capacitance")
120 +
" ("+QObject::tr (
"F")+
")"));
122 QObject::tr (
"BC built-in voltage")
123 +
" ("+QObject::tr (
"V")+
")"));
125 QObject::tr (
"BC exponent factor")));
127 QObject::tr (
"Punch-through voltage of BC junction")
128 +
" ("+QObject::tr (
"V")+
")"));
130 QObject::tr (
"Zero-bias external BC depletion capacitance")
131 +
" ("+QObject::tr (
"F")+
")"));
133 QObject::tr (
"External BC built-in voltage")
134 +
" ("+QObject::tr (
"V")+
")"));
136 QObject::tr (
"External BC exponent factor")));
138 QObject::tr (
"Punch-through voltage")
139 +
" ("+QObject::tr (
"V")+
")"));
141 QObject::tr (
"Split factor = Cjci0/Cjc0")));
143 QObject::tr (
"Internal base resistance at zero-bias")
144 +
" ("+QObject::tr (
"Ohm")+
")"));
146 QObject::tr (
"forward Early voltage (normalization volt.)")
147 +
" ("+QObject::tr (
"V")+
")"));
149 QObject::tr (
"forward Early voltage (normalization volt.)")
150 +
" ("+QObject::tr (
"V")+
")"));
152 QObject::tr (
"Geometry factor")));
154 QObject::tr (
"External base series resistance")
155 +
" ("+QObject::tr (
"Ohm")+
")"));
157 QObject::tr (
"Emitter series resistance")
158 +
" ("+QObject::tr (
"Ohm")+
")"));
160 QObject::tr (
"External collector series resistance")
161 +
" ("+QObject::tr (
"Ohm")+
")"));
163 QObject::tr (
"Substrate transistor transfer saturation current")
164 +
" ("+QObject::tr (
"A")+
")"));
166 QObject::tr (
"Substrate transistor transfer current non-ideality factor")));
168 QObject::tr (
"SC saturation current")
169 +
" ("+QObject::tr (
"A")+
")"));
171 QObject::tr (
"SC non-ideality factor")));
173 QObject::tr (
"Zero-bias SC depletion capacitance")
174 +
" ("+QObject::tr (
"F")+
")"));
176 QObject::tr (
"SC built-in voltage")
177 +
" ("+QObject::tr (
"V")+
")"));
179 QObject::tr (
"External SC exponent factor")));
181 QObject::tr (
"SC punch-through voltage")
182 +
" ("+QObject::tr (
"V")+
")"));
184 QObject::tr (
"Collector-base isolation (overlap) capacitance")
185 +
" ("+QObject::tr (
"F")+
")"));
187 QObject::tr (
"Emitter-base oxide capacitance")
188 +
" ("+QObject::tr (
"F")+
")"));
190 QObject::tr (
"Exponent factor")));
192 QObject::tr (
"Prefactor")));
194 QObject::tr (
"flicker noise coefficient")
195 +
" ("+QObject::tr (
"M^(1-AF)")+
")"));
197 QObject::tr (
"flicker noise exponent factor")));
199 QObject::tr (
"Bandgap-voltage")
200 +
" ("+QObject::tr (
"V")+
")"));
202 QObject::tr (
"Effective emitter bandgap-voltage")
203 +
" ("+QObject::tr (
"V")+
")"));
205 QObject::tr (
"Effective collector bandgap-voltage")
206 +
" ("+QObject::tr (
"V")+
")"));
208 QObject::tr (
"Effective substrate bandgap-voltage")
209 +
" ("+QObject::tr (
"V")+
")"));
211 QObject::tr (
"Coefficient K1 in T-dependent bandgap equation")
212 +
" ("+QObject::tr (
"V/K")+
")"));
214 QObject::tr (
"Coefficient K2 in T-dependent bandgap equation")
215 +
" ("+QObject::tr (
"V/K")+
")"));
217 QObject::tr (
"Frist-order TC of tf0")
218 +
" ("+QObject::tr (
"1/K")+
")"));
220 QObject::tr (
"Second-order TC of tf0")
221 +
" ("+QObject::tr (
"1/K^2")+
")"));
223 QObject::tr (
"Exponent coefficient in transfer current temperature dependence")));
225 QObject::tr (
"Exponent coefficient in BE junction current temperature dependence")));
227 QObject::tr (
"TC of epi-collector diffusivity")));
229 QObject::tr (
"Relative TC of satur.drift velocity")
230 +
" ("+QObject::tr (
"1/K")+
")"));
232 QObject::tr (
"Relative TC of vces")
233 +
" ("+QObject::tr (
"1/K")+
")"));
235 QObject::tr (
"TC of internal base resistance")));
237 QObject::tr (
"TC of external base resistance")));
239 QObject::tr (
"TC of external collector resistance")));
241 QObject::tr (
"TC of emitter resistances")));
243 QObject::tr (
"TC of iqf")));
245 QObject::tr (
"TC of avalanche prefactor")
246 +
" ("+QObject::tr (
"1/K")+
")"));
248 QObject::tr (
"TC of avalanche exponential factor")
249 +
" ("+QObject::tr (
"1/K")+
")"));
251 QObject::tr (
"Exponent factor for temperature dependent thermal resistance")));
253 QObject::tr (
"Flag for turning temperature dependence of tef0 on and off")));
255 QObject::tr (
"TC of Reverse Early voltage")));
257 QObject::tr (
"TC of AVER")));
259 QObject::tr (
"Bandgap difference between base and BE-junction")));
261 QObject::tr (
"Frist-order TC of iqfh")
262 +
" ("+QObject::tr (
"1/K")+
")"));
264 QObject::tr (
"Second-order TC of iqfh")
265 +
" ("+QObject::tr (
"1/K^2")+
")"));
267 QObject::tr (
"Flag for self-heating calculation")));
269 QObject::tr (
"Thermal resistance")
270 +
" ("+QObject::tr (
"K/W")+
")"));
272 QObject::tr (
"Thermal capacitance")
273 +
" ("+QObject::tr (
"Ws/K")+
")"));
275 QObject::tr (
"Temperature for which parameters are valid")
276 +
" ("+QObject::tr (
"C")+
")"));
278 QObject::tr (
"Temperature change for particular transistor")
279 +
" ("+QObject::tr (
"K")+
")"));
281 QObject::tr (
"simulation temperature")));
286 Model =
"hicumL0V1p3";
293 p->
Props.getFirst()->Value =
Props.getFirst()->Value;
300 Name = QObject::tr(
"npn HICUM L0 v1.3");
301 BitmapFile = (
char *)
"pnpsub_therm";
309 Name = QObject::tr(
"pnp HICUM L0 v1.3");
310 BitmapFile = (
char *)
"pnpsub_therm";
315 p->
Props.getFirst()->Value =
"pnp";
325 Lines.append(
new Line(-10,-15,-10, 15,QPen(QPen::darkBlue,3)));
326 Lines.append(
new Line(-30, 0,-10, 0,QPen(QPen::darkBlue,2)));
327 Lines.append(
new Line(-10, -5, 0,-15,QPen(QPen::darkBlue,2)));
328 Lines.append(
new Line( 0,-15, 0,-30,QPen(QPen::darkBlue,2)));
329 Lines.append(
new Line(-10, 5, 0, 15,QPen(QPen::darkBlue,2)));
330 Lines.append(
new Line( 0, 15, 0, 30,QPen(QPen::darkBlue,2)));
333 Lines.append(
new Line( 9, 0, 30, 0,QPen(QPen::darkBlue,2)));
334 Lines.append(
new Line( 9, -7, 9, 7,QPen(QPen::darkBlue,3)));
337 Lines.append(
new Line(-30, 20,-20, 20,QPen(QPen::darkBlue,2)));
338 Lines.append(
new Line(-20, 17,-20, 23,QPen(QPen::darkBlue,2)));
341 if(
Props.getFirst()->Value ==
"npn") {
342 Lines.append(
new Line( -6, 15, 0, 15,QPen(QPen::darkBlue,2)));
343 Lines.append(
new Line( 0, 9, 0, 15,QPen(QPen::darkBlue,2)));
345 Lines.append(
new Line( -5, 10, -5, 16,QPen(QPen::darkBlue,2)));
346 Lines.append(
new Line( -5, 10, 1, 10,QPen(QPen::darkBlue,2)));
350 Lines.append(
new Line(-30,-30,-30,-24,QPen(QPen::darkBlue,1)));
351 Lines.append(
new Line(-30,-27,-26,-27,QPen(QPen::darkBlue,1)));
352 Lines.append(
new Line(-26,-30,-26,-24,QPen(QPen::darkBlue,1)));
354 Lines.append(
new Line(-24,-30,-24,-24,QPen(QPen::darkBlue,1)));
356 Lines.append(
new Line(-22,-30,-22,-24,QPen(QPen::darkBlue,1)));
357 Lines.append(
new Line(-22,-30,-19,-30,QPen(QPen::darkBlue,1)));
358 Lines.append(
new Line(-22,-24,-19,-24,QPen(QPen::darkBlue,1)));
360 Lines.append(
new Line(-17,-30,-17,-24,QPen(QPen::darkBlue,1)));
361 Lines.append(
new Line(-14,-30,-14,-24,QPen(QPen::darkBlue,1)));
362 Lines.append(
new Line(-17,-24,-14,-24,QPen(QPen::darkBlue,1)));
364 Lines.append(
new Line(-12,-30,-12,-24,QPen(QPen::darkBlue,1)));
365 Lines.append(
new Line( -8,-30, -8,-24,QPen(QPen::darkBlue,1)));
366 Lines.append(
new Line(-12,-30,-10,-28,QPen(QPen::darkBlue,1)));
367 Lines.append(
new Line( -8,-30,-10,-28,QPen(QPen::darkBlue,1)));
383 QString
s =
"hicumL0V1p3:"+
Name;
387 s +=
" "+p1->Connection->Name;
391 if(p2->Value ==
"npn")
397 for(p2 =
Props.next(); p2 != 0; p2 =
Props.next())
398 s +=
" "+p2->Name+
"=\""+p2->Value+
"\"";