blob: d221ade81476bafe851f2aa6d33c3f3dc1d6deb1 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# waiver file for Platform-Level Interrupt Controller
waive -rules ONE_BIT_MEM_WIDTH -location {rv_plic.sv} -regexp {Memory '(claim_re|complete_we)' has} \
-comment "N_TARGET can be 1."
waive -rules VAR_INDEX_RANGE -location {rv_plic.sv} -regexp {(claim_id|complete_id).* (maximum|minimum) value} \
-comment "Claim ID is guarded inside target module, complete ID has undeterministic behavior if FW writes OOR value"
waive -rules HIER_NET_NOT_READ -location {rv_plic.sv} -regexp {[Nn]et 'tl_[io]\.[ad]_(address|param|user)} \
-comment "Register interface doesn't use upper address and param, user filed"
waive -rules EXPLICIT_BITLEN -location {rv_plic_target.sv} -regexp {Bit length .* '1'} \
-comment "i + 1 is assumed as constant and guarded by SRCW"
waive -rules INTEGER -location {rv_plic_target.sv} -regexp {'i' of type int used as} \
-comment "int i is static and only assigned to irq_id_next when it hits condition"
waive -rules TWOS_COMP -location {rv_plic_target.sv} -regexp {Explicit two's complement with terms} \
-comment "This is permissible in this context"