// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// common waiver rules for verilator

`verilator_config

// Do not warn about unconnected pins in module instantiations, e.g.
// `.optional_output ()`.
lint_off -rule PINCONNECTEMPTY

// This warning gives wrong results with blackboxed embedded modules, see
// https://github.com/verilator/verilator/issues/2430
lint_off -rule DECLFILENAME -file "*" -match "Filename '*' does not match NOTFOUNDMODULE name:*"

// Don't generate lint errors for unused parameters in packages. The point is
// that a user of a package might not want to use all of the parameters it
// defines.
lint_off -rule UNUSED -file "*_pkg.sv" -match "*Parameter is not used*"
