• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. A question regarding CCSchangeCells.il ?

Stats

  • Locked Locked
  • Replies 18
  • Subscribers 145
  • Views 24339
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

A question regarding CCSchangeCells.il ?

IC Layout
IC Layout over 16 years ago

 Hai! I found a code which will change cells from one lib/view to another.. in cadence sourcelink ...

I am using cadence IC6X version.. and a IBM(90nm) PDK kit ..

The code is working fine when I tried to convert cells from 'analogLib' to  'gpdk090'..

But when I tried this code in changing cells from 'analogLib' to  'IBM' models it's not happening..

I thought this is because of the following reason.. the IBM PDK kit defines the following params for w(width), l(length), m(multiplier) as

wf(string type),(wff float type), lf(string type), (lfffloat type) and  mpl(int type)...

The params w, l, and m assigned as user defined params after running the code..

I tried to assign the w, l, and m values to the wf, lf and mpl ... the form displaying the values correctly(in schematic).. but when I attempt generate from source it is picking the transistors of default values but the form values remains unchanged.. (in the layout)..

I hope the problem is understandable.... If not I will provide some more information...

Can please some one guide me to achieve this............

Prabhakar. K -- Layout Engineer 

  • Cancel
  • MariaODL
    MariaODL over 11 years ago

    Hello All,

    I am having some problems running these scripts.

    I am using CADENCE 5.41 with a UMC PDK kit and I want to use these scripts to change from one lib/view  to another.

    Here is the conv.config file that I am using

    (
      (nil
       fromLib   "UMC_18_CMOS"
       fromCell  "N_33_MM"
       toLib     "umc162ehv"
       toCell    "N_5V"
       CCSinvokeCdfCallbacks(cvId ?callInitProc t ?useInstCDF t)
       params (
               ("w" "w")
               ("l" "l" )     
               ("m" "m" )
               ("Nf" "fingers")
               )
       ) 
    )

    The transistos l and w change correctly but the number of fingers, width of fingers... are not correctly change.

    Can someone help me with this issue?

    Am I doing something wrong here?

     


     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MariaODL
    MariaODL over 11 years ago

    I forgot to mention that I have tried also with this option:

    abInvokeCdfCallbacks(cv ?callInitProc t ?useInstCDF t ?order list("w" "l" "fingers"))

    ans some others that I have founf on your posts but it still does work properly.

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

     Your config file is wrong. It should be:

    (
      (nil
       fromLib   "UMC_18_CMOS"
       fromCell  "N_33_MM"
       toLib     "umc162ehv"
       toCell    "N_5V"
       runCallbacks (?callInitProc t ?useInstCDF t)
       params (
               ("w" "w")
               ("l" "l" )     
               ("m" "m" )
               ("Nf" "fingers")
               )
       ) 
    )

    You can't just stick arbitrary function calls in there - the runCallbacks is a keyword to tell it to run abInvokeCdfCallbacks - and by specifying a list of arguments, it will call it with those arguments.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MariaODL
    MariaODL over 11 years ago

    Thank you very much Andrew, now it is working fine and I can put all the different parameters that I have to translate from one technology to the other.

    My idea is to do the same thing with the layout. I tried to use this script but it is not working. This scripts can only be use for schematics??

    Is there any easy way to do layout translations from one technology to another?

    Thanks a lot,

    Maria

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Hi Maria,

    I think it should work with layouts (from a look at the code - I didn't actually try it). You'd have to call:

    abConvertComponentParams("/the/path/to/config.file" geGetEditCellView() nil)

    That last nil is important - otherwise it would try to do a "check" on the view at the end (and that's a schematic check). Apart from that, nothing jumped out at me as being a problem for layout.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MariaODL
    MariaODL over 11 years ago

     Hi Andrew,

    I tried to use it also with the the command (geGetEditCellView()) at the end like you said but in both ways it gives me a nil on the ciw and doesn´t do it. It doesn´t give me any error this is way I am not sure what the problem is.

     Do you know what the problem can be?

    Best regards,

    Maria

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Maria,

    You will need to set fromView and toView in the config file to be "layout". Otherwise it defaults to "symbol" and consequently it will try to convert all the symbols in your layout - of which there will be none!

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MariaODL
    MariaODL over 11 years ago

    Hello Andrew,

    It worlked!! The components in the layout now are from the other technology. The only problem is that the place were it puts them is different. I think that there is a problem with the origin or the coordinates.

    I will try to see how can I solve this,

    Thanks again,

    Maria

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
<

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information