diff --git a/ivtest/ivltests/named_event_edge_fail.v b/ivtest/ivltests/named_event_edge_fail.v new file mode 100644 index 000000000..fbc51908c --- /dev/null +++ b/ivtest/ivltests/named_event_edge_fail.v @@ -0,0 +1,11 @@ +// Check that edge event controls can not be used with named events. + +module test; + + event e; + + initial begin + @(edge e); + end + +endmodule diff --git a/ivtest/ivltests/named_event_negedge_fail.v b/ivtest/ivltests/named_event_negedge_fail.v new file mode 100644 index 000000000..34b9c21f5 --- /dev/null +++ b/ivtest/ivltests/named_event_negedge_fail.v @@ -0,0 +1,11 @@ +// Check that negedge event controls can not be used with named events. + +module test; + + event e; + + initial begin + @(negedge e); + end + +endmodule diff --git a/ivtest/ivltests/named_event_no_edges.v b/ivtest/ivltests/named_event_no_edges.v deleted file mode 100644 index 4bbee0336..000000000 --- a/ivtest/ivltests/named_event_no_edges.v +++ /dev/null @@ -1,15 +0,0 @@ -module top; - event my_event; - - // The following two line should be an error - // You can not take the edge of a named event. - always @(posedge my_event) $display("Posedge event."); - always @(negedge my_event) $display("Negedge event."); - // This should work correctly. - always @(my_event) $display("Any event edge."); - - initial begin - #1 ->my_event; - #1 $display("FAILED"); - end -endmodule diff --git a/ivtest/ivltests/named_event_posedge_fail.v b/ivtest/ivltests/named_event_posedge_fail.v new file mode 100644 index 000000000..fd441f4b5 --- /dev/null +++ b/ivtest/ivltests/named_event_posedge_fail.v @@ -0,0 +1,11 @@ +// Check that posedge event controls can not be used with named events. + +module test; + + event e; + + initial begin + @(posedge e); + end + +endmodule diff --git a/ivtest/regress-vlg.list b/ivtest/regress-vlg.list index 9309d3afa..55fbc8cc5 100644 --- a/ivtest/regress-vlg.list +++ b/ivtest/regress-vlg.list @@ -719,7 +719,6 @@ multi_bit_strength normal ivltests gold=multi_bit_strength.gold multi_driver_delay normal ivltests multiply_large normal ivltests # Takes care of PR222 muxtest normal ivltests # Validates that X sel and inputs same, output not X -named_event_no_edges CE ivltests nb_assign normal ivltests nb_delay normal ivltests nb_ec_concat normal ivltests diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 13b3a3bf8..8424d7f55 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -156,6 +156,9 @@ module_port_array1 vvp_tests/module_port_array1.json module_port_array_fail1 vvp_tests/module_port_array_fail1.json module_port_array_init1 vvp_tests/module_port_array_init1.json monitor4 vvp_tests/monitor4.json +named_event_edge_fail vvp_tests/named_event_edge_fail.json +named_event_negedge_fail vvp_tests/named_event_negedge_fail.json +named_event_posedge_fail vvp_tests/named_event_posedge_fail.json non-polymorphic-abs vvp_tests/non-polymorphic-abs.json partsel_invalid_idx1 vvp_tests/partsel_invalid_idx1.json partsel_invalid_idx2 vvp_tests/partsel_invalid_idx2.json diff --git a/ivtest/vvp_tests/named_event_edge_fail.json b/ivtest/vvp_tests/named_event_edge_fail.json new file mode 100644 index 000000000..f572263f7 --- /dev/null +++ b/ivtest/vvp_tests/named_event_edge_fail.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "named_event_edge_fail.v", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/named_event_negedge_fail.json b/ivtest/vvp_tests/named_event_negedge_fail.json new file mode 100644 index 000000000..b0afab36a --- /dev/null +++ b/ivtest/vvp_tests/named_event_negedge_fail.json @@ -0,0 +1,4 @@ +{ + "type" : "CE", + "source" : "named_event_negedge_fail.v" +} diff --git a/ivtest/vvp_tests/named_event_posedge_fail.json b/ivtest/vvp_tests/named_event_posedge_fail.json new file mode 100644 index 000000000..2ae4014d7 --- /dev/null +++ b/ivtest/vvp_tests/named_event_posedge_fail.json @@ -0,0 +1,4 @@ +{ + "type" : "CE", + "source" : "named_event_posedge_fail.v" +}