Lift asap7 cell use restriction#3168
Lift asap7 cell use restriction#3168openroad-ci wants to merge 7 commits intoThe-OpenROAD-Project:masterfrom
Conversation
50d9c70 to
2f74547
Compare
35b3294 to
edde02e
Compare
|
Just as a note, fractional cells (and sometimes even X1 cells) are often marked as dont_use because they are often not good for process variation and reliability, especially in advanced nodes. ASAP7+OR likely doesn't have the sophistication necessary to model and measure this behavior. I believe these cells were indeed previously excluded primarily because they created pin access problems. But I suppose it raises the question of should they be reinstated because it improves QoR on this non-fabricable process, or continue to be excluded to keep it more representative of real 7nm processes. |
@rovinski that's interesting. I also see on ASAP7 that some gate functions are available as a fractional cell only, e.g. |
|
Users can choose to exclude cells as they wish but as a test for OR I think it best to include all cells if possible. We can't assume that no users will want to use small cells on manufacturable processes. |
|
Lots of rules conflicts to resolve. I think most pending updates have gone in if you want to try again. |
Forbidding the fractional cells harms QoR. The tool seems able to handle these cells just fine so we can lift the restriction. Signed-off-by: Martin Povišer <povik@cutebit.org>
After the don't use change the mapping to standard cells is denser. For
the area coming out of synthesis we have
Chip area for module '\cva6': 14649.248080
of which used for sequential elements: 3027.420360 (20.67%)
vs previously
Chip area for module '\cva6': 17152.298740
of which used for sequential elements: 3027.420360 (17.65%)
At the same time RD placement struggles with the new netlist. We can
lower the placement density to work around and still fit into the
original die size.
Signed-off-by: Martin Povišer <povik@cutebit.org>
9826a87 to
ed1558c
Compare
|
We're now getting
in repair_timing or on placement TD iterations. I assume it's related to this recent STA change: parallaxsw/OpenSTA@f3b7853 |
|
I believe @mikeinouye observed the same. Do you know what cell it happens on? |
|
Reported upstream |
|
Fixed upstream and merged to OR. Please update the OR submodule and try again. |
|
Phew, that was quick |
Signed-off-by: Martin Povišer <povik@cutebit.org>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: Martin Povišer <povik@cutebit.org>
|
Superseded by #3544 |
Forbidding the fractional cells harms QoR. The tool seems able to handle these cells just fine so we can lift the restriction.
[ci:rules-tighten]
[ci:rules-failing]
CI Could not Update Rules
[ERROR] asap7/aes-block: No metrics found, please check the latest CI build for issues.
Updated Rules
designs/asap7/aes/rules-base.json updates:
designs/asap7/aes-block/rules-base.json updates:
designs/asap7/aes-mbff/rules-base.json updates:
designs/asap7/aes_lvt/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac_lvt/rules-base.json updates:
designs/asap7/gcd/rules-base.json updates:
designs/asap7/gcd-ccs/rules-base.json updates:
designs/asap7/ibex/rules-base.json updates:
designs/asap7/jpeg/rules-base.json updates:
designs/asap7/jpeg_lvt/rules-base.json updates:
designs/asap7/mock-alu/rules-base.json updates:
designs/asap7/mock-array/rules-base.json updates:
designs/asap7/riscv32i/rules-base.json updates:
designs/asap7/riscv32i-mock-sram/rules-base.json updates:
designs/asap7/uart/rules-base.json updates:
designs/gf180/aes/rules-base.json updates:
designs/gf180/aes-hybrid/rules-base.json updates:
designs/gf180/ibex/rules-base.json updates:
designs/gf180/jpeg/rules-base.json updates:
designs/gf180/riscv32i/rules-base.json updates:
designs/ihp-sg13g2/aes/rules-base.json updates:
designs/ihp-sg13g2/gcd/rules-base.json updates:
designs/ihp-sg13g2/i2c-gpio-expander/rules-base.json updates:
designs/ihp-sg13g2/ibex/rules-base.json updates:
designs/ihp-sg13g2/jpeg/rules-base.json updates:
designs/ihp-sg13g2/riscv32i/rules-base.json updates:
designs/ihp-sg13g2/spi/rules-base.json updates:
designs/nangate45/aes/rules-base.json updates:
designs/nangate45/ariane133/rules-base.json updates:
designs/nangate45/bp_be_top/rules-base.json updates:
designs/nangate45/bp_multi_top/rules-base.json updates:
designs/nangate45/dynamic_node/rules-base.json updates:
designs/nangate45/gcd/rules-base.json updates:
designs/nangate45/ibex/rules-base.json updates:
designs/nangate45/jpeg/rules-base.json updates:
designs/nangate45/swerv/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
designs/nangate45/tinyRocket/rules-base.json updates:
designs/sky130hd/chameleon/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/sky130hd/ibex/rules-base.json updates:
designs/sky130hd/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:
designs/sky130hs/aes/rules-base.json updates:
designs/sky130hs/ibex/rules-base.json updates:
Messages from CI
[INFO] asap7/cva6 not included in CI.
[INFO] asap7/minimal not included in CI.
[INFO] asap7/mock-cpu set to not run for this PR.
[INFO] asap7/swerv_wrapper set to not run for this PR.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/ariane136 set to not run for this PR.
[INFO] nangate45/black_parrot set to not run for this PR.
[INFO] nangate45/bp_quad not included in CI.
[INFO] nangate45/mempool_group not included in CI.
[INFO] src not included in the update.
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/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/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/uart: No metrics found, please check the latest CI build for issues.
Updated Rules
designs/asap7/aes/rules-base.json updates:
designs/asap7/aes-block/rules-base.json updates:
designs/asap7/aes-mbff/rules-base.json updates:
designs/asap7/aes_lvt/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac_lvt/rules-base.json updates:
designs/asap7/gcd/rules-base.json updates:
designs/asap7/gcd-ccs/rules-base.json updates:
designs/asap7/ibex/rules-base.json updates:
designs/asap7/jpeg/rules-base.json updates:
designs/asap7/jpeg_lvt/rules-base.json updates:
designs/asap7/mock-alu/rules-base.json updates:
designs/asap7/mock-array/rules-base.json updates:
designs/asap7/riscv32i/rules-base.json updates:
designs/asap7/riscv32i-mock-sram/rules-base.json updates:
designs/asap7/uart/rules-base.json updates:
designs/gf180/aes/rules-base.json updates:
designs/gf180/aes-hybrid/rules-base.json updates:
designs/gf180/ibex/rules-base.json updates:
designs/gf180/jpeg/rules-base.json updates:
designs/gf180/riscv32i/rules-base.json updates:
designs/gf180/uart-blocks/rules-base.json updates:
designs/ihp-sg13g2/gcd/rules-base.json updates:
designs/ihp-sg13g2/ibex/rules-base.json updates:
designs/ihp-sg13g2/jpeg/rules-base.json updates:
designs/nangate45/aes/rules-base.json updates:
designs/nangate45/ariane133/rules-base.json updates:
designs/nangate45/bp_be_top/rules-base.json updates:
designs/nangate45/bp_fe_top/rules-base.json updates:
designs/nangate45/bp_multi_top/rules-base.json updates:
designs/nangate45/dynamic_node/rules-base.json updates:
designs/nangate45/gcd/rules-base.json updates:
designs/nangate45/ibex/rules-base.json updates:
designs/nangate45/jpeg/rules-base.json updates:
designs/nangate45/swerv/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
designs/nangate45/tinyRocket/rules-base.json updates:
designs/sky130hd/chameleon/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/sky130hd/ibex/rules-base.json updates:
designs/sky130hd/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:
designs/sky130hd/riscv32i/rules-base.json updates:
designs/sky130hs/aes/rules-base.json updates:
designs/sky130hs/gcd/rules-base.json updates:
designs/sky130hs/ibex/rules-base.json updates:
designs/sky130hs/riscv32i/rules-base.json updates:
Messages from CI
[INFO] asap7/cva6 not included in CI.
[INFO] asap7/minimal not included in CI.
[INFO] asap7/mock-cpu set to not run for this PR.
[INFO] asap7/swerv_wrapper set to not run for this PR.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/ariane136 set to not run for this PR.
[INFO] nangate45/black_parrot set to not run for this PR.
[INFO] nangate45/bp_quad not included in CI.
[INFO] nangate45/mempool_group not included in CI.
[INFO] rapidus2hp not included in the update.
[INFO] src not included in the update.