I have a question about PDK integrity

Discussion in 'Cadence' started by crazyjoe2009, Feb 2, 2009.

  1. crazyjoe2009

    crazyjoe2009 Guest

    Hi!

    How can the CDF file be linked to each symbol? In other words, if I
    want to create a complete symbol, create some parameters on it, and
    create the corresponding CDF file, how can this file be automatically
    linked with the created schematic symbol?

    I know that If I put the symbol in a library, then the CDF file is
    loaded from CIW, it'll be linked, but we didn't do that when we were
    installing the PDK we currently have, all what we did is to define the
    path to PDK library in the ~/cds.lib!

    Anybody can help?
    Thanks,
    Joe
     
    crazyjoe2009, Feb 2, 2009
    #1
  2. Joe,

    Well, CDF is actually stored in a cell property called cdfData (do
    RMB->properties in the library manager over the cell, and you'll see it). This
    is stored in the binary prop.xx file (in CDB) or data.dm (in OpenAccess).

    The "CDF file" you are referring to is presumably the ASCII source file you're
    using to create the CDF? I don't really know, because there's no such thing as a
    "CDF file"... so you probably need to elaborate on your description.

    Regards,

    Andrew.
     
    Andrew Beckett, Feb 2, 2009
    #2
  3. crazyjoe2009

    Riad KACED Guest

    Joe,

    The foundry who did provide the PDK have the 'ASCII' CDF source files.
    These source files are not in the PDK though.
    The ASCII CDF file header defines the libName/cellName of the target
    cellView. So when this CDF file is loaded into Cadence, it would be
    compiled as binary into the prop.xx of that particular libName/
    cellName as explained by Andrew. If you want to fetch the original
    ASCII CDF file, then you could dump it using the cdfDump skill
    function. Search this function in the CDF doc or this forum to know
    more about its syntax. Many people have already given examples about
    it in previous posts.

    Regards,
    Riad.
     
    Riad KACED, Feb 2, 2009
    #3
  4. crazyjoe2009

    crazyjoe2009 Guest

    Thanks a lot Andrew/Riad..

    I was wondering about how to release a PDK-like format (i.e. package)
    from library of components (symbol, schematic, verilog-a, ... and
    other views) in addition to ASCII CDF files..

    When I look at the PDK we've, I can't see ASCII CDF files as Riad
    mentioned.

    In other words, how can to package PDK from library+ASCII CDF file?

    Is there other files must be packaged/compiled together with them in
    the PDK? (e.g. callbacks file, SKILL PCELLs, ...??)

    BR, Joe
     
    crazyjoe2009, Feb 3, 2009
    #4
  5. So you don't need to ship ASCII CDF files, as these are part of the
    prop.xx/data.dm database files, as said earlier.

    If you use (the dreaded) CDF callbacks (see various posts before talking about
    the "dangers of CDF callbacks", as well as my sourcelink solution on this), then
    the code for these would need to be in the PDK and loaded (typically from the
    library's libInit.il file). Often the code is compiled into a context file or an
    encrypted SKILL file to reduce the chance of tampering.

    For pcells, the code can be entirely stored within the layout cellView database
    of the pcell, if it's just a single definition which is calling no user-defined
    functions. The code for any user-defined functions would also need to be
    included in the PDK (and loaded from the libInit.il in the pcell library).

    Regards,

    Andrew.
     
    Andrew Beckett, Feb 3, 2009
    #5
  6. crazyjoe2009

    crazyjoe2009 Guest

    Thanks again!

    What does libInit file contains? Which syntax?

    Is it the one responsible for compiling source files to PDK package
    like the make file?

    Can you give me example for libInit file?

    BR, Joe
     
    crazyjoe2009, Feb 3, 2009
    #6
  7. It's a SKILL file (libInit.il) which lives inside a library. The first time a
    library is accessed, the file is loaded. Consequently you can use it to load any
    other SKILL code, or define any settings (such as envSetVal() calls) which are
    specific to that library.

    For example, even analogLib in the Cadence IC installation has a libInit.il :


    <ICinstDir>/tools/dfII/etc/cdslib/artist/analogLib/libInit.il

    Regards,

    Andrew.
     
    Andrew Beckett, Feb 4, 2009
    #7
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.