Skip to content

Bump OR - fix createNewFlatNet flat/modnet name collision with BTerm#3959

Open
openroad-ci wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-insert-buffer-name-collision
Open

Bump OR - fix createNewFlatNet flat/modnet name collision with BTerm#3959
openroad-ci wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-insert-buffer-name-collision

Conversation

@openroad-ci
Copy link
Collaborator

Summary

  • Bumps OpenROAD submodule to include the fix for createNewFlatNet flat net and modnet name collision with BTerm.
  • Fixes spurious assign statements and multi-driver errors in VerilogWriter output that caused Kepler LEC failures in hierarchical designs (e.g., bp_fe_top).

OpenROAD PR

Root Cause

When remove_buffers merges two port-named nets (both having BTerms), it leaves:

  1. A BTerm on a flat net with a mismatched name
  2. A stale modnet retaining the old port name

createNewFlatNet() now always names the new net after the BTerm and renames any colliding flat net or modnet first.

🤖 Generated with Claude Code

jhkim-pii and others added 4 commits March 7, 2026 08:37
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
designs/nangate45/tinyRocket/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |    -17.1 |    -19.0 | Failing  |
| globalroute__timing__setup__tns               |    -30.0 |    -35.3 | Failing  |
| finish__timing__setup__tns                    |    -28.5 |    -31.9 | Failing  |

designs/asap7/aes-block/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |  -3710.0 |  -5150.0 | Failing  |
| globalroute__timing__setup__tns               |  -3650.0 |  -4295.0 | Failing  |
| globalroute__timing__hold__ws                 |    -22.5 |    -25.9 | Failing  |

designs/nangate45/ariane133/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__tns               |   -583.0 |   -642.0 | Failing  |

designs/nangate45/bp_fe_top/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| finish__timing__hold__ws                      |      0.0 |   -0.002 | Failing  |
| finish__timing__hold__tns                     |      0.0 |   -0.003 | Failing  |

designs/nangate45/bp_multi_top/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| finish__timing__setup__tns                    |   -262.0 |   -291.0 | Failing  |

designs/sky130hd/chameleon/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__antenna_diodes_count             |      188 |      218 | Failing  |

designs/sky130hd/microwatt/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -300.0 |   -352.0 | Failing  |
| detailedroute__antenna__violating__nets       |        3 |        6 | Failing  |

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@openroad-ci openroad-ci force-pushed the secure-fix-insert-buffer-name-collision branch from 2243b0c to db398b3 Compare March 6, 2026 23:45
Update OR submodule to include the refactored collision
detection logic in createNewFlatNet as recommended in
code review.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@openroad-ci openroad-ci force-pushed the secure-fix-insert-buffer-name-collision branch from 2f63cc1 to 5635871 Compare March 7, 2026 00:59
@jhkim-pii jhkim-pii requested a review from maliberty March 7, 2026 04:22
@jhkim-pii
Copy link
Contributor

jhkim-pii commented Mar 7, 2026

@maliberty
Merge conflict and QoR fluctuation occur frequently whenever pulling masters.
Especially, the ORFS metric updates incur the merge conflict due to the different rules-base.json file updates by different PRs.
I think the repetitive metric updates require non-trivial effort without meaningful gain.

How about this flow?

  1. Create multiple ORFS PRs by users.
  2. Each ORFS PR should not have metric updates. --> No merge conflict by metric updates
  • If there is a significant QoR degradation in the PR-head CI, the PR author should enhance or explain it.
  • All functional failures should be addressed.
  • All metric failures are waived.
  1. Merge all the pending PRs into a new PR and run CIs
  2. Do ORFS metric update once in the PR.
  3. Merge all the PRs.

designs/rapidus2hp/cva6/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__ws                        |   -0.138 |   -0.101 | Tighten  |
| cts__timing__setup__tns                       |   -287.0 |   -205.0 | Tighten  |
| globalroute__timing__setup__tns               |   -575.0 |   -584.0 | Failing  |
| finish__timing__setup__tns                    |   -575.0 |   -584.0 | Failing  |

designs/rapidus2hp/cva6/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__ws                        |   -0.157 |    -0.14 | Tighten  |
| cts__timing__setup__tns                       |   -518.0 |   -412.0 | Tighten  |
| globalroute__timing__setup__tns               |   -650.0 |   -697.0 | Failing  |
| finish__timing__setup__tns                    |   -650.0 |   -697.0 | Failing  |

designs/rapidus2hp/hercules_is_int/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__ws                |   -0.105 |   -0.104 | Tighten  |
| globalroute__timing__setup__tns               |   -907.0 |  -1120.0 | Failing  |
| finish__timing__setup__ws                     |   -0.105 |   -0.104 | Tighten  |
| finish__timing__setup__tns                    |   -907.0 |  -1120.0 | Failing  |

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
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.

2 participants