iverilog/ivtest/ivltests/sv_interface_port_unmodport...

41 lines
707 B
Verilog

// This tests a concrete interface-typed module port without an explicit
// modport restriction.
//
// This file is placed into the Public Domain, for any use, without
// warranty.
module test;
logic [7:0] lhs;
logic [7:0] rhs;
bus_if bus();
add_if dut(.bus(bus));
assign bus.lhs = lhs;
assign bus.rhs = rhs;
initial begin
lhs = 8'd9;
rhs = 8'd4;
#1;
if (bus.sum !== 9'd13) begin
$display("FAILED");
$finish;
end
$display("PASSED");
end
endmodule
module add_if(
bus_if bus
);
assign bus.sum = bus.lhs + bus.rhs;
endmodule
interface bus_if ();
logic [7:0] lhs;
logic [7:0] rhs;
logic [8:0] sum;
endinterface