PCELL rodAssignHandleToParameter

Discussion in 'Cadence' started by Arnold, Apr 1, 2004.

  1. Arnold

    Arnold Guest

    Hi,

    I write this code to draw a bus. Now I want to make it stretchable,
    but I don´t know exact how to do this. I reach to strech the width but
    not that I can change/stretch the coords for the path.
    Can someone help me please ?


    pcDefinePCell(list(ddGetObj("work_ae") "bus" "layout")
    (
    (w float 1.6)
    (layer string "metal1")
    (coords ILList '((0.0 0.0) (0.0 1.0)) "path" "diagonal")
    (busnr int 2)
    (layerSpace float 0.7)

    )

    let((bus busPath)

    bus=cdr(list(() list(
    ?layer layer
    ?justification "right"
    ?sep layerSpace
    ?width w
    )))
    layerSpace=w+2*layerSpace
    for(i 3 busnr
    bus=append1(bus list(
    ?layer layer
    ?justification "right"
    ?sep layerSpace
    ?width w
    )
    )
    layerSpace=layerSpace+w+0.7
    )
    busPath=rodCreatePath(
    ?name "bus"
    ?layer layer
    ?pts coords
    ?width w
    ?justification "center"
    ?offsetSubPath bus

    );end rodPath

    rodAssignHandleToParameter(

    ??? ??? ??? ??? ??? ???


    );end rodAssing
    );end let
    );end pcDefinePCell

    CU and THX

    Arnold
     
    Arnold, Apr 1, 2004
    #1
  2. Arnold

    S. Badel Guest

    I would suggest, instead of using a pcell, that you create a ROD path
    with rodCreatePath(). This allows you to create multiple paths positioned
    relative to one another (hence the name Relative Object Design). The
    benifit is that your path will inherit all actions possibles of a normal
    path,
    ie sizing, stretching, splitting, reshaping, ...

    There is one major drawback however that I couldn't manage to fix with
    such an implementation : properties won't be editable dynamically. I mean
    that it is not possible to have properties on your object that will cause a
    routine to be called to recreate the object and reflect changes like for
    a pcell. If anyone has an idea how to implement pcell-like properties
    on a rod object i'll be greatly interested.

    as for your question i don't know the answer, but i suggest you create
    a pcell with the pcell editor, assigning stretch handles to it, the compile
    it to skill code and have a look at it. That will provide you with a working
    example.

    stéphane
     
    S. Badel, Apr 5, 2004
    #2
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.