;================================================================================ ; Robert Johnstone ; Simon Fraser University ; ; Copyright 2000,2002 Robert W. Johnstone ;-------------------------------------------------------------------------------- ; 2002/02/25 ; - fixed variable bug ; 2000/10/07 ; - creation date unless( boundp( 'admLibraryName ) warn( "Setting the destination library to default value of ADM" ) admLibraryName = "ADM" ) pcDefinePCell( list( ddGetObj(admLibraryName) "guckel_ring_2" "layout" ) ; end of list for first argument ( ( radius 20.0 ) ( width 0.0 ) ( beam 0.0 ) ( anchor 0.0 ) ( include_poly0 t ) ) ; end of parameter list prog( let( pcTechFile p0p_enclosure p_nomSpacing p_nomWidth pa_enclosure a_nomWidth tmp x1 x2 y1 y2 player alayer ) ; initialize layers player = "POLY2" alayer = "ANCHOR2" ; load tech file rules pcTechFile = techGetTechFile( pcCellView ) p0p_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" "POLY0" player ) if( (p0p_enclosure==nil) then warn( strcat( "minEnclosure rule for POLY0->" player " not set" ) ) ) p_nomSpacing = techGetSpacingRule( pcTechFile "nomSpacing" player ) if( (p_nomSpacing==nil) then warn("nomSpacing rule for " + player + " not set") ) p_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" player ) if( (p_nomWidth==nil) then warn("nomWidth rule for " + player + " not set") ) pa_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" player alayer ) if( (pa_enclosure==nil) then warn("minEnclosure rule for " + player + "->" + alayer + " not set.") ) a_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" alayer ) if( (a_nomWidth==nil) then warn("nomWidth rule for " + alayer + " not set") ) ; check parameters width = if( (width