Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all articles
Browse latest Browse all 5066

rodFillWithRects not giving any output rectangles

$
0
0

Hi,

In the past, I have used rodFillWithRects many times inside code for p-cells. This time I want to use it just as part of a bit of code to be run from the CIW to generate some rectangles in a given area (polygon). However, this time it fails on me. This is the code:

INDDMYShape = car( setof( shape cvIdWithFill~>shapes equal( shape~>lpp list( "INDDMY" "drawing" ) ) ) )
when( INDDMYShape
    printf( "INDDMYShape: %L\n" INDDMYShape )
    ;fillM1 = list( nil )
    tempId = dbCreatePolygon( cvIdWithFill list( "text" "drawing" ) INDDMYShape~>points )
    printf( "tempId: %L\n" tempId )
    valid = rodFillWithRects(    ?shapeId        tempId
                    ?fillShapeLPP        list( "M2" "drawing" )
                    ?fillShapeWidth        0.25
                    ?fillShapeLength    0.25
                    ?justification        "centerCenter"
                    ?spaceX            0.50
                    ?spaceY            0.50
                    ?enclosureX        0.50
                    ?enclosureY        0.50
                    ;?outputFillShape     fillM1
                )
    printf( "valid: %L\n" valid )
) ;;; end of when

This is printed in the CIW:

INDDMYShape: db:0x5dd8fb1a
tempId: db:0x5dd8fb42
valid: t

The shape INDDMYShape is a polygon, and at first I tried to use this shape as the input shape for rodFillWithRects, but this failed.

Then I thought: maybe I need ot add a new shape and use that, so i created tempId. Still no luck.

Then I decided to have a look at the output of rodFillWithRects, and assign that to variable "valid". As you can see, valid is "t" thus the filling should have worked, but clearly didn't.

I also tried using an "outputFillShape", but that didn't do the trick either.

The only reason I have a "when()" statement around this bit of code is to be able to "see" that my original shape (INDDMYShape) was not "nil". No other reason.

As i said, I used it in pcell code, and it works just fine. Is that a limitation of rod objects: they can only be used inside a pcell?

If so, what other procedure can I use to fill a certain are with small rectangles?

Any help is greatly appreciated.

Thanks in advance.

With kind regards,

Sjoerd


Viewing all articles
Browse latest Browse all 5066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>