Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Mixed-Signal Design [CDF][Parsing error regarding CDF parameter in AMS]

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 64
  • Views 3234
  • 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][Parsing error regarding CDF parameter in AMS]

IssacW
IssacW 9 months ago

hi all,

 

this should have been appended to another post (+6 years)  but let me just create this new one with some updates. basically the problem is exactly the same but this time that solution doesn't work.

 

please refer to the following pictures in which even though design parameter "addr" has been identified as integer, we still got the same errors. maybe it's due to the combination of Spectre/Xcelium versions?

  • Cancel
Parents
  • IssacW
    IssacW 9 months ago

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 9 months ago in reply to IssacW

    You missed out the important part - i.e. what is inside the block which you've showed as having CDF parameters vdd and value.

    My guess is that you have a schematic with an instance of a vcvs from analogLib, with the gain set to:

    (int(value)>>0)&1

    (not sure why you would right shift it by 0 bits, but nevertheless). 

    Anyway, the answer is to not use the int() function. If you've declared the addr design variable as an integer on the Simulation→Options→AMS Simulator, Netlister tab, then you don't need to try to convert it to an integer. It seems that this int() and real2int() are convenience functions to round to an integer (I think to support compatibility with spectre) but leave it as a real (for some reason). So if you use:

    (value>>0)&1

    or

    (value>>1)&1

    etc, then this should work (it does for me). If it doesn't work, please show what you're actually doing inside the block in question...

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    hi Andrew,

    my bad as I assume the expression is the same as that in Dann's post.
    and correct I was putting down "( int ( pPar ("value") ) >> 1 ) & 1" in that VCVS's gain.

     

    I confirm it is the int() which makes this difference. by removing this function, we're now free of those errors.


    ==================== problem posted has been resolved ! ====================

    after that unfortunately I got another new error as highlighted below.
    since there is not much info at this point, I'm still debugging on it. I'd report more details in another new post once enough info collected.

     

     

    before that I've a basic question regarding the Xcelium env. setup (as I thought I might be in wrong direction from the very beginning). may I know what a typical "Xcelium_ROOT" (in 64-bit OS)  (similar to CDS_HOME etc.) looks like for "Xcelium 22.03-s005" ?






    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    hi Andrew,

    my bad as I assume the expression is the same as that in Dann's post.
    and correct I was putting down "( int ( pPar ("value") ) >> 1 ) & 1" in that VCVS's gain.

     

    I confirm it is the int() which makes this difference. by removing this function, we're now free of those errors.


    ==================== problem posted has been resolved ! ====================

    after that unfortunately I got another new error as highlighted below.
    since there is not much info at this point, I'm still debugging on it. I'd report more details in another new post once enough info collected.

     

     

    before that I've a basic question regarding the Xcelium env. setup (as I thought I might be in wrong direction from the very beginning). may I know what a typical "Xcelium_ROOT" (in 64-bit OS)  (similar to CDS_HOME etc.) looks like for "Xcelium 22.03-s005" ?






    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett 9 months ago in reply to IssacW

    You don't need to do all that messing about with your path. It's sufficient to put ${Xcelium_PATH}/tools/bin in your path and nothing else. The wrappers will take care of choosing the 64-bit version (with CDS_AUTO_64BIT set).

    I'm not sure that's the reason for the internal error though - hard to know for sure (I'd fix the path and try again). What OS are you running on? (what is contained in /etc/os-release ?)

    I'd first try using newer XCELIUM and SPECTRE versions (yours are a few years old) and if it still occurs then contact customer support.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    hi Andrew,
     
    we're running on this new OS below:



    the Xcelium (+ all other EDA tools) and Cadence support ticket system are managed/maintained by our IT dept. so I don't have an option to try latest Xcelium other than asking for their support on this. these new errors occur after our OS update so there might be something in the env. setup which causes these problems. a few weeks ago when I posted my 1st question here in the forum, I was running AMS in old OS where I didn't see these errors. it's not bad to rely on our IT colleges but personally I'd like to learn more about Cadence so I prefer to ask questions at the forum first : )

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 9 months ago in reply to IssacW

    OK, you're using RHEL8.10 - and whilst (on http://downloads.cadence.com ) it lists RHEL8 as being supported for XCELIUM 22.03, the later versions XCELIUM 22.09, XCELIUM 23.03, XCELIUM 23.09 explicit list the minor versions - with the latest being RHEL8.6. There were some definite issues with XCELIUM in RHEL8.8 and I suspect they may be also there in RHEL8.10 - with this old (unsupported) XCELIUM version you are using.

    XCELIUM2403 should be OK (it only lists up to RHEL8.8 but also supports RHEL9 too), I believe.

    The virtuoso version you're using is also not supported on RHEL8 (we added some fixes in ISR24 to enable RHEL8 support, although it is not in the testing cycle for each update, hence we still don't list RHEL8 as supported for this release).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    hi Andrew,

    thank you for clarifying the correspondence between Xcelium & RHEL, though clicking on the link above, I was redirected to https:// downloads.cadence.com /ESDWeb/Welcome.eo where I didn't find the relationship between them.

    Now I understand that Xcelium supports up to RHEL 8.6 while Xcelium 24.03 even up to RHEL 9. but surprised to see IC6.1.8 ISR21 still works well in our case.

    after this OS update, it seems only AMS being affected but Spectre not. since I'm the only one employing AMS in design flow and hence troubled by this problem, I'd most likely need to find a workaround to accommodate RHEL8 instead of retrieving the whole server back to RHEL7. anyway let me talk with IT to check the availability of Xcelium 24.03.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 9 months ago in reply to IssacW

    If the issue is the same that caused the restriction to only support RHEL8.6, then I don't think there was a workaround (of course, it depends on whether your issue is the same as this).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    understood. I consider it as step 0 to update to Xcelium 24.03.

    in addition, I'm trying to identify that suspended AMS simulation process in background from all the process below. I could find "virtuoso" but not "xrun". it there a way to show all the PID of running simulations?


    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 9 months ago in reply to IssacW

    I thought it was crashing? In which case there wouldn't be any process that is running (or "suspended"). There's a spectreMonitor/vds job that is running (but not doing anything - you should have a little terminal icon showing in the ADE run summary) and that would die once the linger time is reached (or you can stop it using the right mouse button menu).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IssacW
    IssacW 9 months ago in reply to Andrew Beckett

    I see and it's not big deal.

    fortunately we're updating to latest Xcelium right now.
    in case it doesn't work, our IT would next turn to Cadence support page for assistance.
    I would get back to this post if any update about the resolution.

    • 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