Jump to content
c4brian

RivieraPro bind interface to DUT

Recommended Posts

I am having a major hangup with RivieraPro... I bind an interface to a VHDL instance, but I am unable to set this interface into the configuration Database.

 

  interface whitebox_if(
    input logic some_signal,
    input logic some_other_signal
  );
  endinterface

 

MyDut dut (...);

 

bind dut whitebox_if wb_if ( sig1, sig2); // works

 

initial
    uvm_config_db #(virtual whitebox_if)::set(null, "*", "v_interfaces" , dut.wb_if); // fails!!! 

 

Fatal Error: ELAB2_0036 Unresolved hierarchical reference to "dut.wb_if" from module "dut_top" (module not found).

Share this post


Link to post
Share on other sites

Probably you should contact Aldec's Technical Support or you could use this workaround - try to use binding to module instead binding to instance in your case it would be:

bind MyDut whitebox_if wb_if ( sig1, sig2);

instead yours:

bind dut whitebox_if wb_if ( sig1, sig2);

This should helps.

Share this post


Link to post
Share on other sites

Just for reference.. Aldec support finally shared a workaround that seems to work.  Yes, the syntax is a little strange, but this is an Aldec "wrapper" file path.

 

virtual my_interface_if vif;

vif = dut_top.\bind:dut_inst:sig_if .sig_if; // normally this would just be dut_top.sig_if
uvm_config_db #( virtual my_interface )::set( null , "*" , "my_interface", vif ) ;

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...