From fa1c65b84607b59bf76dad5eab4ac691db07a9c0 Mon Sep 17 00:00:00 2001 From: Cary R Date: Sun, 17 Jan 2021 23:05:36 -0800 Subject: [PATCH 1/4] Update ivtest with code cleanup Signed-off-by: Cary R --- generators/ivtest | 12 ------------ third_party/tests/ivtest | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/generators/ivtest b/generators/ivtest index ffea559c8ab96..fa706267311a8 100755 --- a/generators/ivtest +++ b/generators/ivtest @@ -100,18 +100,6 @@ 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', # 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) diff --git a/third_party/tests/ivtest b/third_party/tests/ivtest index 12e8b18512a4e..413217f61f19b 160000 --- a/third_party/tests/ivtest +++ b/third_party/tests/ivtest @@ -1 +1 @@ -Subproject commit 12e8b18512a4ee39498a03ad4e0b595e19ccf7c8 +Subproject commit 413217f61f19b684b8d272b7974f69daba55b668 From c89d9c669a3de80121267213614a8d064917335a Mon Sep 17 00:00:00 2001 From: Cary R Date: Mon, 18 Jan 2021 14:03:49 -0800 Subject: [PATCH 2/4] Exclude optional system tasks/functions and update ivtest to latest Signed-off-by: Cary R --- generators/ivtest | 7 +++++++ third_party/tests/ivtest | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/generators/ivtest b/generators/ivtest index fa706267311a8..a1a6f1a073147 100755 --- a/generators/ivtest +++ b/generators/ivtest @@ -100,6 +100,13 @@ ivtest_file_exclude = [ 'br988', 'pr2257003', 'pr2257003b', + # These are optional system tasks and functions and may not be supported + 'countdrivers1', + 'countdrivers2', + 'countdrivers3', + 'countdrivers4', + 'countdrivers5', + 'warn_opt_sys_tf', # 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) diff --git a/third_party/tests/ivtest b/third_party/tests/ivtest index 413217f61f19b..205da03323e57 160000 --- a/third_party/tests/ivtest +++ b/third_party/tests/ivtest @@ -1 +1 @@ -Subproject commit 413217f61f19b684b8d272b7974f69daba55b668 +Subproject commit 205da03323e57b03a98a205fcdc8c683950a89f8 From 572b81ff54f38a8b6214074788fa2ebea3180ea3 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 19 Jan 2021 21:47:06 -0800 Subject: [PATCH 3/4] Exclude Icarus specific tests and update ivtest to latest Signed-off-by: Cary R --- generators/ivtest | 49 ++++++++++++++++++++++++++++++++++++++++ third_party/tests/ivtest | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/generators/ivtest b/generators/ivtest index a1a6f1a073147..9f4bb611951ea 100755 --- a/generators/ivtest +++ b/generators/ivtest @@ -107,6 +107,51 @@ ivtest_file_exclude = [ '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) @@ -152,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 205da03323e57..09afbce1d8e52 160000 --- a/third_party/tests/ivtest +++ b/third_party/tests/ivtest @@ -1 +1 @@ -Subproject commit 205da03323e57b03a98a205fcdc8c683950a89f8 +Subproject commit 09afbce1d8e5256b49b35a655b5002bb01a92e4a From 28611f4882807601af2e310033bafc62fea54176 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 19 Jan 2021 21:53:46 -0800 Subject: [PATCH 4/4] Fix typo Signed-off-by: Cary R --- generators/ivtest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/ivtest b/generators/ivtest index 9f4bb611951ea..7176e612bb65b 100755 --- a/generators/ivtest +++ b/generators/ivtest @@ -198,7 +198,7 @@ for l in ivtest_lists: continue # skip Not Implemented tests - if re.match('NI' line[1]): + if re.match('NI', line[1]): continue name = line[0]