Skip to content

lec: fix cell filtering and update kepler-formal#3957

Open
openroad-ci wants to merge 8 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-kf-issue
Open

lec: fix cell filtering and update kepler-formal#3957
openroad-ci wants to merge 8 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-kf-issue

Conversation

@openroad-ci
Copy link
Collaborator

Summary

  • Enhance find_physical_only_masters to auto-detect cells with no signal pins and no liberty cell, eliminating the need for manual REMOVE_CELLS_FOR_LEC pattern maintenance
  • Still support REMOVE_CELLS_FOR_LEC
  • Update kepler-formal submodule to 093a7b5 (fix for missing bus direction in liberty parser)

🤖 Generated with Claude Code

@jhkim-pii
Copy link
Contributor

gf180/uart fails due to The-OpenROAD-Project/OpenROAD#9661.

@jhkim-pii
Copy link
Contributor

The-OpenROAD-Project/OpenROAD#9674 fixes gf180/jpeg issue.

jhkim-pii added a commit to jhkim-pii/OpenROAD-flow-scripts that referenced this pull request Mar 6, 2026
Widen metric bounds (value * 1.1) to fix CI metric check failures.

| Design                          | Metric                                  | Old     | Observed  | New     |
|---------------------------------|-----------------------------------------|---------|-----------|---------|
| nangate45/tinyRocket (base)     | cts__timing__setup__tns                 | -17.1   | -17.2921  | -19.0   |
| nangate45/tinyRocket (base)     | globalroute__timing__setup__tns         | -30.0   | -32.0924  | -35.3   |
| nangate45/tinyRocket (base)     | finish__timing__setup__tns              | -28.5   | -29.0358  | -31.9   |
| asap7/aes-block (base)          | cts__timing__setup__tns                 | -3710   | -4682.05  | -5150   |
| asap7/aes-block (base)          | globalroute__timing__setup__tns         | -3650   | -3904.8   | -4295   |
| asap7/aes-block (base)          | globalroute__timing__hold__ws           | -22.5   | -23.5852  | -25.9   |
| nangate45/bp_multi_top (base)   | finish__timing__setup__tns              | -262    | -264.507  | -291    |
| sky130hd/chameleon (base)       | globalroute__antenna_diodes_count       | 188     | 198       | 218     |
| sky130hd/microwatt (base)       | cts__timing__setup__tns                 | -300    | -319.524  | -352    |
| sky130hd/microwatt (base)       | detailedroute__antenna__violating__nets | 3       | 5         | 6       |
| rapidus2hp/cva6 (base)          | cts__timing__setup__tns                 | -287    | -316.999  | -349    |
| rapidus2hp/cva6 (verific)       | globalroute__timing__setup__tns         | -650    | -731.798  | -805    |
| rapidus2hp/cva6 (verific)       | finish__timing__setup__tns              | -650    | -731.821  | -805    |

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-kf-issue branch from a84f84d to 40e7c5f Compare March 6, 2026 23:47
openroad-ci pushed a commit to The-OpenROAD-Project-staging/OpenROAD-flow-scripts that referenced this pull request Mar 6, 2026
Widen metric bounds (value * 1.1) to fix CI metric check failures.

| Design                          | Metric                                  | Old     | Observed  | New     |
|---------------------------------|-----------------------------------------|---------|-----------|---------|
| nangate45/tinyRocket (base)     | cts__timing__setup__tns                 | -17.1   | -17.2921  | -19.0   |
| nangate45/tinyRocket (base)     | globalroute__timing__setup__tns         | -30.0   | -32.0924  | -35.3   |
| nangate45/tinyRocket (base)     | finish__timing__setup__tns              | -28.5   | -29.0358  | -31.9   |
| asap7/aes-block (base)          | cts__timing__setup__tns                 | -3710   | -4682.05  | -5150   |
| asap7/aes-block (base)          | globalroute__timing__setup__tns         | -3650   | -3904.8   | -4295   |
| asap7/aes-block (base)          | globalroute__timing__hold__ws           | -22.5   | -23.5852  | -25.9   |
| nangate45/bp_multi_top (base)   | finish__timing__setup__tns              | -262    | -264.507  | -291    |
| sky130hd/chameleon (base)       | globalroute__antenna_diodes_count       | 188     | 198       | 218     |
| sky130hd/microwatt (base)       | cts__timing__setup__tns                 | -300    | -319.524  | -352    |
| sky130hd/microwatt (base)       | detailedroute__antenna__violating__nets | 3       | 5         | 6       |
| rapidus2hp/cva6 (base)          | cts__timing__setup__tns                 | -287    | -316.999  | -349    |
| rapidus2hp/cva6 (verific)       | globalroute__timing__setup__tns         | -650    | -731.798  | -805    |
| rapidus2hp/cva6 (verific)       | finish__timing__setup__tns              | -650    | -731.821  | -805    |

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@jhkim-pii jhkim-pii requested a review from maliberty March 7, 2026 04:21
jhkim-pii and others added 6 commits March 8, 2026 06:21
- Enhance find_physical_only_masters to auto-detect cells with no
  signal pins and no liberty cell (e.g., CDMMTYPE2 marker cells)
- Add REMOVE_CELLS_FOR_LEC support to write_lec_verilog in lec_check.tcl
- Update kepler-formal to 093a7b5 (fix for missing bus direction)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Widen metric bounds (value * 1.1) to fix CI metric check failures.

| Design                          | Metric                                  | Old     | Observed  | New     |
|---------------------------------|-----------------------------------------|---------|-----------|---------|
| nangate45/tinyRocket (base)     | cts__timing__setup__tns                 | -17.1   | -17.2921  | -19.0   |
| nangate45/tinyRocket (base)     | globalroute__timing__setup__tns         | -30.0   | -32.0924  | -35.3   |
| nangate45/tinyRocket (base)     | finish__timing__setup__tns              | -28.5   | -29.0358  | -31.9   |
| asap7/aes-block (base)          | cts__timing__setup__tns                 | -3710   | -4682.05  | -5150   |
| asap7/aes-block (base)          | globalroute__timing__setup__tns         | -3650   | -3904.8   | -4295   |
| asap7/aes-block (base)          | globalroute__timing__hold__ws           | -22.5   | -23.5852  | -25.9   |
| nangate45/bp_multi_top (base)   | finish__timing__setup__tns              | -262    | -264.507  | -291    |
| sky130hd/chameleon (base)       | globalroute__antenna_diodes_count       | 188     | 198       | 218     |
| sky130hd/microwatt (base)       | cts__timing__setup__tns                 | -300    | -319.524  | -352    |
| sky130hd/microwatt (base)       | detailedroute__antenna__violating__nets | 3       | 5         | 6       |
| rapidus2hp/cva6 (base)          | cts__timing__setup__tns                 | -287    | -316.999  | -349    |
| rapidus2hp/cva6 (verific)       | globalroute__timing__setup__tns         | -650    | -731.798  | -805    |
| rapidus2hp/cva6 (verific)       | finish__timing__setup__tns              | -650    | -731.821  | -805    |

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Update OR submodule to rebased commit (758a57d790)
with clean history on top of OR master.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
designs/rapidus2hp/cva6/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__ws                        |   -0.138 |   -0.111 | Tighten  |
| cts__timing__setup__tns                       |   -349.0 |   -245.0 | Tighten  |
| globalroute__timing__setup__ws                |   -0.255 |   -0.282 | Failing  |
| finish__timing__setup__ws                     |   -0.255 |   -0.282 | 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               |   -805.0 |   -697.0 | Tighten  |
| finish__timing__setup__tns                    |   -805.0 |   -697.0 | Tighten  |

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@openroad-ci openroad-ci force-pushed the secure-fix-kf-issue branch from 5a73a7d to eb0ad24 Compare March 7, 2026 21:28
@maliberty
Copy link
Member

I don't understand why LEC related changes require metrics updating.

designs/nangate45/swerv_wrapper/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__ws                        |   -0.267 |   -0.197 | Tighten  |
| cts__timing__setup__tns                       |    -84.2 |    -8.83 | Tighten  |
| globalroute__timing__setup__ws                |   -0.246 |   -0.398 | Failing  |
| globalroute__timing__setup__tns               |    -75.8 |    -7.17 | Tighten  |
| detailedroute__route__wirelength              |  5599467 |  4491246 | Tighten  |
| finish__timing__setup__ws                     |   -0.248 |   -0.185 | Tighten  |
| finish__timing__setup__tns                    |    -87.5 |   -0.853 | Tighten  |
| finish__timing__hold__ws                      |   -0.107 |   -0.103 | Tighten  |
| finish__timing__hold__tns                     |   -0.407 |   -0.403 | Tighten  |

designs/rapidus2hp/cva6/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -245.0 |   -243.0 | Tighten  |
| globalroute__timing__setup__ws                |   -0.282 |   -0.261 | Tighten  |
| globalroute__timing__hold__tns                |   -0.108 |     -0.1 | Tighten  |
| finish__timing__setup__ws                     |   -0.282 |   -0.261 | Tighten  |
| finish__timing__hold__tns                     |   -0.108 |     -0.1 | Tighten  |

designs/rapidus2hp/hercules_is_int/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -142.0 |   -132.0 | Tighten  |
| globalroute__timing__setup__ws                |   -0.134 |   -0.103 | Tighten  |
| globalroute__timing__setup__tns               |  -1010.0 |   -898.0 | Tighten  |
| finish__timing__setup__ws                     |   -0.134 |   -0.103 | Tighten  |
| finish__timing__setup__tns                    |  -1010.0 |   -898.0 | Tighten  |

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@jhkim-pii
Copy link
Contributor

The metric update is not related to this PR.
The metric update is to make ORFS CI checks pass.
Can I remove the metric update in this case?

Re-ran update_rules with pr-head artifacts to widen bounds that were
over-tightened from pr-merge results. Manually kept globalroute__timing__setup__ws
at -0.398 to cover both pr-head (-0.146) and pr-merge (-0.298) observations.

designs/nangate45/swerv_wrapper/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |    -8.83 |    -84.2 | Failing  |
| globalroute__timing__setup__ws                |   -0.246 |   -0.398 | (kept)   |
| globalroute__timing__setup__tns               |    -7.17 |    -75.8 | Failing  |
| detailedroute__route__wirelength              |  4491246 |  5599467 | Failing  |
| finish__timing__setup__tns                    |   -0.853 |    -87.5 | Failing  |

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@maliberty
Copy link
Member

The metric update is to make ORFS CI checks pass.

Master is passing so I don't know what you are referring to. Yes you can remove them.

@jhkim-pii
Copy link
Contributor

jhkim-pii commented Mar 8, 2026

The metric update is to make ORFS CI checks pass.

Master is passing so I don't know what you are referring to. Yes you can remove them.

Ah.. this PR has the related OR bump (ID collision fix), which affects QoR (object sequence can change).

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.

3 participants