Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ivtest with code cleanup #1286

Merged
merged 4 commits into from
Jan 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 56 additions & 12 deletions generators/ivtest
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 = ''
Expand Down
2 changes: 1 addition & 1 deletion third_party/tests/ivtest
Submodule ivtest updated 133 files