Trying to access internal design signal by using an abstract interface

Hi,

I am trying to use an abstract interface example from the following link,

https://verificationacademy.com/resources/technical-papers/the-missing-link-the-testbench-to-dut-connection

I am referring to an example from the APPENDIX A. for an abstract interface.

However, when I define the
interface probe_itf #(int WIDTH) (inout wire [WIDTH-1:0] WData);
It doesn’t seems to be working.

If I define an interface as interface probe_itf #(int WIDTH) (output logic [WIDTH-1:0] WData);
It works fine for the output ports of the design.

I tried both the combinations from above for input ports of the design but it’s not working.

Please let me know for input ports of the design how can I drive from the abstract interface?
Do I need to use assign (supply0,suppl1) WData = data_reg; ?

Thanks.
Karan

Can you clarify “not working”?

If you are getting X’s on your input ports because there is a conflict between the existing drivers and the interface drivers, then yes, you need to use a supply strength.

In reply to dave_59:

Hi,

I am not getting X’s on input ports but it’s not driven by WData.(I/P port always remain with the previous value)

If I define the interface probe_itf #(int WIDTH) (inout wire [WIDTH-1:0] WData);
I am getting following error
“Expression connected to an ‘inout’ port must be collapsible”

Thanks.
Karan

In reply to methekaran:

You need to show the bind statement and the module you are trying to target. Need to see the declarations of all signals involved. If you are trying to run the same example in the paper and are getting this error, you may have a problem with the version of tool you are using.

In reply to dave_59:

Hi Dave,

This is how I have written the bind statement.
Right now accessing only one signal for testing purpose.

bind in2_module : tb_top.design_top.in1_module.in2_module probe_intf m1(internal_signal_1);
bind in3_module : tb_top.design_top.in1_module.in2_module.in3_module probe_intf m2(internal_signal_2);

I will check the tool version as well.

Thanks.
Karan

In reply to methekaran:

That was 1 of the 3 things I asked for that are needed for anyone to help you.