mpl: update halo/channel naming and usage, pin-aware flag - #11292
eder-matheus merged 43 commits into
Conversation
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request refactors the macro halo handling in the MPL and ODB modules, replacing the deprecated halo commands with a new, unified channel-based interface (-min_channel_size and set_halo). It also introduces pin-aware channel trimming. The review identified a critical bug in the Tcl implementation of set_halo where the flag check was incorrectly formatted, and a high-severity issue in ClusteringEngine where the layer direction was incorrectly derived from the first geometry of a pin rather than the current box. These issues have been noted for correction.
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
gadfort
left a comment
There was a problem hiding this comment.
I think you should add some testing for the new set_halo command
AcKoucher
left a comment
There was a problem hiding this comment.
Just some nits to fix. I really like these changes!
Signed-off-by: João Mai <jmai@precisioninno.com>
There was a problem hiding this comment.
Code-wise LGTM.
Some problems in the checks though:
//test/orfs/mock-array:MockArray_4x4_base_cts_path_groups_test FAILED TO BUILD
//test/orfs/mock-array:MockArray_4x4_base_final_path_groups_test FAILED TO BUILD
//test/orfs/mock-array:MockArray_4x4_base_macro_layout_test FAILED TO BUILD
//test/orfs/mock-array:MockArray_4x4_base_test FAILED TO BUILD
//test/orfs/mock-array:MockArray_4x4_flat_cts_path_groups_test FAILED TO BUILD
[...]
//src/mpl/test:mpl_readme_msgs_check-py_test FAILED in 0.1s
//src/odb/test:odb_readme_msgs_check-py_test FAILED in 0.2s
Signed-off-by: João Mai <jmai@precisioninno.com>
These tests require a bumping the commit from bazel-orfs, which can only be done after the feature itself is merged. |
Signed-off-by: João Mai <jmai@precisioninno.com>
|
Paired with #4493 on ORFS. |
Signed-off-by: João Mai <jmai@precisioninno.com>
…s used Signed-off-by: João Mai <jmai@precisioninno.com>
|
//src/odb/test:set_halo-tcl_test failed |
Signed-off-by: João Mai <jmai@precisioninno.com>
There's also some IT issue going on. |
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Summary
Updates MPL's macro halo/channel configuration into two arguments for
mpl::rtl_macro_placer:Creates
odb::set_halo, now used to set halos for any instance (with a convenience flag to set to all macros).MPL is still aware of halos set in ODB (be it from DEF or by user), however with a functional change: pin-aware channels don't apply to channels created by instance halos. This actually fixes a bug, where it was possible to have
min_spacingchannels on some sides without pins, and 0 on sides with pins (if -halo_width/-halo_height were unset), which also leads to changes in lots of tests that had this behavior.Type of Change
Impact
MPL can't create nor update halos anymore, being only concerned with halos already set beforehand or with the new
min_size_channelargument.Verification
./etc/Build.sh).Related Issues
#11062