• 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 Design
  3. Maestro config sweep causing changes netlisting for bus...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 3493
  • 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

Maestro config sweep causing changes netlisting for bus "<"

brianbranch
brianbranch over 3 years ago

When running my simulation in Maestro without a config sweep, there is no issue.

When I run a config sweep that removes a cell that contains saved nodes, the save portion of the input.scs changes the naming syntax of buses from "net_to_be_saved_1" to "net_to_be_saved<1>". This creates the following error:

 ERROR (SFE-874): "input.scs" 31435: Cannot run the simulation because the syntax error `Unexpected operator ">". Expected end of file or end of line' was encountered at line 48. Correct the syntax error and rerun the simulation.

Is there a way to fix this issue?

Thanks

Using: Cadence Virtuoso 6.1.8-64b

  • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear brianbranch,

    brianbranch said:

    When I run a config sweep that removes a cell that contains saved nodes, the save portion of the input.scs changes the naming syntax of buses from "net_to_be_saved_1" to "net_to_be_saved<1>". This creates the following error:

     ERROR (SFE-874): "input.scs" 31435: Cannot run the simulation because the syntax error `Unexpected operator ">". Expected end of file or end of line' was encountered at line 48. Correct the syntax error and rerun the simulation.

    Is there a way to fix this issue?

    Did you happen to read this note on the Cadence On-line support site?

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009EW0jUAG&pageName=ArticleContent

    The article notes that this error can occur for busses when the terminal mapping of the CDF is not defined correctly.

    Specifically, from the example from the article:

    If you have terminals A<3> , A<2>, A<1>, A<0> or A<3:0> on the symbol, then following should be the termOrder and termMapping:

    termOrder => "A<3>" "A<2>" "A<1>" "A<0>"
    termMapping => nil A\<0\> "\\:A\\<0\\>" A\<1\> "\\:A\\<1\\>" A\<2\> "\\:A\\<2\\>" A\<3\> "\\:A\\<3\\>"

    Does help at all brianbranch?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to ShawnLogan

    Whilst the article that Shawn refers to is relevant to netlisting of bus terminals, I don't think it's necessarily only going to show up when using config sweeps. Also, it's specifically about bus terminals, whereas I think (assuming your terminology was correct) you were talking about nodes/nets not terminals.

    First of all, please specify which IC sub-version you're using - you mentioned that it was "6.1.8-64b" which accounts for almost 4 years of different versions - there have been a major release and 26 hotfix versions in that time, so the issue you are talking about may no longer be an issue. The full sub-version can be seen in the Help→About menus.

    Secondly, the mapping of a bus index to "net_to_be_saved_1" is not the standard behaviour. Normally it would get mapped:

    save op I0.int\<4\> 

    I do see the mapping if I switch back to the "old" (very old) mapping (non-nmp) as described in this article: Name mapping for spectre netlisting has changed in IC61X . Then I get:

    save op I0.int_4 

    for the view where the bus net exists, but for the view where it doesn't exist, the save ends up being the syntax with the escaped angle brackets.

    Please show what you get by typing these in the CIW:

    envGetVal("asimenv" "mappingMode")
    hnlSpectreMapNetInName

    I suspect that putting:

    envSetVal("asimenv" "mappingMode" 'string "nmp")

    in your .cdsinit would fix this.

    My tests were performed in IC6.1.8-64b.500.26 (i.e. the latest available ISR/hotfix).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • brianbranch
    brianbranch over 3 years ago in reply to Andrew Beckett

    Hi Andrew

    I am using IC6.1.8-64b.500.4. You are right, I was talking about nets. Sorry for the confusion Shawn.

    Andrew, below are the results of the CIW commands you posted:

    envGetVal("asimenv" "mappingMode")
    "oss"
    hnlSpectreMapNetInName
    ((">" "")
    ("<" "_")

    ...

    After adding to the .cdsinit and restarting cadence, I get the following from those CIW commands:

    envGetVal("asimenv" "mappingMode")
    "nmp"
    hnlSpectreMapNetInName
    *Error* toplevel: undefined variable - hnlSpectreMapNetInName

    When running the maestro sweep, I still get the same error described above and the input.scs still shows the "<" being converted to "_" for the case where I do not sweep the config. Is it possible the maestro setup has an internal name mapping setting?

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to brianbranch

    You might need to go over the test name and do Right Mouse→Netlist→Recreate - if that looks OK, then it should (I think) update the basis of the incremental netlister so that's OK. My guess is that the incremental netlister has already netlisted the blocks in question and so doesn't renetlist them unless forced.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • brianbranch
    brianbranch over 3 years ago in reply to Andrew Beckett

    It works now. Thank you for your help.

    • 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