16 Description = QObject::tr (
"HICUM Level 0 v1.12 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 (
"forward d.c. high-injection roll-off current")
32 +
" ("+QObject::tr (
"A")+
")"));
34 QObject::tr (
"inverse d.c. high-injection roll-off current")
35 +
" ("+QObject::tr (
"A")+
")"));
37 QObject::tr (
"high-injection correction current")
38 +
" ("+QObject::tr (
"A")+
")"));
40 QObject::tr (
"high-injection correction factor")));
42 QObject::tr (
"BE saturation current")
43 +
" ("+QObject::tr (
"A")+
")"));
45 QObject::tr (
"BE non-ideality factor")));
47 QObject::tr (
"BE recombination saturation current")
48 +
" ("+QObject::tr (
"A")+
")"));
50 QObject::tr (
"BE recombination non-ideality factor")));
52 QObject::tr (
"BC saturation current")
53 +
" ("+QObject::tr (
"A")+
")"));
55 QObject::tr (
"BC non-ideality factor")));
57 QObject::tr (
"Zero-bias BE depletion capacitance")
58 +
" ("+QObject::tr (
"F")+
")"));
60 QObject::tr (
"BE built-in voltage")
61 +
" ("+QObject::tr (
"V")+
")"));
63 QObject::tr (
"BE exponent factor")));
65 QObject::tr (
"Ratio of maximum to zero-bias value")));
67 QObject::tr (
"low current transit time at Vbici=0")
68 +
" ("+QObject::tr (
"s")+
")"));
70 QObject::tr (
"Base width modulation contribution")
71 +
" ("+QObject::tr (
"s")+
")"));
73 QObject::tr (
"SCR width modulation contribution")
74 +
" ("+QObject::tr (
"s")+
")"));
76 QObject::tr (
"Storage time in neutral emitter")
77 +
" ("+QObject::tr (
"s")+
")"));
79 QObject::tr (
"Exponent factor for emitter transit time")));
81 QObject::tr (
"Saturation time at high current densities")
82 +
" ("+QObject::tr (
"s")+
")"));
84 QObject::tr (
"Smoothing factor for current dependence")));
86 QObject::tr (
"Storage time at inverse operation")
87 +
" ("+QObject::tr (
"s")+
")"));
89 QObject::tr (
"Low-field collector resistance under emitter")
90 +
" ("+QObject::tr (
"Ohm")+
")"));
92 QObject::tr (
"Voltage dividing ohmic and satur.region")
93 +
" ("+QObject::tr (
"V")+
")"));
95 QObject::tr (
"Punch-through voltage")
96 +
" ("+QObject::tr (
"V")+
")"));
98 QObject::tr (
"Saturation voltage")
99 +
" ("+QObject::tr (
"V")+
")"));
101 QObject::tr (
"Total zero-bias BC depletion capacitance")
102 +
" ("+QObject::tr (
"F")+
")"));
104 QObject::tr (
"BC built-in voltage")
105 +
" ("+QObject::tr (
"V")+
")"));
107 QObject::tr (
"BC exponent factor")));
109 QObject::tr (
"Punch-through voltage of BC junction")
110 +
" ("+QObject::tr (
"V")+
")"));
112 QObject::tr (
"Zero-bias external BC depletion capacitance")
113 +
" ("+QObject::tr (
"F")+
")"));
115 QObject::tr (
"External BC built-in voltage")
116 +
" ("+QObject::tr (
"V")+
")"));
118 QObject::tr (
"External BC exponent factor")));
120 QObject::tr (
"Punch-through voltage")
121 +
" ("+QObject::tr (
"V")+
")"));
123 QObject::tr (
"Split factor = Cjci0/Cjc0")));
125 QObject::tr (
"Internal base resistance at zero-bias")
126 +
" ("+QObject::tr (
"Ohm")+
")"));
128 QObject::tr (
"forward Early voltage (normalization volt.)")
129 +
" ("+QObject::tr (
"V")+
")"));
131 QObject::tr (
"forward Early voltage (normalization volt.)")
132 +
" ("+QObject::tr (
"V")+
")"));
134 QObject::tr (
"Geometry factor")));
136 QObject::tr (
"External base series resistance")
137 +
" ("+QObject::tr (
"Ohm")+
")"));
139 QObject::tr (
"Emitter series resistance")
140 +
" ("+QObject::tr (
"Ohm")+
")"));
142 QObject::tr (
"External collector series resistance")
143 +
" ("+QObject::tr (
"Ohm")+
")"));
145 QObject::tr (
"Substrate transistor transfer saturation current")
146 +
" ("+QObject::tr (
"A")+
")"));
148 QObject::tr (
"Substrate transistor transfer current non-ideality factor")));
150 QObject::tr (
"SC saturation current")
151 +
" ("+QObject::tr (
"A")+
")"));
153 QObject::tr (
"SC non-ideality factor")));
155 QObject::tr (
"Zero-bias SC depletion capacitance")
156 +
" ("+QObject::tr (
"F")+
")"));
158 QObject::tr (
"SC built-in voltage")
159 +
" ("+QObject::tr (
"V")+
")"));
161 QObject::tr (
"External SC exponent factor")));
163 QObject::tr (
"SC punch-through voltage")
164 +
" ("+QObject::tr (
"V")+
")"));
166 QObject::tr (
"Collector-base isolation (overlap) capacitance")
167 +
" ("+QObject::tr (
"F")+
")"));
169 QObject::tr (
"Emitter-base oxide capacitance")
170 +
" ("+QObject::tr (
"F")+
")"));
172 QObject::tr (
"Exponent factor")));
174 QObject::tr (
"Prefactor")));
176 QObject::tr (
"flicker noise coefficient")
177 +
" ("+QObject::tr (
"M^(1-AF)")+
")"));
179 QObject::tr (
"flicker noise exponent factor")));
181 QObject::tr (
"Bandgap-voltage")
182 +
" ("+QObject::tr (
"V")+
")"));
184 QObject::tr (
"Effective emitter bandgap-voltage")
185 +
" ("+QObject::tr (
"V")+
")"));
187 QObject::tr (
"Effective collector bandgap-voltage")
188 +
" ("+QObject::tr (
"V")+
")"));
190 QObject::tr (
"Effective substrate bandgap-voltage")
191 +
" ("+QObject::tr (
"V")+
")"));
193 QObject::tr (
"Coefficient K1 in T-dependent bandgap equation")
194 +
" ("+QObject::tr (
"V/K")+
")"));
196 QObject::tr (
"Coefficient K2 in T-dependent bandgap equation")
197 +
" ("+QObject::tr (
"V/K")+
")"));
199 QObject::tr (
"Frist-order TC of tf0")
200 +
" ("+QObject::tr (
"1/K")+
")"));
202 QObject::tr (
"Second-order TC of tf0")
203 +
" ("+QObject::tr (
"1/K^2")+
")"));
205 QObject::tr (
"Exponent coefficient in transfer current temperature dependence")));
207 QObject::tr (
"Exponent coefficient in BE junction current temperature dependence")));
209 QObject::tr (
"TC of epi-collector diffusivity")));
211 QObject::tr (
"Relative TC of satur.drift velocity")
212 +
" ("+QObject::tr (
"1/K")+
")"));
214 QObject::tr (
"Relative TC of vces")
215 +
" ("+QObject::tr (
"1/K")+
")"));
217 QObject::tr (
"TC of internal base resistance")));
219 QObject::tr (
"TC of external base resistance")));
221 QObject::tr (
"TC of external collector resistance")));
223 QObject::tr (
"TC of emitter resistances")));
225 QObject::tr (
"TC of avalanche prefactor")
226 +
" ("+QObject::tr (
"1/K")+
")"));
228 QObject::tr (
"TC of avalanche exponential factor")
229 +
" ("+QObject::tr (
"1/K")+
")"));
231 QObject::tr (
"Flag for self-heating calculation")));
233 QObject::tr (
"Thermal resistance")
234 +
" ("+QObject::tr (
"K/W")+
")"));
236 QObject::tr (
"Thermal capacitance")
237 +
" ("+QObject::tr (
"Ws/K")+
")"));
239 QObject::tr (
"Temperature for which parameters are valid")
240 +
" ("+QObject::tr (
"C")+
")"));
242 QObject::tr (
"Temperature change for particular transistor")
243 +
" ("+QObject::tr (
"K")+
")"));
245 QObject::tr (
"simulation temperature")));
257 p->
Props.getFirst()->Value =
Props.getFirst()->Value;
264 Name = QObject::tr(
"npn HICUM L0 v1.12");
265 BitmapFile = (
char *)
"npnsub_therm";
273 Name = QObject::tr(
"pnp HICUM L0 v1.12");
274 BitmapFile = (
char *)
"pnpsub_therm";
279 p->
Props.getFirst()->Value =
"pnp";
289 Lines.append(
new Line(-10,-15,-10, 15,QPen(QPen::darkBlue,3)));
290 Lines.append(
new Line(-30, 0,-10, 0,QPen(QPen::darkBlue,2)));
291 Lines.append(
new Line(-10, -5, 0,-15,QPen(QPen::darkBlue,2)));
292 Lines.append(
new Line( 0,-15, 0,-30,QPen(QPen::darkBlue,2)));
293 Lines.append(
new Line(-10, 5, 0, 15,QPen(QPen::darkBlue,2)));
294 Lines.append(
new Line( 0, 15, 0, 30,QPen(QPen::darkBlue,2)));
297 Lines.append(
new Line( 9, 0, 30, 0,QPen(QPen::darkBlue,2)));
298 Lines.append(
new Line( 9, -7, 9, 7,QPen(QPen::darkBlue,3)));
301 Lines.append(
new Line(-30, 20,-20, 20,QPen(QPen::darkBlue,2)));
302 Lines.append(
new Line(-20, 17,-20, 23,QPen(QPen::darkBlue,2)));
305 if(
Props.getFirst()->Value ==
"npn") {
306 Lines.append(
new Line( -6, 15, 0, 15,QPen(QPen::darkBlue,2)));
307 Lines.append(
new Line( 0, 9, 0, 15,QPen(QPen::darkBlue,2)));
309 Lines.append(
new Line( -5, 10, -5, 16,QPen(QPen::darkBlue,2)));
310 Lines.append(
new Line( -5, 10, 1, 10,QPen(QPen::darkBlue,2)));
314 Lines.append(
new Line(-30,-30,-30,-24,QPen(QPen::darkBlue,1)));
315 Lines.append(
new Line(-30,-27,-26,-27,QPen(QPen::darkBlue,1)));
316 Lines.append(
new Line(-26,-30,-26,-24,QPen(QPen::darkBlue,1)));
318 Lines.append(
new Line(-24,-30,-24,-24,QPen(QPen::darkBlue,1)));
320 Lines.append(
new Line(-22,-30,-22,-24,QPen(QPen::darkBlue,1)));
321 Lines.append(
new Line(-22,-30,-19,-30,QPen(QPen::darkBlue,1)));
322 Lines.append(
new Line(-22,-24,-19,-24,QPen(QPen::darkBlue,1)));
324 Lines.append(
new Line(-17,-30,-17,-24,QPen(QPen::darkBlue,1)));
325 Lines.append(
new Line(-14,-30,-14,-24,QPen(QPen::darkBlue,1)));
326 Lines.append(
new Line(-17,-24,-14,-24,QPen(QPen::darkBlue,1)));
328 Lines.append(
new Line(-12,-30,-12,-24,QPen(QPen::darkBlue,1)));
329 Lines.append(
new Line( -8,-30, -8,-24,QPen(QPen::darkBlue,1)));
330 Lines.append(
new Line(-12,-30,-10,-28,QPen(QPen::darkBlue,1)));
331 Lines.append(
new Line( -8,-30,-10,-28,QPen(QPen::darkBlue,1)));
347 QString
s =
"hic0_full:"+
Name;
351 s +=
" "+p1->Connection->Name;
355 if(p2->Value ==
"npn")
361 for(p2 =
Props.next(); p2 != 0; p2 =
Props.next())
362 s +=
" "+p2->Name+
"=\""+p2->Value+
"\"";