;================================================================================ ; Robert Johnstone ; Simon Fraser University ; ; Copyright 2000,2002 Robert W. Johnstone ;-------------------------------------------------------------------------------- ; 2002/06/03 ; - modified code because interface to dbCreateRoundRect changed ; 2002/02/24 ; - fixed bugs in variable declaration ; 2000/07/01 ; - creation date unless( boundp( 'admLibraryName ) warn( "Setting the destination library to default value of ADM" ) admLibraryName = "ADM" ) pcDefinePCell( list( ddGetObj(admLibraryName) "pad_substrate" "layout" ) ; end of list for first argument ( ( width 100.0 ) ( height 100.0 ) ( chamfer 0.0 ) ) ; end of parameter list prog( let( pcTechFile pcNet pcMetal rodObj p2m_enclosure p2v_enclosure v_nomWidth m_nomWidth w h ) ; load tech file rules pcTechFile = techGetTechFile( pcCellView ) p2m_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" "POLY2" "METAL" ) if( (p2m_enclosure==nil) then warn("minEnclosure rule for POLY2->METAL not set") ) p2v_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" "POLY2" "P1P2VIA" ) if( (p2v_enclosure==nil) then warn("minEnclosure rule for POLY2->P1P2VIA not set") ) v_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" "P1P2VIA" ) if( (v_nomWidth==nil) then warn("nomWidth rule for P1P2VIA not set") ) m_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" "METAL" ) if( (m_nomWidth==nil) then warn("nomWidth rule for METAL not set") ) ; check parameters width = if( (widthparamVal + 2*SPCInfo->increment ) ) rodAssignHandleToParameter( ?parameter "height" ?rodObj rodObj ?handleName list( "lowerCenter" "upperCenter" ) ?displayName "height" ?stretchDir "y" ?userFunction lambda( (SPCInfo) SPCInfo->paramVal + 2*SPCInfo->increment ) ) ; Create the instNamePrefix property dbReplaceProp( pcCellView "instNamePrefix" "string" "pad" ) ; set version string dbReplaceProp( pcCellView "version" "string" "1.1.2" ) ; body SKILL code returns value return(t) ) ; end of body-of-SKILL-code prog ) ; ; end of pcDefinePCell