Skip to content

Commit

Permalink
Merge branch 'master' into intraclusterplacement
Browse files Browse the repository at this point in the history
  • Loading branch information
ZohairZaidi authored Oct 3, 2024
2 parents f317348 + d449e75 commit 1999cc7
Show file tree
Hide file tree
Showing 64 changed files with 3,417 additions and 296 deletions.
6 changes: 3 additions & 3 deletions doc/src/api/vpr/rr_graph.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RRGraphView

.. doxygenfile:: rr_graph_view.h
:project: librrgraph
:sections: detaileddescription
:sections: briefdescription detaileddescription func prototype user-defined public-func

.. doxygenclass:: RRGraphView
:project: librrgraph
Expand All @@ -18,7 +18,7 @@ RRGraphBuilder

.. doxygenfile:: rr_graph_builder.h
:project: librrgraph
:sections: detaileddescription
:sections: briefdescription detaileddescription func prototype user-defined public-func

.. doxygenclass:: RRGraphBuilder
:project: librrgraph
Expand All @@ -29,7 +29,7 @@ RRSpatialLookup

.. doxygenfile:: rr_spatial_lookup.h
:project: librrgraph
:sections: detaileddescription
:sections: briefdescription detaileddescription func prototype user-defined public-func

.. doxygenclass:: RRSpatialLookup
:project: librrgraph
Expand Down
2 changes: 2 additions & 0 deletions doc/src/arch/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ The valid tags within the ``<layout>`` tag are:

.. note:: At most one ``<auto_layout>`` can be specified.

.. _fixed_arch_grid_layout:

.. arch:tag:: <fixed_layout name="string" width="int" height="int">
:req_param name:
Expand Down
17 changes: 17 additions & 0 deletions doc/src/vpr/command_line_usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,23 @@ VPR runs all stages of (pack, place, route, and analysis) if none of :option:`--

**Default:** ``off``

.. option:: --analytical_place

Run the analytical placement flow.
This flows uses an integrated packing and placement algorithm which uses information from the primitive level to improve clustering and placement;
as such, the :option:`--pack` and :option:`--place` options should not be set when this option is set.
This flow requires that the device has a fixed size and some of the primitive blocks are fixed somewhere on the device grid.

.. seealso:: See :ref:`Fixed FPGA Grid Layout <fixed_arch_grid_layout>` and :option:`--device` for how to fix the device size.

.. seealso:: See :ref:`VPR Placement Constraints <placement_constraints>` for how to fix primitive blocks in a design to the device grid.

.. warning::

This analytical placement flow is experimental and under active development.

**Default:** ``off``

.. option:: --route

Run routing stage
Expand Down
20 changes: 14 additions & 6 deletions libs/librrgraph/src/base/rr_graph_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class RRGraphBuilder {
t_rr_graph_storage& rr_nodes();
/** @brief Return a writable object for update the fast look-up of rr_node */
RRSpatialLookup& node_lookup();
/** .. warning:: The Metadata should stay as an independent data structure than rest of the internal data,
/** @warning The Metadata should stay as an independent data structure from the rest of the internal data,
* e.g., node_lookup! */
/** @brief Return a writable object for the meta data on the nodes */
MetadataStorage<int>& rr_node_metadata();
Expand Down Expand Up @@ -84,8 +84,12 @@ class RRGraphBuilder {

return segment_id;
}
/** TODO @brief Return a writable list of all the rr_segments
* .. warning:: It is not recommended to use this API unless you have to. The API may be deprecated later, and future APIs will designed to return a specific data from the rr_segments.
/**
* \internal
* TODO
* \endinternal
* @brief Return a writable list of all the rr_segments
* @warning It is not recommended to use this API unless you have to. The API may be deprecated later, and future APIs will designed to return a specific data from the rr_segments.
*/
inline vtr::vector<RRSegmentId, t_segment_inf>& rr_segments() {
return rr_segments_;
Expand All @@ -103,8 +107,12 @@ class RRGraphBuilder {

return switch_id;
}
/** TODO @brief Return a writable list of all the rr_switches
* .. warning:: It is not recommended to use this API unless you have to. The API may be deprecated later, and future APIs will designed to return a specific data from the rr_switches.
/**
* \internal
* TODO
* \endinternal
* @brief Return a writable list of all the rr_switches
* @warning It is not recommended to use this API unless you have to. The API may be deprecated later, and future APIs will designed to return a specific data from the rr_switches.
*/
inline vtr::vector<RRSwitchId, t_rr_switch_inf>& rr_switch() {
return rr_switch_inf_;
Expand Down Expand Up @@ -388,7 +396,7 @@ class RRGraphBuilder {
/* Detailed information about the switches, which are used in the RRGraph */
vtr::vector<RRSwitchId, t_rr_switch_inf> rr_switch_inf_;

/** .. warning:: The Metadata should stay as an independent data structure than rest of the internal data,
/** @warning The Metadata should stay as an independent data structure from the rest of the internal data,
* e.g., node_lookup! */
/* Metadata is an extra data on rr-nodes and edges, respectively, that is not used by vpr
* but simply passed through the flow so that it can be used by downstream tools.
Expand Down
5 changes: 3 additions & 2 deletions libs/librrgraph/src/base/rr_graph_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ vtr::vector<RRNodeId, std::vector<RREdgeId>> get_fan_in_list(const RRGraphView&

//Walk the graph and increment fanin on all dwnstream nodes
rr_graph.rr_nodes().for_each_edge(
[&](RREdgeId edge, __attribute__((unused)) RRNodeId src, RRNodeId sink) {
[&](RREdgeId edge, RRNodeId src, RRNodeId sink) -> void {
(void) src;
node_fan_in_list[sink].push_back(edge);
});

Expand Down Expand Up @@ -258,4 +259,4 @@ bool inter_layer_connections_limited_to_opin(const RRGraphView& rr_graph) {
}

return limited_to_opin;
}
}
Loading

0 comments on commit 1999cc7

Please sign in to comment.