Skip to content

Conversation

@gautschimi
Copy link
Contributor

@gautschimi gautschimi commented Oct 31, 2025

This is a follow-up PR to #28557 and comment #28557 (comment)

It adds a script that:

  • counts the number of size_only instances in the synthesized netlist
  • parses for suspicious constructs in the netlist

This script does only parse for some constructs that have been observed in the past, but it does by no means guarantee that the netlist is error-free.

@Razer6 @vogelpi @davidschrammel

@gautschimi gautschimi force-pushed the script_check_netlist branch from 3a50320 to 0562f19 Compare October 31, 2025 12:47
@gautschimi gautschimi marked this pull request as ready for review October 31, 2025 12:49
@gautschimi gautschimi force-pushed the script_check_netlist branch from 0562f19 to 3386ca6 Compare October 31, 2025 12:55
@Razer6 Razer6 enabled auto-merge October 31, 2025 14:40
@Razer6 Razer6 disabled auto-merge October 31, 2025 14:40
@gautschimi gautschimi force-pushed the script_check_netlist branch 2 times, most recently from 3065ef0 to c171396 Compare November 3, 2025 13:29
@gautschimi gautschimi force-pushed the script_check_netlist branch 2 times, most recently from e48811f to 66b56e4 Compare November 3, 2025 13:43
This script parses the generated netlist for suspicious constructs and
counts the number of size_only instances. The script has been used with
one synthesis tool only and might need adjustments for other synthesis
tools. Further, the script relies on the preserved cells in the
technology specific prim library to be called "u_size_only_*".

Signed-off-by: Michael Gautschi <[email protected]>
@gautschimi gautschimi force-pushed the script_check_netlist branch from 66b56e4 to e3a4ab4 Compare November 3, 2025 13:44
@gautschimi
Copy link
Contributor Author

please note that the script will report 0 errors on the prim_sdc_example design.

BUT, it will report 140 potential issues in 34 modules on an earlgrey synthesis:

The reason is, there are a few instances of prim_mubi4_sender in flash_ctrl and reset_manager where the output is not used. Those will be flagged by the script, but are actually not a problem. In the longer term, we should probably fix the RTL to not instantiate such buffers if they are not used

Copy link
Contributor

@SamuelRiedel SamuelRiedel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried the script out and it works as expected. Thanks.

Copy link
Member

@Razer6 Razer6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI failure is unrelated to that change.

@rswarbrick
Copy link
Contributor

Looks good to me too (and thanks, @Razer6, for explaining about the CI problem)

@rswarbrick rswarbrick added this pull request to the merge queue Nov 3, 2025
Merged via the queue into lowRISC:master with commit 4b15a86 Nov 3, 2025
44 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants