Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced sizing restrictions #6728

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

openroad-ci
Copy link
Collaborator

added get_equiv_cells command for debugging
fixed a bug with set_opt_config

@precisionmoon
Copy link
Contributor

@povik , @AcKoucher, @gudeh, you may find get_equiv_cells and set_opt_config helpful in debugging RSZ issues. None of sizing restrictions have been enabled by default in ORFS yet.

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Cho Moon <[email protected]>
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Comment on lines -501 to +517
set_dont_use {CLKBUF_* AOI211_X1 OAI211_X1}
set_dont_use {CLKBUFi_* AOI211_X1 OAI211_X1}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this change intentional?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. Fixed

Comment on lines +9 to +13
Cell Area Area Leakage Leakage
Ratio Ratio
====================================================================
sky130_fd_sc_hd__clkbuf_1 3753600 1.00 1.18e-12 1.00
sky130_fd_sc_hd__buf_1 3753600 1.00 1.18e-12 1.00
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The columns and the header don't line up. Area should be right aligned.

Comment on lines +16 to +19
sky130_fd_sc_hd__dlymetal6s4s_1 12512000 3.33 1.31e-11 11.05
sky130_fd_sc_hd__clkdlybuf4s50_1 10009600 2.67 3.91e-12 3.31
sky130_fd_sc_hd__dlymetal6s2s_1 12512000 3.33 1.31e-11 11.05
sky130_fd_sc_hd__dlygate4sd2_1 8758400 2.33 5.26e-12 4.45
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be sorted in some fashion?

@@ -868,6 +868,16 @@ proc report_opt_config { args } {
puts "***********************************"
}

sta::define_cmd_args "get_equiv_cells" { -match_cell_footprint }

proc get_equiv_cells { args } {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think report_equiv_cells would be better as this doesn't return anything.

worst slack -0.99
worst slack -0.93
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this change?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is due to a bug in integer division. Numbers like 2.6 got truncated to 2.

@@ -770,6 +770,57 @@ eliminate_dead_logic_cmd(bool clean_nets)
resizer->eliminateDeadLogic(clean_nets);
}

void get_equiv_cells_cmd(LibertyCell* cell, bool match_cell_footprint)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better to put this in Resizer so it is available in Python as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

odb::dbMaster* equiv_master
= resizer->getDbNetwork()->staToDb(equiv_cell);
float equiv_cell_leakage;
bool leakage_exists2;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is leakage_exists2 is false?

equiv_cell->leakagePower(equiv_cell_leakage, leakage_exists2);
logger->report("{:<35} {:<9} {:.2f} {:.2e} {:.2f}",
equiv_cell->name(),
equiv_master->getArea(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be nice to report the areas as um^2 instead of DBUs^2

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.

4 participants