Tracked down an obscure error that was causing a property
mismatch in the SkyWater sky130_fd_io__top_pwrdetv2 circuit because a resistor with ends shorted together was being assigned an incorrect length and width. This was due to the similarity in characteristics of the boundary vector between a shorted resistor and an annular resistor. The terminals need to be checked for shorted ends to disambiguate the two cases.
This commit is contained in:
parent
22c22228b3
commit
1fdca3a57a
|
|
@ -2549,8 +2549,17 @@ extOutputDevices(def, transList, outFile)
|
||||||
/* Mark annular resistors as requiring extra processing */
|
/* Mark annular resistors as requiring extra processing */
|
||||||
if (extTransRec.tr_termvector[n].p_x == 0 &&
|
if (extTransRec.tr_termvector[n].p_x == 0 &&
|
||||||
extTransRec.tr_termvector[n].p_y == 0)
|
extTransRec.tr_termvector[n].p_y == 0)
|
||||||
|
{
|
||||||
|
/* Update: 11/14/2024: A snake resistor with terminals
|
||||||
|
* tied together also has a zero termvector and should
|
||||||
|
* not be treated as annular!
|
||||||
|
*/
|
||||||
|
if ((n == 0) || (extTransRec.tr_termnode[n] !=
|
||||||
|
extTransRec.tr_termnode[n - 1]))
|
||||||
isAnnular = TRUE;
|
isAnnular = TRUE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
width = length = 0;
|
width = length = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue