• 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. pPar not works for intiger CDF parameters

Stats

  • Locked Locked
  • Replies 17
  • Subscribers 145
  • Views 28742
  • 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

pPar not works for intiger CDF parameters

Sarvani
Sarvani over 13 years ago

 Hi all,

        Is pPar works for all CDF parameters? I need to pass intiger numbers (like no. of fingers) from top level to bottem level in schematic. But when I enter pPar(NF) through edit object properties options then it doesn't work's. How can I get this intiger values to bottom level? Let me know if any other set up is needed.

thankyou,

sarvani

  • Cancel
  • Sarvani
    Sarvani over 13 years ago

     Andrew,

                I have created a inverter which passes paramers to bottom level. Then in top level schematic I have placed two inverters which has different widths (values entered in top level symbols). When I run LVS for a layout which has both inverters. Then I got some error's in LVS error report( looks like parameter errors, nets and devices). I mean is we cann't use two inverters in TOP level with different widths?

    Thank you,

    sarvani

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

    Sarvani,

    If things are set up correctly, this should work. It's been possible to do this for many years (I was using such parameterization 20 years ago as a designer). I suggest you contact customer support so that we can look at your data to find out what's gone wrong- some PDKs don't allow parameterization because they use CDF callbacks to generate derived parameters, and those derived parameters might be used for LVS - but I can't tell that without seeing the data (personally I think this is a badly designed PDK if this is the case, but it happens).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcelpreda
    marcelpreda over 13 years ago

    Hi Sarvani,

    I think that you have to do some other basic tests:

    - first use same w everywhere without using pPar() , be sure you got LVS clean

    - when LVS is clean try to play with pPar()

     

    If the problem is still there, then it will be much easy for the others to find the problem if you can provide the "some error's in LVS"  and at least the netlist generated from schematic.

     Best Regards,

    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sarvani
    Sarvani over 13 years ago

    Hi Andrew and Marcel. I had tested for improper cell (PMOS_5V). If I change the cell to NMOS then it works good. Looks like problem is solved. Thank you for your support.

    Thank you,

    Sarvani

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mouadh ABIDI
    Mouadh ABIDI over 12 years ago

    Hi ,

     I will be grateful if someone can help me with a pcell simple issue. I have a lyout cell that instanciate a 1 parameter pcell. I want to move that parameter up in the hierarchy so that when I instanciate the cell and set the parameter, the pcell inside is updated accordingly. The same as the pPar("variable") in schematic.

    Many thanks,

    Mouadh

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 12 years ago

    Hi Mouadh,

    I'm assuming that the topmost PCell is a SKILL PCell?  When you instantiate the lower level PCell in the code you supply the parameter to that cell - the name of the parameter can be the same as the lower level cell, or entirely different, it's up to you.  So in your call to dbCreateParamInst or dbCreateParamInstByMasterName, you use that parameter in the list of parameters supplied to the instance you are creating, something like this:

    dbCreateParamInstByMasterName(pcCellView "basic" "nand" "symbol" "inst1" 
    list(0 0) "R0" 1 list(list("area" "float" myTopLevelAreaParam)) t )
    

    In this case the lower level parameter is named "area" and the top level parameter is "myTopLevelAreaParam".  Hopefully this answers the question?

    regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 12 years ago

    Hi Mouadh,

    Sorry, my example was mostly copied from the docs and shows a "float" parameter rather than integer, but hopefully you get the idea? You can even make the top-level parameter a string (often more flexible to have parameters as strings) and then used something like cdfParseFloatString() in the lower-level instance, or pcRound(cdfParseFloatString(myTopLevelAreaParam)), for example.

    Hope this helps.

    Lawrence.

    • 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