Jump to content

Search the Community

Showing results for tags 'incompatible formal parameter'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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 (Configuration, Control & Inspection)
    • SystemC Datatypes
  • UVM (Universal Verification Methodology)
    • UVM (IEEE 1800.2) - Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • UVM Simulator Specific Issues
    • UVM Commercial Announcements
    • UVM (Pre-IEEE) Methodology and BCL Forum
  • Portable Stimulus
    • Portable Stimulus Discussion
    • Portable Stimulus 2.0 Public Review Feedback
  • IP Security
    • SA-EDI Standard Discussion
    • IP Security Assurance Whitepaper Discussion
  • IP-XACT
    • IP-XACT Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • Commercial Announcements
    • Announcements

Categories

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

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Biography


Location


Interests


Occupation


Company

Found 1 result

  1. Hi, In my current environment I have monitors class and parametrized scoreboard class. I am sending monitor transaction into scoreboard through the tlm analysis port. Below is snippet of code. class pkt_monitor extends uvm_monitor uvm_analysis_port #(pkt_item) pkt_collected_port; function new(uvm_component parent = null) pkt_collected_port = new("pkt_collected_port", this); .... .... endclass class pkt_sbd #(type T = uvm_transaction) extends uvm_component; uvm_analysis_export #(T) sb_check_port; // typedef pkt_sbd #(T) this_type; function new(uvm_component parent = null) sb_check_port = new("sb_check_port", this); ..... ..... endclass class top_env extends uvm_env; pkt_sbd #(pkt_item) pkt_sbd_inst; pkt_monitor pkt_monitor_inst; build_phase() pkt_monitor_inst = pkt_monitor::type_id::create("pkt_monitor_inst",this); pkt_sbd_inst = pkt_sbd #(pkt_item) :: type_id::create("pkt_sbd_inst",this) connect_phase() pkt_monitor_inst.pkt_collected_port.connect(pkt_sbd_inst.sb_check_port) endclass While compiling above code there is a type incompatability issue observed Error-[iCTTFC] Incompatible complex type usage Incompatible complex type usage in task or function call. The following expression is incompatible with the formal parameter of the function. The type of the actual is 'class uvm_pkg::uvm_analysis_export#(class pkt_pkg::pkt_item)', while the type of the formal is 'class uvm_pkg::uvm_port_base#(class uvm_pkg::uvm_tlm_if_base#(class pkt_pkg::pkt_item,class pkt_pkg::pkt_item))'. Expression: this.pkt_sbd_inst.sb_check_port Source info: pkt_monitor_inst.pkt_collected_port.connect(pkt_sbd_inst.sb_check_port) Any help is appreciated.
×
×
  • Create New...