blob: 346161fe50e1c546d15367a728a37e7f4912049b [file]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// waiver file for aes
`verilator_config
// Always_comb variable driven after use: 'regular'
// regular is assigned in a for loop, regular[1] depends on regular[0]
lint_off -rule ALWCOMBORDER -file "*/rtl/aes_key_expand.sv" -match "*'regular'"
// Masked SBox implementations may require multiple modules to prevent aggressive synthesis optimizations.
lint_off -rule DECLFILENAME -file "*/rtl/aes_sbox_*_masked*.sv" -match "Filename 'aes_sbox_*_masked*' does not match MODULE name: *"
lint_off -rule DECLFILENAME -file "*/rtl/aes_sbox_dom*.sv" -match "Filename 'aes_sbox_dom*' does not match MODULE name: *"
// In the sp2v_sig* arrays some members may depend on others.
// There are no circular dependencies but the tool must be told to analyze each member separately for simulation, i.e., to split up the arrays internally.
// Otherwise the tool needs to evaluate corresponding statements multiple times before the entire signal settles.
// This slows down simulation and causes the tool to print UNOPTFLAT lint warnings.
split_var -module "aes_control" -var "*sp2v_sig*"
split_var -module "aes_cipher_control" -var "*sp2v_sig"
split_var -module "aes_cipher_control" -var "*sp2v_sig_chk*"