yrrapt
10/03/2020, 12:06 PM.temp 27
) and the parameter (.param temp 27
) and still see no temperature effect on those suffix devices.
So my hunch was wrong and it must be something else happening.Tim Edwards
10/03/2020, 1:23 PMtc1
and tc2
defined; e.g., sky130_fd_pr__res_high_po_0p35.model.spice
has .model resbody r tc1 = {tc1rpolybody} tc2 = {tc2rpolybody} tnum = 30.0
and sky130_fd_pr__model__r+c.model.spice
has tc1rpolybody = 0.514E-3
and tc2rpolybody = 0.122E-5
. Are you getting any warnings out of ngspice?yrrapt
10/03/2020, 2:40 PM** Simplified test
.param temp=27
Rnov 0 r_nov 0 resbody r = {10e3}
Rv 0 r_v 0 resbody r = {10e3*(1 + v(0,r_v)*1e-6)}
.model resbody r tc1=1e-3 tc2=1e-6 tnom = 30.0
VRnov 0 r_nov dc 1
VRv 0 r_v dc 1
.control
dc temp -40 120 10
plot 1/i(VRnov) 1/i(VRv)
.endc
.end
When the resistor value includes a voltage measurement the temperature coefficients don't have any effect. The no suffix model uses a different resistor model which is based on physical dimensions (w, l, sheet resistance) which is why it's not affected.
So it seems to me that either the temperature coefficient needs to be added algebraically to the resistor value expression and not count on setting separate tc's and/or ngspice probably needs to be changed to avoid this behaviourPatrick Van Oosterwijck
10/04/2020, 4:47 AM