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
# Install and cleanup is done in one command to minimize the build cache size
12
12
RUN apt-get update -qq \
13
13
# Extract package names from install_apt_packages.sh
14
-
&& sed '/sudo/d' install_apt_packages.sh | sed '/#/d' | sed 's/ \\//g' | sed '/^$/d' | sed '/^[[:space:]]*$/d' \
14
+
&& sed '/sudo/d' install_apt_packages.sh | sed '/#/d' | sed '/if\s.*then$/d' | sed '/else$/d' | sed '/fi$/d' | sed '/echo\s/d' | sed 's/ \\//g' | sed '/^$/d' | sed '/^[[:space:]]*$/d' | sed 's/\s//g' \
Copy file name to clipboardExpand all lines: README.developers.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -179,6 +179,29 @@ For large scale reformatting (should only be performed by VTR maintainers) the s
179
179
180
180
Python files are automatically checked using `pylint` to ensure they follow established Python conventions. You can run `pylint` on the entire repository by running `./dev/pylint_check.py`. Certain files which were created before we adopted Python lint checking are grandfathered and are not checked. To check *all* files, provide the `--check_grandfathered` argument. You can also manually check individual files using `./dev/pylint_check.py <path_to_file1> <path_to_file2> ...`.
181
181
182
+
# Sanitizing Includes
183
+
184
+
You can use include-what-you-use or the clangd language server to make sure includes are correct and you don't have missing or unused includes.
185
+
186
+
## include-what-you-use
187
+
188
+
First, install include-what-you-use. Ubuntu/Debian users can run `sudo apt install iwyu` and Fedora/RHEL users can run `sudo dnf install iwyu`. You can then compile VTR with include-what-you-use enabled to get diagnostic messages about includes in all files with the following command:
189
+
190
+
```
191
+
make CMAKE_PARAMS="-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=include-what-you-use"
192
+
```
193
+
194
+
Note that this method checks all source files and the diagnostic messages can be very long.
195
+
196
+
## clangd language server
197
+
198
+
Alternatively, if your editor supports clangd, you can use it to get diagnostic messages for the specific file you are working with. Visual Studio Code users can use the clangd extension to use clangd instead of Microsoft's C/C++ extension. To enable include diagnostics, create a file named `.clangd` in VTR root directory and add the following lines to it:
199
+
```
200
+
Diagnostics:
201
+
UnusedIncludes: Strict
202
+
MissingIncludes: Strict
203
+
```
204
+
182
205
# Running Tests
183
206
184
207
VTR has a variety of tests which are used to check for correctness, performance and Quality of Result (QoR).
Copy file name to clipboardExpand all lines: doc/src/vpr/command_line_usage.rst
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,6 +223,12 @@ General Options
223
223
224
224
If this option is not specified it may be set from the ``VPR_NUM_WORKERS`` environment variable; otherwise the default is used.
225
225
226
+
If this option is set to something other than 1, the following algorithms can be run in parallel:
227
+
228
+
* Timing Analysis
229
+
* Routing (If routing algorithm is set to parallel or parallel_decomp; See :option:`--router_algorithm`)
230
+
* Portions of analytical placement (If using the analytical placement flow and compiled VPR with Eigen enabled; See :option:`--analytical_place`)
231
+
226
232
.. note:: To compile VPR to allow the usage of parallel workers, ``libtbb-dev`` must be installed in the system.
227
233
228
234
**Default:** ``1``
@@ -1517,6 +1523,35 @@ VPR uses a negotiated congestion algorithm (based on Pathfinder) to perform rout
1517
1523
* `swns` - setup Worst Negative Slack (sWNS) [ns]
1518
1524
* `stns` - Setup Total Negative Slack (sTNS) [ns]
1519
1525
1526
+
1527
+
.. option:: --generate_net_timing_report{on|off}
1528
+
1529
+
Generates a report that lists the bounding box, slack, and delay of every routed connection in a design in CSV format (``report_net_timing.csv``). Each row in the CSV corresponds to a single net.
1530
+
1531
+
The report can later be used by other tools to enable further optimizations. For example, the Synopsys synthesis tool (Synplify) can use this information to re-synthesize the design and improve the Quality of Results (QoR).
1532
+
1533
+
Fields in the report are:
1534
+
1535
+
.. code-block:: none
1536
+
1537
+
netname : The name assigned to the net in the atom netlist
1538
+
Fanout : Net's fanout (number of sinks)
1539
+
bb_xmin : X coordinate of the net's bounding box's bottom-left corner
1540
+
bb_ymin : Y coordinate of the net's bounding box's bottom-left corner
1541
+
bb_layer_min : Lowest layer number of the net's bounding box
1542
+
bb_xmax : X coordinate of the net's bounding box's top-right corner
1543
+
bb_ymax : Y coordinate of the net's bounding box's top-right corner
1544
+
bb_layer_max : Highest layer number of the net's bounding box
1545
+
src_pin_name : Name of the net's source pin
1546
+
src_pin_slack : Setup slack of the net's source pin
1547
+
sinks : A semicolon-separated list of sink pin entries, each in the format:
0 commit comments