Add regression test for Verilog data types on module input ports

Using Verilog data types on module input and inout ports is an error in
Verilog. But in SystemVerilog it is allowed and the port should be a net
with the specified data type.

Check that this is supported.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
Lars-Peter Clausen 2022-03-02 09:36:07 +01:00
parent 2921e66105
commit 8a2d4e4fa4
4 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,14 @@
// Check Verilog types on a module inout port. In Verilog this is an error, but
// in SystemVerilog it is supported
module test (
inout reg a,
inout time b,
inout integer c
);
initial begin
$display("PASSED");
end
endmodule

View File

@ -0,0 +1,14 @@
// Check Verilog types on a module input port. In Verilog this is an error, but
// in SystemVerilog it is supported
module test (
input reg a,
input time b,
input integer c
);
initial begin
$display("PASSED");
end
endmodule

View File

@ -77,6 +77,8 @@ br_gh25b normal ivltests
br_gh567 normal ivltests br_gh567 normal ivltests
check_constant_3 normal ivltests check_constant_3 normal ivltests
function4 normal ivltests function4 normal ivltests
module_inout_port_type normal ivltests
module_input_port_type normal ivltests
parameter_in_generate1 normal ivltests parameter_in_generate1 normal ivltests
parameter_no_default normal ivltests parameter_no_default normal ivltests
parameter_omit1 normal ivltests parameter_omit1 normal ivltests

View File

@ -644,6 +644,8 @@ mixed_width_case normal ivltests
modparam normal ivltests top # Override parameter via passed down value modparam normal ivltests top # Override parameter via passed down value
module3.12A normal ivltests main module3.12A normal ivltests main
module3.12B normal ivltests module3.12B normal ivltests
module_inout_port_type CE ivltests
module_input_port_type CE ivltests
module_output_port_var1 normal ivltests module_output_port_var1 normal ivltests
module_output_port_var2 normal ivltests module_output_port_var2 normal ivltests
modulus normal ivltests # wire % and reg % operators modulus normal ivltests # wire % and reg % operators