Skip to content

yosys non-determinism fix#4126

Merged
maliberty merged 14 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-yosys_fix
Apr 14, 2026
Merged

yosys non-determinism fix#4126
maliberty merged 14 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-yosys_fix

Conversation

@openroad-ci
Copy link
Copy Markdown
Collaborator

@openroad-ci openroad-ci commented Apr 8, 2026

Fixes The-OpenROAD-Project/OpenROAD#9943.

CI Could not Update Rules

[ERROR] nangate45/ariane133: No metrics found, please check the latest CI build for issues.

Updated Rules

designs/asap7/aes-block/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -2890.0 -4840.0 Failing
cts__timing__hold__tns -5670.0 -6310.0 Failing
globalroute__timing__setup__ws -77.7 -125.0 Failing
globalroute__timing__setup__tns -3020.0 -3660.0 Failing
finish__timing__setup__ws -58.1 -94.0 Failing
finish__timing__setup__tns -897.0 -1470.0 Failing

[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -1360.0 -1530.0 Failing

[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/gcd/rules-base.json updates:

Metric Old New Type
placeopt__design__instance__area 50 61 Failing
placeopt__design__instance__count__stdcell 473 611 Failing
cts__timing__setup__ws -29.6 -85.9 Failing
cts__timing__setup__tns -119.0 -1290.0 Failing
globalroute__timing__setup__ws -39.7 -112.0 Failing
globalroute__timing__setup__tns -225.0 -1790.0 Failing
detailedroute__route__wirelength 1006 1324 Failing
finish__timing__setup__ws -32.2 -104.0 Failing
finish__timing__setup__tns -141.0 -1570.0 Failing
finish__design__instance__area 55 66 Failing

designs/asap7/gcd-ccs/rules-base.json updates:

Metric Old New Type
placeopt__design__instance__area 51 61 Failing
placeopt__design__instance__count__stdcell 489 606 Failing
cts__timing__setup__ws -21.3 -63.5 Failing
cts__timing__setup__tns -67.8 -773.0 Failing
globalroute__timing__setup__ws -15.5 -63.5 Failing
globalroute__timing__setup__tns -62.0 -771.0 Failing
detailedroute__route__wirelength 925 1165 Failing
finish__timing__setup__ws -37.9 -86.7 Failing
finish__timing__setup__tns -180.0 -1270.0 Failing
finish__design__instance__area 53 63 Failing

designs/asap7/ibex/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -442.0 -1160.0 Failing
globalroute__timing__setup__tns -592.0 -9030.0 Failing
finish__timing__setup__tns -286.0 -722.0 Failing

designs/asap7/mock-alu/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -13200.0 -14100.0 Failing
globalroute__timing__setup__tns -15100.0 -18100.0 Failing
finish__timing__setup__tns -13000.0 -15700.0 Failing

[WARNING] Multiple clocks not supported. Will use first clock: clk: 333.0000.
designs/asap7/mock-cpu/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -1430.0 -1730.0 Failing
globalroute__timing__setup__tns -1780.0 -2160.0 Failing
finish__timing__setup__tns -1670.0 -2050.0 Failing

designs/asap7/uart/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -756.0 -1190.0 Failing
globalroute__timing__setup__ws -48.7 -62.2 Failing
globalroute__timing__setup__tns -1360.0 -2090.0 Failing
finish__timing__setup__tns -690.0 -1320.0 Failing

designs/gf180/riscv32i/rules-base.json updates:

Metric Old New Type
globalroute__timing__setup__tns -1.86 -5.52 Failing
finish__timing__setup__tns -1.8 -4.92 Failing

designs/nangate45/aes/rules-base.json updates:

Metric Old New Type
globalroute__timing__setup__tns -0.226 -0.846 Failing
globalroute__timing__hold__tns -0.226 -0.398 Failing

designs/nangate45/black_parrot/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -2.8 -3.32 Failing
globalroute__timing__setup__ws -2.97 -3.47 Failing
globalroute__timing__setup__tns -3.11 -4.37 Failing
finish__timing__setup__ws -2.78 -3.28 Failing

[WARNING] Multiple clocks not supported. Will use first clock: clk_i: 3.0000.
designs/nangate45/swerv/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -0.518 -1.06 Failing
cts__timing__setup__tns -338.0 -363.0 Failing
globalroute__timing__setup__ws -0.533 -1.07 Failing
globalroute__timing__setup__tns -329.0 -420.0 Failing
finish__timing__setup__ws -0.524 -1.04 Failing
finish__timing__setup__tns -311.0 -396.0 Failing

designs/nangate45/swerv_wrapper/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -0.321 -0.442 Failing
cts__timing__setup__tns -154.0 -239.0 Failing
globalroute__timing__setup__ws -0.297 -0.425 Failing
globalroute__timing__setup__tns -129.0 -342.0 Failing
finish__timing__setup__tns -113.0 -366.0 Failing

designs/nangate45/tinyRocket/rules-base.json updates:

Metric Old New Type
globalroute__timing__setup__tns -44.3 -46.6 Failing

designs/sky130hd/aes/rules-base.json updates:

Metric Old New Type
globalroute__timing__setup__ws -0.854 -1.08 Failing
finish__timing__setup__ws -0.767 -1.38 Failing
finish__timing__setup__tns -7.56 -9.15 Failing

designs/sky130hd/chameleon/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -9.61 -34.8 Failing

[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -211.0 -371.0 Failing
globalroute__timing__setup__tns -220.0 -288.0 Failing
finish__timing__setup__tns -61.5 -148.0 Failing

designs/sky130hd/riscv32i/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -1.07 -1.99 Failing
cts__timing__setup__tns -15.4 -94.0 Failing
globalroute__timing__setup__ws -1.19 -2.05 Failing
globalroute__timing__setup__tns -16.2 -203.0 Failing
finish__timing__setup__ws -1.06 -1.83 Failing
finish__timing__setup__tns -11.6 -88.2 Failing

Messages from CI

[INFO] asap7/minimal not included in CI.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/bp_quad not included in CI.
[INFO] rapidus2hp not included in the update.

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
@eder-matheus
Copy link
Copy Markdown
Member

Yosys is timing out for ariane133/136 designs:

[2026-04-08T17:09:41.286Z] 7.6. Executing ABC pass (technology mapping using ABC).
[2026-04-08T17:09:41.286Z] 7.6.1. Extracting gate netlist of module `\SyncSpRamBeNx64_00000008_00000100_0_2' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:41.286Z] 7.6.2. Extracting gate netlist of module `\SyncSpRamBeNx64_00000008_00000100_0_2_d44' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:41.286Z] 7.6.3. Extracting gate netlist of module `\SyncSpRamBeNx64_00000008_00000100_0_2_d45' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:41.286Z] 7.6.4. Extracting gate netlist of module `\ariane' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:42.104Z] 7.6.5. Extracting gate netlist of module `\csr_regfile_0000000000000000_1' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:44.716Z] 7.6.6. Extracting gate netlist of module `\ex_stage' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:46.390Z] 7.6.7. Extracting gate netlist of module `\frontend_0000000000000000' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:48.902Z] 7.6.8. Extracting gate netlist of module `\issue_read_operands' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:49.625Z] 7.6.9. Extracting gate netlist of module `\miss_handler_NR_PORTS3' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:51.218Z] 7.6.10. Extracting gate netlist of module `\mmu_16_16_00000001' to `<abc-temp-dir>/input.blif'..
[2026-04-08T17:09:52.848Z] 7.6.11. Extracting gate netlist of module `\multiplier' to `<abc-temp-dir>/input.blif'..
[2026-04-08T19:24:36.481Z] Sending interrupt signal to process
[2026-04-08T19:24:44.727Z] Terminated
[2026-04-08T19:24:44.927Z] script returned exit code 143
Timeout has been exceeded

@maliberty
Copy link
Copy Markdown
Member

Please file an issue to yosyshq for the timeout.

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
@eder-matheus eder-matheus added the UpdateRules Starts GHA to update rules label Apr 13, 2026
@openroad-ci openroad-ci removed the UpdateRules Starts GHA to update rules label Apr 13, 2026
eder-matheus and others added 3 commits April 13, 2026 20:25
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
designs/nangate45/ariane133/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| synth__design__instance__area__stdcell        | 825000.0 | 823000.0 | Tighten  |
| placeopt__design__instance__area              |   829883 |   827643 | Tighten  |
| cts__timing__setup__ws                        |   -0.694 |   -0.447 | Tighten  |
| cts__timing__setup__tns                       |  -1670.0 |   -502.0 | Tighten  |
| globalroute__antenna_diodes_count             |      194 |      189 | Tighten  |
| globalroute__timing__setup__ws                |   -0.699 |   -0.465 | Tighten  |
| globalroute__timing__setup__tns               |  -1850.0 |   -550.0 | Tighten  |
| detailedroute__antenna_diodes_count           |      194 |      190 | Tighten  |
| finish__timing__setup__ws                     |   -0.716 |   -0.464 | Tighten  |
| finish__timing__setup__tns                    |  -1830.0 |   -541.0 | Tighten  |
| finish__design__instance__area                |   838429 |   837050 | Tighten  |

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
@maliberty maliberty added the UpdateRules Starts GHA to update rules label Apr 14, 2026
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@openroad-ci openroad-ci removed the UpdateRules Starts GHA to update rules label Apr 14, 2026
@maliberty maliberty merged commit ae73a7d into The-OpenROAD-Project:master Apr 14, 2026
6 of 8 checks passed
@maliberty maliberty deleted the secure-yosys_fix branch April 14, 2026 20:48
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.

Yosys non-determinism

3 participants