• 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. NULL pointer dereference

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 64
  • Views 18221
  • 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

NULL pointer dereference

archive
archive over 17 years ago

Hi,

I am building an uVC using uRM in SVCB for the First time.
When I wanted to Access the Transaction item from the Driver using "get_next_item" predefined task(defined in urm_driver class library) it is generating an error as,

Error!  NULL pointer dereference
          File: /tools/cadence/ius/tools/urm/src/urm/sv/urm_unit.svh, line = 119, pos = 25
         Scope: top.urm_unit::m_get_message_handler
          Time: 20 NS + 1
Verilog Stack Trace:
0: function top.urm_unit::m_get_message_handler at /tools/cadence/ius/tools/urm/src/urm/sv/urm_unit.svh:119
1: task top.urm_driver::get_next_item at /tools/cadence/ius/tools/urm/src/uvc/sv/urm_driver.sv:546
2: task top.master_bfm@876_2.drive_transfers at   sv/master_bfm.sv:85
3: process in top.master_bfm::run at /sv/master_bfm.sv:58

Infact I am not Using any TLM ports as of now.
I am Puzzled by this error, I will be Thankful for the Suggestions.

Regards,
Ramesh Pal Yadav


Originally posted in cdnusers.org by ramesh_pal_yadav
  • Cancel
Parents
  • archive
    archive over 17 years ago

    Hi Ramesh,

    In the URM XBUS example, the xbus_master_driver is generating sequences - this is what I meant by "Sequencer" (which is the terminology used in the new OVM).

    The BFM (which is called a "driver" in OVM) gets sequence items e.g. by calling driver.get_next_item(seq_item). However, the driver variable must be initialised to point to the object generating the sequences (otherwise you will get a "NULL POINTER" error). In the XBUS example this is done in the build method of xbus_master_agent:

    bfm.driver = this.driver;

    You should have a similar statement in your code.

    My comment about configuring the sequencer is related to the set_*_override functions that can be called to determine what sequences are generated by the factory - see section 2.9 of the svcb user guide.

    Regards,
    Dave


    Originally posted in cdnusers.org by dl_doulos
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • archive
    archive over 17 years ago

    Hi Ramesh,

    In the URM XBUS example, the xbus_master_driver is generating sequences - this is what I meant by "Sequencer" (which is the terminology used in the new OVM).

    The BFM (which is called a "driver" in OVM) gets sequence items e.g. by calling driver.get_next_item(seq_item). However, the driver variable must be initialised to point to the object generating the sequences (otherwise you will get a "NULL POINTER" error). In the XBUS example this is done in the build method of xbus_master_agent:

    bfm.driver = this.driver;

    You should have a similar statement in your code.

    My comment about configuring the sequencer is related to the set_*_override functions that can be called to determine what sequences are generated by the factory - see section 2.9 of the svcb user guide.

    Regards,
    Dave


    Originally posted in cdnusers.org by dl_doulos
    • 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