-
Notifications
You must be signed in to change notification settings - Fork 5
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
Use ORFS from docker image #16
Use ORFS from docker image #16
Conversation
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.
break into one rules.mk per stage or we have to rebuild everything when we tinker with one rule. redoing a 7200s synthesis is annoying when tweaking e.g. floorplan rules...
115fce0
to
03c11cb
Compare
Required for passing correct paths to mount in the docker container Signed-off-by: Pawel Czarnecki <[email protected]>
03c11cb
to
e596cf7
Compare
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.
Remove util.tcl from bazel-orfs, this is part of what the user of bazel-orfs needs to set up and provide. The user may or may not have a util.tcl.
@lpawelcz I realize this is WIP, but thought I would try it quickly. Removed util.tcl references in bazel-orfs and got this far:
|
README.md
Outdated
@@ -100,6 +100,11 @@ The example comes from the `BUILD` file in this repository. For details about ta | |||
|
|||
This script loads the ORFS environment and evaluates the rest of the command line that called the script. | |||
|
|||
### util.tcl |
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.
remove. Not part of bazel-orfs.
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.
Done
@@ -5,5 +5,5 @@ bazel-generate_abstract: | |||
|
|||
.PHONY: bazel-generate_abstract_mock_area | |||
bazel-generate_abstract_mock_area: bazel-generate_abstract | |||
cp $(RESULTS_DIR)/../mock_area/$(DESIGN_NAME).lef $(RESULTS_DIR)/ |
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.
hmmm.... was the removal of mock_area intentional here?
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.
If I understand this correctly, this target was meant to copy files from mock_area
flow variant output directory to base
(or other flow variant provided in one of the build_openroad
attributes) output directory.
After my modifications RESULTS_DIR
in the context of mock_area
stages already points to the directory relevant to mock_area
flow variant. We then have to build the path for the other flow variant from scratch.
@@ -1,4 +1,4 @@ | |||
source util.tcl |
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.
move util.tcl into the test/ folder. It is not part of bazel-orfs, but part of the design being built.
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.
Done
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.
nits.
Also, we can squash these numerous commits into a single one or a few. There has been a fair deal of back and forth testing out things, the history of trying out things isn't important going forward.
For the time being docker flow is supported and tested only in EDIT:
Sure. For now this is WIP. At this stage I prefer to keep small commits in case something has to be reverted or slightly modified. I will surely clean the history before putting up this work for a review. |
8794666
to
e62cdac
Compare
Reworked TCL and constraints handling, cleaned up the code responsible for flow arguments, source and outputs specification. The plan for now is to add modified version of |
6e0ec05
to
eafbf96
Compare
Signed-off-by: Pawel Czarnecki <[email protected]>
Import slightly modified docker_shell.sh utility from ORFS Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
…unction Signed-off-by: Pawel Czarnecki <[email protected]>
Assume util.tcl is always a dependency for synth, floorplan and place stages. Introduce UTIL_TCL env var which should be used for including util.tcl in different scripts Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
…parate functions Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Paweł Czarnecki <[email protected]>
* Run job in default GitHub Runner container * Load the ORFS image before running bazel targets Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Add modified configuration for L1MetadataArray design Perform additional 'route' and 'flow' stages Signed-off-by: Paweł Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
…nd Make version Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
Check if it is possible to locally continue physical design flow which was started with the docker flow. Signed-off-by: Eryk Szpotanski <[email protected]>
…lues in GDS_ALLOW_EMPTY Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Eryk Szpotanski <[email protected]>
c653c41
to
9c6a77e
Compare
@lpawelcz ready? |
@lpawelcz I need an accompanying megaboom pull request... |
@oharboe ready, here is the megaboom PR: The-OpenROAD-Project/megaboom#29 |
Continue testing and file github issues based upon master. |
This PR modifies the existing rules to run physical design flow in a docker container with installed OpenROAD-flow-scripts.
It uses rules_oci to import and load external docker image into local docker runtime.
The solution is based on generating
config.mk
files for each design (once perbuild_openroad()
) with new macro calledwrite_config()
. The config consist of common and design-specific environment variables, as well as definitions of all rules for make targets used in bazel-orfs.The config and other inputs to the flow are passed down to the docker container using
bind mount
mechanism.Currently it is required to disable bazel's sandboxing feature in order to provide correct paths for mounting directories with input files for the flow.
The flow is started with an entrypoint script based on
docker_shell.sh
utility imported fromOpenROAD-flow-scripts
.