Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrectly instantiated DUT ports in the auto generated testbench when using SystemVerilog interface #113

Open
dh73 opened this issue Sep 4, 2020 · 1 comment

Comments

@dh73
Copy link

dh73 commented Sep 4, 2020

When using SBY+SystemVerilog with a module that uses an interface as module ports, the auto generated testbench instantiates the DUT using the flattened view of the interface (the netlist after prep command) instead of using the interface, causing a SystemVerilog violation as it appears that the interface is left unconnected.

Module with Interface Module after prep Module in the DUT
module testcase (clk, rstn, intf.generic i); module testcase(clk, rstn, i_foo, i_bar); testcase UUT ( .clk(PI_clk), .rstn(PI_rstn), .i_bar(PI_i_bar) );

The user can manually edit the auto generated testbench or use the netlist after prep for simulation, but that limits the functionality of this feature.

Adding a testcase:
testcase_intf.gz

@dh73
Copy link
Author

dh73 commented Sep 4, 2020

It is probably better to dump the netlist after the synthesis ( prep ) and use that with the testbench for simulation. That netlist is what is verified with SBY anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant