lowRISC / lowRISC/opentitan

[syn] Fix or suppress DC warnings about "parameter keyword in local parameter declaration"

Open
#4,937 6 comments 0 reactions 0 assignees View on GitHub
Component:RTL Earlgrey-PROD Triaged Priority:P3 Type:Cleanup
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

The synthesis logs are full of warnings like the following one:

Warning: ../src/lowrisc_ip_lc_ctrl_state_pkg_0.1/rtl/lc_ctrl_state_pkg.sv:61: Parameter keyword used in local parameter declaration. (VER-329)

These are triggered from the use of `parameter` within packages, e.g. in this particular case:

```verilog
parameter logic [15:0] A0 = 16'b1011000010101001; // ECC: 6'b100101
```

We should either figure out how to rewrite our code to not trigger this warning (use localparam instead and change our style guide? They are equivalent in this context), or otherwise silence the DC warning.

@msfschaffner maybe you can have a look at the DC user guide for the motivation for this warning from DC in the first place?

Contributor guide

Open the contributing guide

Research direction

Start with src/lowrisc_ip_lc_ctrl_state_pkg_0.1/rtl/lc_ctrl_state_pkg.sv and inspect the package parameter declarations that produce VER-329. Read the Design Compiler user guide to understand the warning, then determine whether the declarations should use localparam or the warning should be suppressed. Done means the synthesis logs no longer contain these warnings and the chosen approach is consistent with the project style.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.