copy and changing properties

Discussion in 'Cadence' started by SS, Feb 22, 2006.

  1. SS

    SS Guest

    I am converting designs from one pdk to another. I copied the
    properties from old symbols to the new symbols in the cellview. However
    there are few differences in some properties such as length width and
    multiplier. I want to change them selectively. How do I do that.

    Thanks,
    Sriram
     
    SS, Feb 22, 2006
    #1
  2. SS

    tstengerster Guest

    Below is some code I put together when I needed to convert 100+
    schematics. This is just a subpart on how I handled getting the old
    properties and then converting to the new ones. I would loop through
    each instance on the schematic, based on type (cap, res, fet) I would
    execute a sub procedure. The cap one is below. I would take all the
    properties I wanted off the old symbol, sub it for the new symbol, and
    then reset the properties accordingly. I am still trying to learn
    skill and all the built in functions, so there might be a better
    solution but perhaps this will help.

    Tamara


    procedure(TSSConvertCap(cellName inst objId)
    ; capture existing props
    point=inst~>xy
    foreach(prop cdfGetInstCDF(inst)~>parameters
    propName=prop~>name
    case( propName
    ("c" c=prop~>value)
    ("m" m=prop~>value)
    ) ; end case propName
    ) ; end foreach prop
    ; change the inst
    masterid=dbOpenCellViewByType("techlibName" "newPdkCap" "symbol" ""
    "r")
    dbSetq(inst masterid master)
    ; new PDK cannot handle the value. Make a visable label so the
    desiger knows
    ; that the value did not convert over and then they can make necessary
    changes
    if( (evalstring(c)>951.6e-15) then
    schCreateNoteLabel(objId car(point):car(cdr(point)) "Old PDK C
    value too high \nsetting to New Pdk Max" "centerCenter" "R0" "stick"
    0.0625 "normalLabel")
    ) ; end if evalstring
    geDeselectAllFig(objId)
    geSelectFig(inst)
    ; taking advantage of the CDF callbacks so any other values out of
    range
    ; will show up in the CIW and I can modify code as needed
    ; though to enable callbacks, values are set to a temp value
    ; and then to the final value
    schHiObjectProperty()
    schObjPropForm->calcParam->value = "C"
    schObjPropForm->c->value="123f"
    schObjPropForm->c->value=c
    schObjPropForm->m->value="123"
    schObjPropForm->m->value=m
    hiFormApply(schObjPropForm)
    hiFormCancel(schObjPropForm)
    geDeselectFig(inst)
    ) ; end proc TSSConvertMim
     
    tstengerster, Feb 22, 2006
    #2
  3. SS

    SS Guest

    Thanks Tamara,

    Sriram
     
    SS, Feb 23, 2006
    #3
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.