• 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. Functional Verification
  3. Jasper's elaborate -bbox_i seems to have no effect

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 66
  • Views 4828
  • 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

Jasper's elaborate -bbox_i seems to have no effect

ambsum01arm
ambsum01arm over 1 year ago

I'm trying to use Jasper for checking parameter propagation in a large design. I have a list of top-level parameters, each with a HDL path of a module parameter somewhere lower in the hierarchy that's supposed to receive its value from the top-level module. The FPV app seems like an excellent tool for this, but elaborating the entire design in it is extremely time-consuming and memory-intensive. So, I'm trying to black-box everything but the interesting HDL paths. I thought using `elaborate -top dut_module_name -bbox_i * -no_bbox_i inst_foo -no_bbox_i inst_bar (...)` would work, but it doesn't. Jasper just starts flooding the log with warnings from modules that are definitely not on the whitebox list, and eventually dies due to insufficient memory. When I use -bbox_m * it correctly elaborates the top-level module with all of its sub-modules black-boxed. But then the -no_bbox_i switches have no effect. Could anyone suggest a working solution for this use case?

  • Cancel
Parents
  • StephenH
    StephenH over 1 year ago

    I think you might be better off using a simple script on top of the Xcelium simulator, to achieve this. There's an existing app note that describes some techniques for extracting and checking the parameters: How to dump all the GENERIC/PARAMETER values for a design

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • ambsum01arm
    ambsum01arm over 1 year ago in reply to StephenH

    Thanks for the tip, I'll try to look into using Xcelium instead. Regardless, it's still an open question why -bbox_i * doesn't work the same way as -bbox_m * does.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StephenH
    StephenH over 1 year ago in reply to ambsum01arm

    Hard to give a definitive answer for that without more detail. As you probably don't want to share design-specific info in this public forum, may I suggest either opening a support request at support.cadence.com, or ping one of the Cadence AEs directly.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • StephenH
    StephenH over 1 year ago in reply to ambsum01arm

    Hard to give a definitive answer for that without more detail. As you probably don't want to share design-specific info in this public forum, may I suggest either opening a support request at support.cadence.com, or ping one of the Cadence AEs directly.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
  • ambsum01arm
    ambsum01arm over 1 year ago in reply to StephenH

    Let's say we have this hierarchy:

    top_mod
    | - mod_a #() u_a()
    |   L mod_b #() u_b()
    L mod_c #() u_c()

    I'm issuing this command in Jasper:

    elaborate -top top_mod -bbox_i u_* -no_bbox_i u_a -no_bbox_i u_b

    Jasper proceeds to give me errors related to things inside mod_c. Am I using -bbox_i and -no_bbox_i incorrectly?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AlexEB
    AlexEB over 1 year ago in reply to ambsum01arm

    Ambsum01, could you please open a case so we can understand this better? The process of building a design is a two step process as specified by the LRM: compilation and elaboration. Jasper divides these two steps in two commands: analyze and elaborate. If you are using the bbox_m switch in the "analyze" command, then the module is ignored during compilation, meaning that when the parser reads the module definition, it ignores everything between module and endmodule. However, when you use the bbox_i switch in elaborate and the module contains syntax errors, then it will actually fail previously during the analyze command. If that's not what you are seeing, I'd suggest you create a case in the support page or query the UK support team via email.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ambsum01arm
    ambsum01arm over 1 year ago in reply to AlexEB

    Thanks for your suggestion, Alex. There are no bbox switches in the analyze command, only in the elaborate. There are also no syntax errors, the design elaborates just fine in Xcelium. The issue is specifically that the `-bbox_i *` switch seems to have no effect for the elaborate command.

    Anyway, I've settled on the workaround of generating a connection map CSV, and feeding it to blackbox_assistant. It's still unreasonably slow for what it does, but it's good enough for what I need, so I don't think I'll put in the time for opening a case and seeing it through...

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AlexEB
    AlexEB over 1 year ago in reply to ambsum01arm

    Hi Ambsum01, yes the blackbox assistant is another option you can use. Again I'd suggest you should open a case or get in touch with the AE team in the EU to look through the problem statement. Thank you! 

    • 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