cvw/sim/coverage-exclusions-rv64gc.do

56 lines
2.6 KiB
Plaintext
Raw Normal View History

2023-03-19 17:26:09 +00:00
#///////////////////////////////////////////
#// coverage-exclusions-rv64gc.do
#//
#// Written: David_Harris@hmc.edu 19 March 2023
#//
#// Purpose: Set of exclusions from coverage for rv64gc configuration
#// For example, signals hardwired to 0 should not be checked for toggle coverage
#//
#// A component of the CORE-V-WALLY configurable RISC-V project.
#//
#// Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University
#//
#// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
#//
#// Licensed under the Solderpad Hardware License v 2.1 (the “License”); you may not use this file
#// except in compliance with the License, or, at your option, the Apache License version 2.0. You
#// may obtain a copy of the License at
#//
#// https://solderpad.org/licenses/SHL-2.1/
#//
#// Unless required by applicable law or agreed to in writing, any work distributed under the
#// License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
#// either express or implied. See the License for the specific language governing permissions
#// and limitations under the License.
#////////////////////////////////////////////////////////////////////////////////////////////////
# This file should be a last resort. It's preferable to put
# // coverage off
# statements inline with the code whenever possible.
2023-03-24 00:25:27 +00:00
# LZA (i<64) statement confuses coverage tool
# This is ugly to exlcude the whole file - is there a better option? // coverage off isn't working
2023-03-24 00:25:27 +00:00
coverage exclude -srcfile lzc.sv
# Exclude D$ states from coverage in the I$ instance of cachefsm.
# This is cleaner than trying to set an I$-specific pragma in cachefsm.sv
# Also exclude the write line to ready transition for the I$ since we can't get a flush
# during this operation.
coverage exclude -scope /dut/core/ifu/bus/icache/icache/cachefsm -fstate CurrState STATE_FLUSH STATE_FLUSH_WRITEBACK STATE_FLUSH_WRITEBACK
coverage exclude -scope /dut/core/ifu/bus/icache/icache/cachefsm -ftrans CurrState STATE_WRITE_LINE->STATE_READY
2023-03-24 00:25:27 +00:00
######################
# Toggle exclusions
# Not used because toggle coverage isn't measured
######################
2023-03-19 17:26:09 +00:00
# Exclude DivBusyE from all design units because rv64gc uses the fdivsqrt unit for integer division
2023-03-24 00:25:27 +00:00
#coverage exclude -togglenode DivBusyE -du *
2023-03-19 17:26:09 +00:00
# Exclude QuotM and RemM from MDU because rv64gc uses the fdivsqrt rather tha div unit for integer division
2023-03-24 00:25:27 +00:00
#coverage exclude -togglenode /dut/core/mdu/mdu/QuotM
#coverage exclude -togglenode /dut/core/mdu/mdu/RemM
2023-03-19 17:26:09 +00:00
# StallFCause is hardwired to 0
2023-03-24 00:25:27 +00:00
#coverage exclude -togglenode /dut/core/hzu/StallFCause