Skip to content

Commit 1415193

Browse files
authored
Merge pull request verilog-to-routing#2766 from verilog-to-routing/update_noc_cmd_opts_doc
Update NoC options in command_line_usage.rst
2 parents cbae1d8 + 358c888 commit 1415193

File tree

1 file changed

+37
-16
lines changed

1 file changed

+37
-16
lines changed

doc/src/vpr/command_line_usage.rst

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,12 +1074,16 @@ The following options are only used when FPGA device and netlist contain a NoC r
10741074

10751075
.. note:: noc_flows_file are required to specify if NoC optimization is turned on (--noc on).
10761076

1077-
.. option:: --noc_routing_algorithm {xy_routing | bfs_routing}
1077+
.. option:: --noc_routing_algorithm {xy_routing | bfs_routing | west_first_routing | north_last_routing | negative_first_routing | odd_even_routing}
10781078

10791079
Controls the algorithm used by the NoC to route packets.
10801080

10811081
* ``xy_routing`` Uses the direction oriented routing algorithm. This is recommended to be used with mesh NoC topologies.
1082-
* ``bfs_routing`` Uses the breadth first search algorithm. The objective is to find a route that uses a minimum number of links. This can be used with any NoC topology.
1082+
* ``bfs_routing`` Uses the breadth first search algorithm. The objective is to find a route that uses a minimum number of links. This algorithm is not guaranteed to generate deadlock-free traffic flow routes, but can be used with any NoC topology.
1083+
* ``west_first_routing`` Uses the west-first routing algorithm. This is recommended to be used with mesh NoC topologies.
1084+
* ``north_last_routing`` Uses the north-last routing algorithm. This is recommended to be used with mesh NoC topologies.
1085+
* ``negative_first_routing`` Uses the negative-first routing algorithm. This is recommended to be used with mesh NoC topologies.
1086+
* ``odd_even_routing`` Uses the odd-even routing algorithm. This is recommended to be used with mesh NoC topologies.
10831087

10841088
**Default:** ``bfs_routing``
10851089

@@ -1091,28 +1095,45 @@ The following options are only used when FPGA device and netlist contain a NoC r
10911095
* ``noc_placement_weighting = 1`` means noc placement is considered equal to timing and wirelength.
10921096
* ``noc_placement_weighting > 1`` means the placement is increasingly dominated by NoC parameters.
10931097

1094-
**Default:** ``0.6``
1098+
**Default:** ``5.0``
1099+
1100+
.. option:: --noc_aggregate_bandwidth_weighting <float>
1101+
1102+
Controls the importance of minimizing the NoC aggregate bandwidth. This value can be >=0, where 0 would mean the aggregate bandwidth has no relevance to placement.
1103+
Other positive numbers specify the importance of minimizing the NoC aggregate bandwidth compared to other NoC-related cost terms.
1104+
Weighting factors for NoC-related cost terms are normalized internally. Therefore, their absolute values are not important, and
1105+
only their relative ratios determine the importance of each cost term.
1106+
1107+
**Default:** ``0.38``
10951108

10961109
.. option:: --noc_latency_constraints_weighting <float>
10971110

1098-
Controls the importance of meeting all the NoC traffic flow latency constraints.
1111+
Controls the importance of meeting all the NoC traffic flow latency constraints. This value can be >=0, where 0 would mean latency constraints have no relevance to placement.
1112+
Other positive numbers specify the importance of meeting latency constraints compared to other NoC-related cost terms.
1113+
Weighting factors for NoC-related cost terms are normalized internally. Therefore, their absolute values are not important, and
1114+
only their relative ratios determine the importance of each cost term.
10991115

1100-
* ``latency_constraints = 0`` means the latency constraints have no relevance to placement.
1101-
* ``0 < latency_constraints < 1`` means the latency constraints are weighted equally to the sum of other placement cost components.
1102-
* ``latency_constraints > 1`` means the placement is increasingly dominated by reducing the latency constraints of the traffic flows.
1103-
1104-
**Default:** ``1``
1116+
**Default:** ``0.6``
11051117

11061118
.. option:: --noc_latency_weighting <float>
11071119

11081120
Controls the importance of reducing the latencies of the NoC traffic flows.
1109-
This value can be >=0,
1121+
This value can be >=0, where 0 would mean the latencies have no relevance to placement
1122+
Other positive numbers specify the importance of minimizing aggregate latency compared to other NoC-related cost terms.
1123+
Weighting factors for NoC-related cost terms are normalized internally. Therefore, their absolute values are not important, and
1124+
only their relative ratios determine the importance of each cost term.
11101125

1111-
* ``latency = 0`` means the latencies have no relevance to placement.
1112-
* ``0 < latency < 1`` means the latencies are weighted equally to the sum of other placement cost components.
1113-
* ``latency > 1`` means the placement is increasingly dominated by reducing the latencies of the traffic flows.
1114-
1115-
**Default:** ``0.05``
1126+
**Default:** ``0.02``
1127+
1128+
.. option:: --noc_congestion_weighting <float>
1129+
1130+
Controls the importance of reducing the congestion of the NoC links.
1131+
This value can be >=0, where 0 would mean the congestion has no relevance to placement.
1132+
Other positive numbers specify the importance of minimizing congestion compared to other NoC-related cost terms.
1133+
Weighting factors for NoC-related cost terms are normalized internally. Therefore, their absolute values are not important, and
1134+
only their relative ratios determine the importance of each cost term.
1135+
1136+
**Default:** ``0.25``
11161137

11171138
.. option:: --noc_swap_percentage <float>
11181139

@@ -1122,7 +1143,7 @@ The following options are only used when FPGA device and netlist contain a NoC r
11221143
* ``0`` means NoC blocks will be moved at the same rate as other blocks.
11231144
* ``100`` means all swaps attempted by the placer are NoC router blocks.
11241145

1125-
**Default:** ``40``
1146+
**Default:** ``0``
11261147

11271148
.. option:: --noc_placement_file_name <file>
11281149

0 commit comments

Comments
 (0)