0
votes
port binding debugging in specman - Stack Overflow
Asked
Viewed 243 times
0

I work with quite a big environment, which I am not familiar with most of it. There is now a DUT error reported by a checker. The problem is - the checker gets data items via ports. Is there an e method that can show which monitors are connected to the checker (so that I can see which monitor drove the bad data)? Also - how can I tell where in the code the checker was connected to the monitors?

2
  • show ports -full should help.
    – Thorsten
    Mar 7 2016 at 8:32
  • print_stack_trace() is very very useful in large environments. Mar 21 2016 at 17:29
1

there are several ways to debug external and internal port bindings:

1) You can use the get_inbound_set() on a specific port to get all the ports it is bound to.

2) Trace commands:

  • to debug procedural connections:(do_bind() or connect()) - use “trace bind”.
  • for static generation binding (keep bind()) - use “trace gen”.

3) we recommend using the procedural approach : connect() & do_bind() , as it simplifies the debugging , and does not burden the generator.

just a side note, you can also use:

  • "trace esi" : use this trace only up until the run phase , to see the full attribute list that was given to every port in your environment
  • "show ports" : show you information about a specific port or all ports in your environment , read the doc to see what kind of information can be seen. it is recommended to use this command after all of the port bindings are done.

    Your Answer

    By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

    Not the answer you're looking for? Browse other questions tagged or ask your own question.

     
    1
    show ports -full should help. - Thorsten
    print_stack_trace() is very very useful in large environments. - Ross Rogers

    1 Answers

    1
    votes

    there are several ways to debug external and internal port bindings:

    1) You can use the get_inbound_set() on a specific port to get all the ports it is bound to.

    2) Trace commands:

    • to debug procedural connections:(do_bind() or connect()) - use “trace bind”.
    • for static generation binding (keep bind()) - use “trace gen”.

    3) we recommend using the procedural approach : connect() & do_bind() , as it simplifies the debugging , and does not burden the generator.

    just a side note, you can also use:

    • "trace esi" : use this trace only up until the run phase , to see the full attribute list that was given to every port in your environment
    • "show ports" : show you information about a specific port or all ports in your environment , read the doc to see what kind of information can be seen. it is recommended to use this command after all of the port bindings are done.