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

orfs: bump #202

Merged
merged 1 commit into from
Nov 17, 2024
Merged

orfs: bump #202

merged 1 commit into from
Nov 17, 2024

Conversation

oharboe
Copy link
Collaborator

@oharboe oharboe commented Nov 16, 2024

@maliberty @jeffng-or FYI

Running times are very well contained even when all repair is enabled, but WNS is 10% worse than it used to be, -3300 vs -2700.

Stage: cts

Variant base 1 2
Description Base settings, provides macro placement from hierarchical synthesis Flattend, timing driven placement, CTS timing repair enabled Flattend, timing driven placement, CTS timing repair enabled, last gasp timing repair
Buffer 263659 118586 118586
Clock buffer 23267 12762 12762
Clock inverter 7223 3654 3654
Inverter 143507 70385 70385
Macro 72 72 72
Multi-Input combinational cell 1359180 740180 740180
Sequential cell 239698 118443 118443
Tie cell 2575 60 60
Timing Repair Buffer 95644 46437 46437
Total 2134825 1110579 1110579
slack -6015.186035 -3330.928955 -3330.928955
tns -508683392.0 -93219328.0 -93219328.0
GLOBAL_ROUTE_ARGS -congestion_iterations 30 -congestion_report_iter_step 5 -verbose
GPL_TIMING_DRIVEN 1 1
MACRO_PLACEMENT_TCL $(location write_macro_placement) $(location write_macro_placement)
SKIP_CTS_REPAIR_TIMING 0 0
SKIP_LAST_GASP 0
SYNTH_HIERARCHICAL 0 0
dissolve
previous_stage floorplan: BoomTile_1_synth
2_1_floorplan.log 577 139 139
2_2_floorplan_io.log 38 20 20
2_3_floorplan_macro.log 1503 23 22
2_4_floorplan_tapcell.log 35 19 19
2_5_floorplan_pdn.log 1028 1021 1019
3_1_place_gp_skip_io.log 1636 1986 1988
3_2_place_iop.log 51 29 29
3_3_place_gp.log 6311 7519 7507
3_4_place_resized.log 613 330 329
3_5_place_dp.log 1581 858 855
4_1_cts.log 543 661 656

Base configuration variables

Variable Value
CORE_AREA 2 2 1998 1998
DIE_AREA 0 0 2000 2000
FILL_CELLS
GPL_ROUTABILITY_DRIVEN 1
GPL_TIMING_DRIVEN 0
HOLD_SLACK_MARGIN -200
IO_CONSTRAINTS $(location :io-boomtile)
MACRO_PLACE_HALO 19 19
MAX_ROUTING_LAYER M7
MIN_ROUTING_LAYER M2
PDN_TCL $(PLATFORM_DIR)/openRoad/pdn/BLOCKS_grid_strategy.tcl
PLACE_DENSITY 0.24
PLACE_PINS_ARGS -annealing
ROUTING_LAYER_ADJUSTMENT 0.45
SDC_FILE $(location :constraints-boomtile)
SETUP_SLACK_MARGIN -1300
SKIP_CTS_REPAIR_TIMING 1
SKIP_INCREMENTAL_REPAIR 1
SKIP_LAST_GASP 1
SKIP_REPORT_METRICS 1
SYNTH_HIERARCHICAL 1
TAPCELL_TCL
TNS_END_PERCENT 0

Signed-off-by: Øyvind Harboe <[email protected]>
@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@jeffng-or FYI, same CI error as you see in #201

image

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@maliberty @jeffng-or Run times are now almost identical when GPL_TIMING_DRIVEN=1, SKIP_CTS_REPAIR_TIMING=0 and SKIP_LAST_GASP=0, so I think we can just make that the default now.

Was anything done on purpose to make it so, or is it just lucky initial conditions?

The only thing I can think of is The-OpenROAD-Project/OpenROAD-flow-scripts#2540

@oharboe oharboe merged commit 5cf5f57 into main Nov 17, 2024
2 of 3 checks passed
@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@maliberty @jeffng-or Looking at grt for this PR.

Is there an easy way to see which side the pins are on for a macro?

Here I believe the pins are on the right sight, which is good:

image

Here I believe the pnis are at the bottom, which would be terrible:

image

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@maliberty I tried somewhat recently to use read_def on macros to see where pins are, but ran into bugs(filed with openroad).

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

Ah, via "ITerms" I can highlight pins. They are at the top 😌

image

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

MX means mirrored about the X axis, which means flipped up-side down and mirrored.

The macro has the pins at the bottom:

image

After MX, we expect to find the pins at the top:

image

Yet, from ITerms, it looks like the pins are at the top(which is probably good for this design):

image

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@AcKoucher FYI, macro placement looks good with megaboom on latest ORFS & OpenROAD.

@oharboe
Copy link
Collaborator Author

oharboe commented Nov 17, 2024

@maliberty @jeffng-or I think the global route DRC failures are better than they used to be after 5 iterations, all the errors are in the middle and not on some fringe macros(which could be indicative of some problems in macro placement).

image

@oharboe oharboe deleted the orfs-bump branch November 17, 2024 10:43
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.

1 participant