Skip to content

Conversation

@openroad-ci
Copy link
Collaborator

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

Make slang the default frontend and add opt-outs for some designs. The opt-outs are for

  • all private designs except those which already use slang, this is done to save on private CI churn
  • the remaining opt-outs are on designs which don't go through with slang because slang is flagging a syntactical or semantical error in the input

CI Could not Update Rules

[ERROR] asap7/aes-block: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes-mbff: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/cva6: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ethmac: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ethmac_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/gcd-ccs: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/jpeg_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/mock-alu: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/mock-cpu: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/riscv32i-mock-sram: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/riscv32i: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/swerv_wrapper: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/uart: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/aes-hybrid: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/aes: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/riscv32i: No metrics found, please check the latest CI build for issues.
[ERROR] gf180/uart-blocks: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/aes: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/i2c-gpio-expander: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/riscv32i: No metrics found, please check the latest CI build for issues.
[ERROR] ihp-sg13g2/spi: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/aes: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/ariane133: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/ariane136: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/black_parrot: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/bp_be_top: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/bp_fe_top: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/bp_multi_top: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/dynamic_node: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/mempool_group: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/swerv: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/swerv_wrapper: No metrics found, please check the latest CI build for issues.
[ERROR] nangate45/tinyRocket: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/aes: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/chameleon: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/microwatt: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hd/riscv32i: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hs/aes: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hs/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hs/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hs/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] sky130hs/riscv32i: 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
placeopt__design__instance__count__stdcell 10573 19934 Failing
detailedroute__route__wirelength 52923 77305 Failing

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

Metric Old New Type
cts__timing__setup__ws -38.2 -69.5 Failing
cts__timing__setup__tns -687.0 -1500.0 Failing
globalroute__timing__setup__ws -49.6 -72.6 Failing
globalroute__timing__setup__tns -2160.0 -3090.0 Failing
finish__timing__setup__tns -1130.0 -1500.0 Failing

[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
[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
cts__timing__setup__tns -281.0 -422.0 Failing
globalroute__timing__setup__tns -439.0 -513.0 Failing
finish__timing__setup__tns -270.0 -361.0 Failing

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

Metric Old New Type
cts__timing__setup__tns -103.0 -207.0 Failing
globalroute__timing__setup__tns -102.0 -187.0 Failing

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

Metric Old New Type
cts__timing__setup__tns -107.0 -141.0 Failing
globalroute__timing__setup__tns -124.0 -165.0 Failing
finish__timing__setup__tns -119.0 -157.0 Failing

designs/gf180/aes-hybrid/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -144.0 -208.0 Failing
globalroute__timing__setup__tns -158.0 -230.0 Failing
finish__timing__setup__tns -154.0 -221.0 Failing

designs/gf180/uart-blocks/rules-base.json updates:

Metric Old New Type
placeopt__design__instance__count__stdcell 726 1036 Failing
detailedroute__route__wirelength 18889 29243 Failing

designs/ihp-sg13g2/i2c-gpio-expander/rules-base.json updates:

Metric Old New Type
placeopt__design__instance__count__stdcell 951 1448 Failing
detailedroute__route__wirelength 38152 46152 Failing

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

Metric Old New Type
cts__timing__setup__tns -12.8 -16.3 Failing
globalroute__timing__setup__tns -18.6 -19.9 Failing
finish__timing__setup__tns -17.1 -19.6 Failing

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

Metric Old New Type
globalroute__timing__setup__tns -0.36 -0.753 Failing
finish__timing__setup__tns -0.795 -1.89 Failing

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

Metric Old New Type
detailedroute__route__wirelength 4515 5793 Failing

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

Metric Old New Type
finish__timing__setup__tns -41.1 -41.6 Failing

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

Metric Old New Type
cts__timing__setup__tns -23.6 -58.0 Failing
globalroute__timing__setup__tns -39.6 -70.7 Failing
finish__timing__setup__tns -33.7 -69.2 Failing

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

Metric Old New Type
detailedroute__route__wirelength 8444 10996 Failing

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

Metric Old New Type
globalroute__timing__setup__tns -8.68 -22.2 Failing

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

Metric Old New Type
finish__timing__setup__tns -8.38 -10.1 Failing

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

Metric Old New Type
globalroute__timing__setup__ws -0.244 -0.397 Failing
globalroute__timing__setup__tns -2.47 -5.1 Failing
finish__timing__setup__tns -0.632 -1.7 Failing

designs/sky130hs/gcd/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -10.5 -11.2 Failing
globalroute__timing__setup__tns -16.3 -16.7 Failing
finish__timing__setup__tns -12.0 -12.7 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.

povik added 3 commits January 8, 2026 14:58
When using slang in synthesis, switch on Verilog compatibility if all
source file names end in `.v`

Signed-off-by: Martin Povišer <[email protected]>
Pass the extra flag to make slang ignore a class of synthesizable
language features.

Signed-off-by: Martin Povišer <[email protected]>
Make slang the default and apply a number of opt-outs across the design
suite. The opt-outs are for designs which don't go through with slang
today, usually because the input is not fully up to spec.

Private designs which weren't using slang previously get an opt-out to
save on private CI churn.

Signed-off-by: Martin Povišer <[email protected]>
@povik
Copy link
Contributor

povik commented Jan 8, 2026

@maliberty Now that slang has a Verilog compatibility mode most designs go through. Those that don't could be fixed by a slight modification of the input but I leave that for later. Let me know if you agree with the change of default.

@povik
Copy link
Contributor

povik commented Jan 8, 2026

Those that don't could be fixed by a slight modification of the input

That is true at least of the ones I looked at.

@maliberty
Copy link
Member

Is it possible to accept those without modification? Unless they are illegal we should support them.

@povik
Copy link
Contributor

povik commented Jan 8, 2026

I'm sampling some of the ones which I think are illegal below.

designs/src/swerv/swerv_wrapper.sv2v.v:65987:55: error: redefinition of 'dec_tlu_debug_mode'
  N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,dec_tlu_debug_mode,
                                                      ^
designs/src/swerv/swerv_wrapper.sv2v.v:65971:68: note: previous definition here
  dec_tlu_mpc_halted_only,dec_tlu_dbg_halted,dec_tlu_pmu_fw_halted,dec_tlu_debug_mode,
                                                                   ^
designs/src/riscv32i/dmem.v:33:10: error: cannot assign to a net within a procedural context
         we_mem = 4'b0000;
         ^~~~~~
designs/src/bp_multi_top/pickled.v:54505:35: error: redefinition of 'exclusive_flag_o'
  exclusive_flag_o,N0,N1,N2,N3,N4,exclusive_flag_o,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
                                  ^

designs/src/bp_multi_top/pickled.v:54505:3: note: previous definition here
  exclusive_flag_o,N0,N1,N2,N3,N4,exclusive_flag_o,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
  ^

These next two I'm not sure of. It might be the case they are illegal per the standard but widely accepted.

designs/src/fifo/wptr_full.v:28:78: error: endianness of selection must match declared range (type is 'logic[1:0]')
  assign wfull_val = (wgraynext == {~wq2_rptr[ADDRSIZE:ADDRSIZE-1], wq2_rptr[ADDRSIZE-2:0]});
                                                                             ^~~~~~~~~~~~
designs/src/microwatt/IPs/RAM512.v:2:21: error: misplaced trailing ','
    parameter BITS=9,
                    ^

@maliberty
Copy link
Member

Apparently yosys can read them. However if they are truly illegal we could diverge.

@povik povik added the UpdateRules Starts GHA to update rules label Jan 8, 2026
@openroad-ci openroad-ci removed the UpdateRules Starts GHA to update rules label Jan 9, 2026
@povik povik added the UpdateRules Starts GHA to update rules label Jan 13, 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 Jan 13, 2026
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