• 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. CDF data structure 'flattened'

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 144
  • Views 8195
  • 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

CDF data structure 'flattened'

tailsnaf
tailsnaf over 13 years ago

 

I have been writing some skill code to extract information from a cell's cdf - but I see a mismatch between the docs and the way some information is stored in the skill code - it seems the simInfo part has all of it's data 'flattened' into a string, and I cannot access the parameters of simInfo.
 I am using IC 6.1.5-65b
So If I do the following, on the cdf of the vpulse component from analogLib I get:
cdf~>?
(buttonFieldWidth doneProc fieldHeight fieldWidth formInitProc
    id parameters promptWidth simModels type
    paramLabelSet opPointLabelSet opPointLabelSet simInfo paramEvaluate
    paramSimType paramDisplayMode netNameType termSimType termDisplayMode
    instNameType instDisplayMode
)
 
When I look into simInfo, I get a flattened view - as when I do:
cdf~>?simInfo~>? 
I get an error:
*Error* get/getq: first arg must be either symbol, list, defstruct or user type - ""
 
So instead if I just get the value of simInfo, all the information is there as a 'string'
cdf~>simInfo
(nil auLvs (nil propMapping nil namePrefix "") hspiceD (nil netlistProcedure hspiceDCompPrim_vpulse instParameters dc(acm acp v1 v2 td
    tr tf pw per
)
componentName vsrc termOrder (PLUS MINUS) propMapping
(nil) namePrefix "V" source t
termMapping (nil PLUS "" MINUS "(FUNCTION minus(root(\"PLUS\")))") noPortDelimiter t
)
...
...
...
) otherParameters (fundname noisefile FNpairs F1 N1
    F2 N2 F3 N3 F4
    N4 F5 N5 F6 N6
    F7 N7 F8 N8 F9
    N9 F10 N10
)
)
)
 
Is there a way to 'fix' the data structure format, so I cann access the sub-values of simInfo, like:
cdf~>simInfo~>termMapping 
Thanks for any help.

 

  • Cancel
Parents
  • berndf
    berndf over 13 years ago

     I guess you can do a
    cdfGetCellCDF( ddGetObj( libName cellName ) )->simInfo->spectre->termMapping
    which returns the term mapping as disembodied property list,
    which you should be able to assign new values to it.
    You have to do this on a netlister base, means for auCdl, auLvs,
    spectre, hspice in a sequence.
    You should be able to find a way to build a loop.
     
    The second possibility for the cell level CDF is simply use the
    SKILL function 'cdfDump'?
    It will return a file with the cell CDF which you can post process.

    Bernd

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • berndf
    berndf over 13 years ago

     I guess you can do a
    cdfGetCellCDF( ddGetObj( libName cellName ) )->simInfo->spectre->termMapping
    which returns the term mapping as disembodied property list,
    which you should be able to assign new values to it.
    You have to do this on a netlister base, means for auCdl, auLvs,
    spectre, hspice in a sequence.
    You should be able to find a way to build a loop.
     
    The second possibility for the cell level CDF is simply use the
    SKILL function 'cdfDump'?
    It will return a file with the cell CDF which you can post process.

    Bernd

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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