Cdf and pcell. Init value and default value

Discussion in 'Cadence' started by bu-bu, Oct 27, 2008.

  1. bu-bu

    bu-bu Guest

    Hello All,

    I have a small question regarding CDF initialization.
    I use CDF to have a nice interface for my pcell.

    One of my parameter is described like:

    cdfCreateParam( cdfId
    ?name "MyVar"
    ?prompt "My Variable description"
    ?defValue MyVarInit
    ?type "float"
    ?display "t"
    ?editable "t"

    )

    MyVarInit is setup in another file as MyVarInit = 2

    In my pcell, i have:


    x1 = -MyVar
    y1 = -foo
    x2 = MyVar
    y2 = foo
    dbCreateRect(... )

    For MyVar >= MyVarInit, my pcell is ok, the rectangle is create as i
    need.
    if MyVar < MyVarInit, (for example MyVar = 0.5 ) the rectangle is not
    created with the good values!

    I don't really understand why.

    could you explain me why i can not enter a value lower than the
    defvalue please ? I would like to setup the default value for a
    transistor as 2 for example, but of course, i need sometimes to have
    lowest values...

    Of course, i can setup the value to the minimum, and then user will
    update himself, but it's not my aim!
    (because value = 2 cover 90% of cases, and another value will cover
    the missing 10%)

    Please help me.

    thanks and regards ,

    bu.
     
    bu-bu, Oct 27, 2008
    #1
    1. Advertisements

  2. bu-bu

    Riad KACED Guest

    Hi Bubu,

    I don't understand any reason why you couldn't do this indeed. It's
    very common to set up default values on Pcells which are bigger than
    the minimum allowed by the process.
    I don't see any reason that prevent you from doing this, execpt a
    callback or something else you have set up in your code. I'm pretty
    much sure there something wrong hidden in your code.
    I have posted an example of Pcell + Cdf a little while back:
    http://groups.google.com/group/comp...read/thread/4791011ed9a6ff40/1d12829648321907
    The def Values for W,L are respectively 2u,5u. If you instantiate the
    Pcell with w=1u and l=2u, then there is nothing that would not let you
    doing this. This would work as long as the dbCreateRect could draw the
    rectangle.

    Are there any details I might ignore and that make your problem
    clearer for me ?

    Best Regards,
    Riad.
     
    Riad KACED, Oct 29, 2008
    #2
    1. Advertisements

  3. bu-bu

    bu-bu Guest

    Hello Riad,

    Thanks a lot for your answer.
    actually, i just realized that i have the following error message:

    *Error* eval: undefined function - cdfCreateBaseCellCDF

    Maybe it's the root of my problem ?

    My code is like this :


    ;; CDF starts here

    LIBRARY = "MyLib"
    CELL = "MyCell"


    let( ( libId cellId cdfId )
    unless( cellId = ddGetObj( LIBRARY CELL )
    error( "Could not get cell %s." CELL )
    ) ;; unless

    when( cdfId = cdfGetBaseCellCDF( cellId )
    cdfDeleteCDF( cdfId )
    ) ;; when

    cdfId = cdfCreateBaseCellCDF( cellId )

    ;; definition of parameters
    cdfCreateParam( cdfId...


    This pcell works fine in techno A, but not with another techno. So i
    think my problem is linked to some Cadence setup (maybe some paths are
    missing ?) I don't how to setup Cadence actually !

    thanks a lot for your help.

    regards,

    bu.
     
    bu-bu, Oct 30, 2008
    #3
  4. bu-bu

    Riad KACED Guest

    Hi Bubu,

    There is something definitely wrong with your cadence setup.
    the cdfCreateBaseCellCDF is a built-in cadence that comes with the
    cdf.cxt context file of the top of my head ...
    The context file should be in your
    $CDSHOME/tools.lnx86/dfII/etc/context/64bit/
    $CDSHOME/tools.lnx86/dfII/etc/context/
    Linux assumed in here.

    Can you please do this check.
    fire up a fresh icfb and type in the following in your CIW straight
    away:
    cdfDump("analogLib" "/tmp/vsin.cdf" ?cellName "vsin")

    This should come with a message saying loading cdf.cxt.

    Wrap up: you should check the cdf.cxt is correctly loaded into your
    session. That's the only explanation I could find for the missing
    cdfCreateBaseCellCDF function so far.

    Regards,
    Riad.
     
    Riad KACED, Oct 30, 2008
    #4
  5. bu-bu

    bu-bu Guest

    Hello Riad,

    Indeed, it was a problem of setup. It was really strange, but i fixed
    it.
    Now, all is fine :)


    Thanks a lot for your help !!!!


    regards,

    bubu.
     
    bu-bu, Nov 5, 2008
    #5
    1. Advertisements

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.