21 lines
812 B
Python
Executable File
21 lines
812 B
Python
Executable File
#!/usr/bin/env python3
|
|
# DESCRIPTION: Verilator: FSM coverage multi-reset assignment warning test
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
# under the terms of either the GNU Lesser General Public License Version 3
|
|
# or the Perl Artistic License Version 2.0.
|
|
# SPDX-FileCopyrightText: 2026 Wilson Snyder
|
|
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
|
|
|
import vltest_bootstrap
|
|
|
|
test.scenarios('vlt')
|
|
|
|
# Multiple reset assignments to the same FSM state variable are legal RTL but
|
|
# not a realistic reset style to model as distinct reset arcs. Warn and ignore
|
|
# reset-arc extraction for that branch instead of inventing multiple ANY->state
|
|
# coverage edges.
|
|
test.lint(verilator_flags2=["--coverage-fsm"], fails=True, expect_filename=test.golden_filename)
|
|
|
|
test.passes()
|