blob: bbed6fc971528dd40ba9b39d4637db5c8e9622ad [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 rstmgr
# dedicated reset drivers / muxes
set_reset_drivers prim_clock_mux2 prim_flop_2sync prim_flop
set_clock_drivers prim_clock_buf
waive -rules TERMINAL_STATE -location {rstmgr_cnsty_chk.sv} -regexp {Terminal state 'Error' is detected} \
-comment "Intentional terminal state"
# All leaf resets have a reset multiplexer for scan reset
waive -rules RESET_MUX -location {rstmgr.sv rstmgr_por.sv rstmgr_ctrl.sv} -regexp {Asynchronous reset '(resets_o\.)?rst_[A-Za-z_0-9]+_n(\[[0-9:]+\])?' is driven by a multiplexer} \
-comment "This is dedicated reset infrastructure, and hence permissible"
waive -rules RESET_MUX -location {rstmgr_leaf_rst.sv} -regexp {Asynchronous reset 'leaf_rst_o' is driven by a multiplexer} \
-comment "This is dedicated reset infrastructure, and hence permissible"
waive -rules RESET_USE -location {rstmgr.sv} -regexp {'rst_(por_aon_)?n\[1\]' is connected to 'rstmgr_ctrl' port 'rst_.*ni*} \
-comment "Parent Non always on resets are combined with the always on reset first before being used as resets"
waive -rules RESET_USE -location {rstmgr.sv} -regexp {rst_lc_src_n.* is connected to 'rstmgr_ctrl' port 'rst_parent_ni.*} \
-comment "Parent resets are used synchronously instead of directly as async resets"