Jump to content

Search the Community

Showing results for tags 'uvm_event'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Accellera Systems Initiative
    • Information
    • Announcements
    • In the News
  • SystemC
    • SystemC Language
    • SystemC AMS (Analog/Mixed-Signal)
    • SystemC TLM (Transaction-level Modeling)
    • SystemC Verification (UVM-SystemC, SCV)
    • SystemC CCI Public Review
  • UVM (Universal Verification Methodology)
    • Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • Simulator Specific Issues
    • 1800.2-2017 Early Adopter Release
    • UVM Commercial Announcements
    • UVM 1.2 Public Review
  • Portable Stimulus
    • Portable Stimulus Discussion
    • IP-XACT Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • OCP (Open Core Protocol)
  • UCIS (Unified Coverage Interoperability Standard)
  • Commercial Announcements
    • Announcements


  • SystemC
  • UVM
  • UCIS
  • IEEE 1735/IP Encryption


  • Community Calendar

Found 1 result

  1. Hi, In UVM 1.2, the UVM event class is declared as follows: class uvm_event#(type T=uvm_object) extends uvm_event_base; The trigger function has the following line of code: uvm_event_callback#(T) tmp=callbacks; The assignment to callbacks, refers to the uvm_event_base member callbacks[$]. The uvm_event_base is not parameterized, and callbacks[$] is declared in uvm_event_base as: protected uvm_event_callback callbacks[$]; Thus, making the parameterized type of callbacks[$] the default of callbacks[$], which is uvm_object. How can the uvm_event be parameterized to a non uvm_object? There is no casting done in the trigger function. Lets say that I tried following: class uvm_object_extend extends uvm_object; ... endclass uvm_event#(uvm_object_extend ) my_event; My compiler generates and error indicating that in the trigger function, the assignment of: uvm_event_callback#(T) tmp=callbacks; in the trigger function is not valid, since callbacks in the uvm_event_base is of parameterized type uvm_object, but uvm_event_callback#(T) is of parameterized type uvm_object_extend. This seems to be an issue in UVM, or am I not using this correctly? Does anyone have experience with uvm_events which use extended uvm_objects for data passing? Thanks, Borna.