MAGIC Magic Mailing List
 
 

From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu)
Date: Wed May 14 2003 - 11:36:04 EDT

  • Next message: Stefan Robert: "multiple definition errors"

    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
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo