The-OpenROAD-Project / OpenROAD

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/
https://theopenroadproject.org/
BSD 3-Clause "New" or "Revised" License
1.59k stars 551 forks source link

[ERROR PPL-0089] Could not create matrix for groups. Not available slots inside section. #3256

Closed oharboe closed 1 year ago

oharboe commented 1 year ago

Describe the bug

(/usr/bin/time -f 'Elapsed time: %E[h:]min:sec. CPU time: user %U sys %S (%P). Peak memory: %MKB.' /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad -exit -no_init  /home/oyvind/OpenROAD-flow-scripts/flow//scripts/io_placement.tcl -metrics ./logs/asap7/FooBar/base/3_2_place_iop.json) 2>&1 | tee ./logs/asap7/FooBar/base/3_2_place_iop.log
OpenROAD v2.0-7935-g59e34f303 
Using 2 tracks default min distance between IO pins.
[WARNING PPL-0042] Unsuccessfully assigned I/O groups.
[WARNING PPL-0092] Pin group of size 256 does not fit any section. Adding to fallback mode.
[WARNING PPL-0042] Unsuccessfully assigned I/O groups.
[WARNING PPL-0092] Pin group of size 384 does not fit any section. Adding to fallback mode.
[WARNING PPL-0078] Not enough available positions (53) in section (120.0, 58.572)-(120.0, 77.676) at edge RIGHT to place the pin group of size 59.
[ERROR PPL-0089] Could not create matrix for groups. Not available slots inside section.
Error: io_placement.tcl, 13 PPL-0089
Command exited with non-zero status 1
Elapsed time: 0:02.26[h:]min:sec. CPU time: user 2.15 sys 0.06 (98%). Peak memory: 210884KB.
make: *** [/home/oyvind/OpenROAD-flow-scripts/flow/Makefile:504: results/asap7/FooBar/base/3_2_place_iop.odb] Error 1

Expected Behavior

Should allocate pins.

This design has plenty of space for the pins:

image

Environment

OpenROAD v2.0-7935-g59e34f303

To Reproduce

I will see tomorrow about sharing the test-case with Matt.

Relevant log output

No response

Screenshots

No response

Additional Context

No response

oharboe commented 1 year ago

@eder-matheus FYI

oharboe commented 1 year ago

@eder-matheus FYI, I have provied a confidential test-case to @maliberty

eder-matheus commented 1 year ago

@oharboe Could you try this branch: https://github.com/eder-matheus/OpenROAD/tree/ppl_fix? I think it should fix this error you're facing.

oharboe commented 1 year ago

@oharboe Could you try this branch: https://github.com/eder-matheus/OpenROAD/tree/ppl_fix? I think it should fix this error you're facing.

I'm getting:

OpenROAD v2.0-7950-g0c0b0bb7b
[deleted]
Found 0 macro blocks.
Using 1u default distance from corners.
Using 2 tracks default min distance between IO pins.
[WARNING PPL-0042] Unsuccessfully assigned I/O groups.
[WARNING PPL-0092] Pin group of size 256 does not fit any section. Adding to fallback mode.
[WARNING PPL-0042] Unsuccessfully assigned I/O groups.
[WARNING PPL-0092] Pin group of size 384 does not fit any section. Adding to fallback mode.
[WARNING PPL-0078] Not enough available positions (53) in section (120.0, 58.572)-(120.0, 77.676) at edge RIGHT to place the pin group of size 59.
[ERROR PPL-0089] Could not create matrix for groups. Not available slots inside section.
Error: io_placement.tcl, 13 PPL-0089
Command exited with non-zero status 1

Checking that your fix is in...

image

oharboe commented 1 year ago

@eder-matheus FYI, @maliberty has a testcase that still fails with your fix.