Skip to content

Commit

Permalink
README: Add information about GUI targets
Browse files Browse the repository at this point in the history
Signed-off-by: Eryk Szpotanski <[email protected]>
  • Loading branch information
eszpotanski committed Apr 17, 2024
1 parent ce2b0ef commit 2b8f4e5
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This repository contains [Bazel](https://bazel.build/) rules for wrapping Physic
docker pull ghcr.io/antmicro/openroad-flow-scripts/ubuntu22.04:latest
```
In such case the `docker_image` attribute of `build_openroad` macro must be set to `ghcr.io/antmicro/openroad-flow-scripts/ubuntu22.04:latest`
* Providing different docker image and overriding default used in the flow through `doker_image` attribute of `build_openroad` macro
* Providing different docker image and overriding default used in the flow through `docker_image` attribute of `build_openroad` macro
## Usage
Expand Down Expand Up @@ -106,6 +106,14 @@ Make targets:
//:L1MetadataArray_test_memory_make
//:L1MetadataArray_test_memory_make_script

GUI targets:
//:L1MetadataArray_test_gui_synth_make
//:L1MetadataArray_test_gui_synth_make_script
//:L1MetadataArray_test_synth_gui
//:L1MetadataArray_test_floorplan_gui
//:L1MetadataArray_test_place_gui
//:L1MetadataArray_test_cts_gui

Config generation targets:

Design config:
Expand Down Expand Up @@ -143,7 +151,7 @@ For details about targets spawned by this macro please refer to `Implementation`
This file contains simple helper functions written in starlark as well as macro `build_openroad()`.
The implementation of this macro spawns multiple `genrule` native rules which are responsible for preparing and running ORFS physical design flow targets during bazel build stage.
These are the genrules spawend in this macro:
These are the genrules spawned in this macro:
* Config generation targets
* Common for the whole design (named: `target_name + “_config”`)
Expand All @@ -152,6 +160,9 @@ These are the genrules spawend in this macro:
* Special stage: Memory targets (named: `target_name + “_memory”`)
* Special mock flow: Mock Area targets (named: `target_name + “_” + stage + “_mock_area”`)
* Make targets (named: `target_name + “_” + stage + “_make”`)
* GUI targets
* Common for Docker Stage targets (named: `target_name + “_” + stage + “_gui”`)
* Special Make target for synth (named: `target_name + “_gui_synth_make”`)
There are two kinds of flows available:
* Docker flow (Stage targets)
Expand Down Expand Up @@ -245,6 +256,38 @@ Used for estimating sizes of macros with long build times and checking if they w
These targets print RAM summaries for a given module.
#### GUI Targets
Those targets are used to run OpenROAD GUI with Docker flow. They are executable rules, therefore have to be called with `run`:
```
bazel run L1MetadataArray_full_final_gui
```
GUI is not available for all stages, consequently GUI targets are created only for:
* synthesis
* floorplan
* place
* clock tree synthesis
* route
* final
To use GUI with local flow it is enough to call generated script with `gui_{stage}` make target:
```
# Assuming L1MetadataArray_full_final is built
bazel build L1MetadataArray_full_final_make
./bazel-bin/L1MetadataArray_full_final_make gui_final
```
The exception is GUI for Synth stage, which requires additional LEF files provided with `_gui_synth_make` target:
```
# Assuming L1MetadataArray_full_synth and L1MetadataArray_full_synth_sdc is built
bazel build L1MetadataArray_full_gui_synth_make
./bazel-bin/L1MetadataArray_full_gui_synth_make gui_synth
```
### Constraints handling
Constraint files are passed down to `build_openroad()` macro through attributes:
Expand Down

0 comments on commit 2b8f4e5

Please sign in to comment.