|
Magic Mailing List |
|
From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu) Date: Wed May 14 2003 - 11:36:04 EDT
Dear Anand,
> Has anyone else out there using 7.1 noticed this over-estimation
> of the PS/PD numbers for the NMOS device ?
I tracked this error down to a single inequality. There's an "if"
statement added somewhere between 6.5.1 and 7.1 which is supposed to
check against an "unset" resistance class value (-1). However, it
was written "s > 0" instead of "s >= 0", so it misses resistance class
zero, which happens to be ndiffusion. Consequently, it records
ndiffusion as being in a different resistance class than itself (!),
so all tile edges get counted, not just tile edges between ndiff and
other non-electrically-connected types.
Strange that this should have gone unnoticed for so long. I've been
looking at transistor areas and perimeters and didn't bother to check
node areas and perimeters. . .
The fix is to change
if( s > 0 ) {
to
if( s >= 0 ) {
which is file ExtTech.c, and is line 1587 in magic-7.2.38, and line
1050 in magic-7.1. I will update both distributions to correct the
error.
Thank you for pointing out this (rather bad) error.
Regards,
Tim
|
|
|
|