[aes/lint] Waive Verilator lint warnings related to split_var Verilator 4.210 - 4.214 erroneously generates some UNOPTFLAT warnings despite split_var. This will most likely be resolved in Verilator 4.215. See also Verilator/Verilator#3177. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
diff --git a/hw/ip/aes/lint/aes.vlt b/hw/ip/aes/lint/aes.vlt index 38aff8b..fa50924 100644 --- a/hw/ip/aes/lint/aes.vlt +++ b/hw/ip/aes/lint/aes.vlt
@@ -33,3 +33,11 @@ split_var -module "aes_masked_inverse_gf2p4*" -var "b1_inv_buf" split_var -module "aes_masked_inverse_gf2p4*" -var "b0_inv" split_var -module "aes_masked_inverse_gf2p4*" -var "b0_inv_buf" + +// Similarly, there are no circular dependencies in the signals below but here the split_var technique doesn't seem to work in Verilator 4.210 - 4.214. +// TODO: Remove these waivers once we upgrade to a Verilator version > 4.214. +// For details, see https://github.com/verilator/verilator/issues/3177 +lint_off -rule UNOPTFLAT -file "*/rtl/aes_control.sv" -match "Signal unoptimizable: Feedback to clock or circular logic: '*u_aes_control.sp2v_sig[59:48]'" +lint_off -rule UNOPTFLAT -file "*/rtl/aes_control.sv" -match "Signal unoptimizable: Feedback to clock or circular logic: '*u_aes_control.sp2v_sig[23:12]'" +lint_off -rule UNOPTFLAT -file "*/rtl/aes_control.sv" -match "Signal unoptimizable: Feedback to clock or circular logic: '*u_aes_control.sp2v_sig[11:0]'" +lint_off -rule UNOPTFLAT -file "*/rtl/aes_cipher_control.sv" -match "Signal unoptimizable: Feedback to clock or circular logic: '*u_aes_cipher_control.sp2v_sig[23:12]'"