diff --git a/generators/ivtest b/generators/ivtest index ffea559c8ab96..7176e612bb65b 100755 --- a/generators/ivtest +++ b/generators/ivtest @@ -100,18 +100,58 @@ ivtest_file_exclude = [ 'br988', 'pr2257003', 'pr2257003b', - # Constant out of bound selects may be flagged as an compile time error - 'pr1978358', - 'pr1978358b', - 'pr1978358c', - 'pr1978358d', - 'sel_rval_bit_ob', - 'sel_rval_part_ob', - # Varaibles used before they are declared - 'pr1648365', - 'pr1936363', - # This uses $abstime from Verilog-A - 'pr2590274a', + # These are optional system tasks and functions and may not be supported + 'countdrivers1', + 'countdrivers2', + 'countdrivers3', + 'countdrivers4', + 'countdrivers5', + 'warn_opt_sys_tf', + # Icarus checks that always blocks have delay constructs to prevent + # infinite loops. For now exclude these. I would ideally like to make + # these marked as fails for Icarus and and correctly parsed for others. + 'always4A', + 'always4B', + 'always311A', + 'always311B', + 'always312A', + 'always312B', + 'always312C', + 'always312D', + 'always312E', + 'always312F', + 'always312G', + 'always312H', + 'always312I', + 'always313A', + 'always313B', + 'always313C', + 'always313D', + 'always313E', + 'always313F', + 'always313G', + 'always313H', + 'always313J', + 'always319A', + 'always319B', + 'always3110A', + 'br991b', + 'pr1862744b', + # Icarus checks that the always_* processes do not contain delay + # constructs and that the always_ff has a sensitivity list. These should + # should fail in Icarus, but should parse correctly. + 'always_comb_fail3', + 'always_comb_fail4', + 'always_comb_fail', + 'always_ff_fail2', + 'always_ff_fail3', + 'always_ff_fail4', + 'always_ff_fail', + 'always_ff_no_sens', + 'always_latch_fail3', + 'always_latch_fail4', + 'always_latch_fail', + 'always_latch_no_sens', # The following tests need to be looked at and verified 'case3', # '@ *' is invalid event_control ( '@*' or '@ (*)' is valid ) 'fread', # $fread from invalid variable (per wsnyder) @@ -157,6 +197,10 @@ for l in ivtest_lists: if len(line) < 3: continue + # skip Not Implemented tests + if re.match('NI', line[1]): + continue + name = line[0] path = os.path.join(ivtest_dir, line[2], line[0] + '.v') should_fail_because = '' diff --git a/third_party/tests/ivtest b/third_party/tests/ivtest index 12e8b18512a4e..09afbce1d8e52 160000 --- a/third_party/tests/ivtest +++ b/third_party/tests/ivtest @@ -1 +1 @@ -Subproject commit 12e8b18512a4ee39498a03ad4e0b595e19ccf7c8 +Subproject commit 09afbce1d8e5256b49b35a655b5002bb01a92e4a