-
Notifications
You must be signed in to change notification settings - Fork 4
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
Reintroduce mock_area
feature
#146
Conversation
b6a7a50
to
ddf864a
Compare
I expected the .lef file from the mocked area to replace the regular .lef file for lb_32x128_generate_abstract. Smoketest, changing area doesn't seem to change size of .lef or trigger a rebuild:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs some fixes...
.github/workflows/ci.yml
Outdated
@@ -40,6 +40,7 @@ jobs: | |||
- "tag_array_64x184_report" | |||
- "lb_32x128_generate_abstract" | |||
- "lb_32x128_test_generate_abstract" | |||
- "lb_32x128_generate_abstract_mock_area" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could make this only an action and not a new target, though debugging locally with _mock_area_deps could be useful...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean to not test lb_32x128_generate_abstract_mock_area
target as separate job in matrix element? Or to not create *_mock_area
targets at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not to create *_mock_area at all. To the user this is an implementation detail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This target is no longer present
I see. I don't actually need or want extra targets, mocking area is just a property of the existing target, we're scaling the size of the target. When mocking area, lb_32x128_geneate_abstract should generate a .lib file and mocked .lef file. With mock_area not specified, the real .lef file should be used. |
This won't work:
It needs to be:
|
As a simplification, you can use args instead of stage_args parameter and let bazel-orfs distribute the parameters to the requisite stages... Something like:
|
The Do you want to have no extra targets, or is it OK to e.g. rename current targets, like:
|
It is only generate_abstract that needs the mocked .lef file from the mocked floorplan stage, so the regular flow should be unchanged based on a mocked floorplan. Only generate_abstract has to run again, the .lef file from generate_abstract should be overwritten by the mock area .lef |
Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
ddf864a
to
7f448a4
Compare
Applied suggestions with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a difference in size for .lef file when I change mock_area:
$ bazel build lb_32x128_generate_abstract && grep " SIZE " bazel-bin/results/asap7/lb_32x128/base/lb_32x128.lef
[deleted]
SIZE 163.62 BY 326.52 ;
Also, when I change abstract stage, it doesn't rebuild. To recap: I expect a mocked .lef replacing the real .lef file during generate_abstract and the .lib file unchanged for the target below when using mock_area:
|
[expr $scale*([$die_bbox xMax] - ([$die_bbox xMax] - [$core_bbox xMax]))] \ | ||
[expr $scale*([$die_bbox yMax] - ([$die_bbox yMax] - [$core_bbox yMax]))]\"" | ||
tee $file "export CORE_UTILIZATION=" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The need for this line would have been caught by The-OpenROAD-Project/OpenROAD-flow-scripts#2344
7f448a4
to
c8c3d6d
Compare
Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
c8c3d6d
to
20f7250
Compare
This I adjusted it and Results were placed in |
|
This PR reintroduces
mock_area
feature: creating additional mock area targets, which scaleCORE_AREA
andDIE_AREA
, and use them to run floorplan and generate_abstract.This PR also contains some minor README cleanup, like removing information about canonicalize targets.