Quantcast
Channel: Jason Andrews Blog
Viewing all articles
Browse latest Browse all 33813

RE: Automatically placement of PINS on NETS

$
0
0
Try the next code: procedure(MovePinsToInstances() let( (term pin net childTerm pinFigLocation location instTerm pinFig) cv=geGetWindowCellView() foreach(term cv~>terminals ; iterate over all the pins for this terminal foreach(pin term~>pins pinFig=pin~>fig net=term~>net ; only do this if there aren't more than one inst term ;unless(cdr(net~>instTerms) instTerm=car(net~>instTerms) childTerm=instTerm~>term childPinFig=car(instTerm~>term~>pins)~>fig ; location within the instance master location=centerBox(childPinFig~>bBox) ; transform to the top level coordinate system location=dbTransformPoint(location instTerm~>inst~>transform) pinFigLocation=centerBox(pinFig~>bBox) ; calculate the overall transform to move the pin to the new location ;transform=dbConcatTransform(list(-xCoord(pinFigLocation):-yCoord(pinFigLocation) "R0" 1) location) transform=dbConcatTransform(list(-xCoord(pinFigLocation):-yCoord(pinFigLocation) "R0" 1) list(xCoord(location):yCoord(location) "R0" 1)) dbMoveFig(pinFig cv transform) ; ) ) ) ) ; let ) Danny

Viewing all articles
Browse latest Browse all 33813

Trending Articles