| // Copyright lowRISC contributors. | |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
| // SPDX-License-Identifier: Apache-2.0 | |
| // | |
| // waiver file for flash_ctrl | |
| `verilator_config | |
| // When we calculate the size for the top region config, we use NumBanks * | |
| // PagesPerBank. This is a constant integer calculation, whose result is | |
| // assigned to the 10-bit "size" field. Here, the "10" comes from the hjson. | |
| // Waive the Verilator warning, rather than slice the result, so that | |
| // AscentLint will complain if we've messed up and NumBanks * PagesPerBank is | |
| // too big to represent. | |
| // | |
| // The slightly odd-looking path glob is to match the auto-generated version of | |
| // the code too (which is at .../rtl/autogen/flash_ctrl.sv) | |
| lint_off -rule WIDTH -file "*/rtl/*flash_ctrl.sv" -match "Operator ASSIGNW expects 10 bits*MUL generates 32 bits." | |
| // The following are int parameter assignments into variables | |
| // While the variables themselves are technically not large enough to accommodate a 32b integer, synthsizers | |
| // are smart enough to do the right thing | |
| lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator EQ expects 32 bits on the LHS, but LHS's VARREF 'seed_cnt_q' generates 2 bits." | |
| lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ADD expects 32 bits on the LHS, but LHS's VARREF 'word_cnt' generates 10 bits." | |
| lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ASSIGNDLY expects 10 bits on the Assign RHS, but Assign RHS's ADD generates 32 bits." | |
| lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ASSIGNW expects 12 bits on the Assign RHS, but Assign RHS's SUB generates 32 bits." | |
| lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator LT expects 32 bits on the LHS, but LHS's VARREF 'word_cnt' generates 10 bits." |