You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+66-49Lines changed: 66 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ We are happy to announce that [Xplace 2.0](https://ieeexplore.ieee.org/abstract/
12
12
13
13
Please check our [TCAD paper](https://ieeexplore.ieee.org/document/10373583) for more details about **Xplace-Route**!
14
14
15
-
## About
15
+
## About Xplace
16
16
Xplace is a fast and extensible GPU-accelerated global placement framework developed by the research team supervised by Prof. Evangeline F. Y. Young at The Chinese University of Hong Kong (CUHK). It achieves around 3x speedup per GP iteration compared to DREAMPlace and shows high extensibility.
17
17
18
18
@@ -30,37 +30,53 @@ Lixin Liu, Bangqi Fu, Martin D. F. Wong, and Evangeline F. Y. Young. "[Xplace: a
30
30
31
31
(For the Xplace-NN, please refer to branch [neural](https://github.com/cuhk-eda/Xplace/tree/neural))
-[Innovus®](https://www.cadence.com/content/cadence-www/global/en_US/home/tools/digital-design-and-signoff/soc-implementation-and-floorplanning/innovus-implementation-system.html) (version 20.14, optional, for detailed routing and design rule checking)
70
+
71
+
## 2. How to Run
72
+
### 2.1. Data Preparation
57
73
The following script will automatically download `ispd2005`, `ispd2015`, `iccad2019`, `ispd2018`, and `ispd2019` benchmarks in `./data/raw`. It also preprocesses `ispd2015` benchmark to fix some errors. Note that Innovus® can run detailed routing on this fixed `ispd2015`.
58
74
```bash
59
75
cd$XPLACE_HOME/data
60
76
./download_data.sh
61
77
```
62
78
63
-
##Get started
79
+
### 2.2. Run Placement Flow
64
80
- To run GP + DP flow for ISPD2005 dataset:
65
81
```bash
66
82
# only run adaptec1
@@ -104,24 +120,47 @@ In ./result/exp_id
104
120
- output # placement solutions
105
121
```
106
122
107
-
## Parameters
108
-
Please refer to `main.py`.
109
-
110
-
## Run custom dataset
111
-
You can use the argument `--custom_path` to run your custom LEF/DEF or bookshelf benchmark.
123
+
### 2.3. Run Your Own Design
124
+
-**Custom Path Mode**: You can use the argument `--custom_path` to run your custom LEF/DEF or bookshelf benchmark.
112
125
113
126
Suppose there is a LEF/DEF benchmark named `toy` in `data/raw`, you can use the following command line to run the GP + DP flow:
Please provide your LEFs/DEF in the input `json` file. An example of [ASAP7](https://github.com/The-OpenROAD-Project/asap7) input is given in `./examples/examples.json`. Note that the `verilog` format is only partially supported.
123
136
124
-
## Load design from preprocessed `pt` file (Optional)
137
+
### 2.4. Placement Parameters
138
+
Please refer to `main.py`.
139
+
140
+
## 3. Other Features
141
+
142
+
### 3.1. GPU-accelerated Place and Global Route Flow
143
+
Set `--final_route_eval True` in Python arguments to invoke the internal global router [GGR](cpp_to_py/gpugr/README.md) to run GPU-accelerated PnR flow. The flow will output the **placement DEF** and the **global routing guide** in `./result/exp_id/output`. Besides, GR metrics are reported in the log and recorded in `./result/exp_id/log/route.csv`.
144
+
145
+
- To run Place and Global Route flow for ISPD2015 dataset:
More details about using GGR in Xplace can be found in [cpp_to_py/gpugr/README.md](cpp_to_py/gpugr/README.md).
151
+
152
+
### 3.2. Evaluate the Routability of Placement Solution
153
+
We provide three ways to evaluate the routability of a placement solution:
154
+
155
+
1. Set `--final_route_eval True` to invoke [GGR](cpp_to_py/gpugr/README.md) to evaluate the placement solution.
156
+
157
+
2. Use [CU-GR](https://github.com/cuhk-eda/cu-gr) to evaluate the placement solution by global routing. Please refer to [tool/cugr_ispd2015_fix/README.md](tool/cugr_ispd2015_fix/README.md) for instructions.
158
+
159
+
3. (Optional). If Innovus® has been properly installed in your OS, you may try to use Innovus® to detailedly route the placement solution. Please refer to [tool/innovus_ispd2015_fix/README.md](tool/innovus_ispd2015_fix/README.md) for instructions.
160
+
161
+
162
+
163
+
### 3.3. Load Design from Preprocessed File
125
164
The following script will dump the parsed design into a single torch `pt` file so Xplace can load the design from the `pt` file instead of parsing the input file from scratch.
2. We currently do not support `pt` mode in the routability-driven global placement.
144
183
3. If you want to run `pt` mode for the custom dataset, you need to add the custom dataset path in `utils/get_design_params.py`.
145
184
146
-
## GPU-accelerated place and global route flow (Xplace-Route + GGR)
147
-
Set `--final_route_eval True` in Python arguments to invoke the internal global router [GGR](cpp_to_py/gpugr/README.md) to run GPU-accelerated PnR flow. The flow will output the **placement DEF** and the **global routing guide** in `./result/exp_id/output`. Besides, GR metrics are reported in the log and recorded in `./result/exp_id/log/route.csv`.
148
-
149
-
- To run Place and Global Route flow for ISPD2015 dataset:
More details about using GGR in Xplace can be found in [cpp_to_py/gpugr/README.md](cpp_to_py/gpugr/README.md).
155
-
156
-
## Evaluate the routability of Xplace's solution
157
-
We provide three ways to evaluate the routability of a placement solution:
158
-
159
-
1. Set `--final_route_eval True` to invoke [GGR](cpp_to_py/gpugr/README.md) to evaluate the placement solution.
160
-
161
-
2. Use [CU-GR](https://github.com/cuhk-eda/cu-gr) to evaluate the placement solution by global routing. Please refer to [tool/cugr_ispd2015_fix/README.md](tool/cugr_ispd2015_fix/README.md) for instructions.
162
-
163
-
3. (Optional). If Innovus® has been properly installed in your OS, you may try to use Innovus® to detailedly route the placement solution. Please refer to [tool/innovus_ispd2015_fix/README.md](tool/innovus_ispd2015_fix/README.md) for instructions.
164
-
165
-
166
-
## Citation
185
+
## 4. Citation
167
186
If you find **Xplace** useful in your research, please consider to cite:
168
187
```bibtex
169
188
@article{xplace_tcad,
@@ -205,15 +224,13 @@ Thanks the authors of [ePlace](https://dl.acm.org/doi/10.1145/2699873), [RePlAce
0 commit comments