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: doc/src/vpr/command_line_usage.rst
+4-2Lines changed: 4 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,8 @@ VPR runs all stages of (pack, place, route, and analysis) if none of :option:`--
97
97
98
98
.. option:: --legalize
99
99
100
-
Reconstruct a clustering and placement solution from an input flat placement file (use of this option supercedes option:: --pack).
100
+
Reconstruct a clustering and placement solution from an input flat placement file.
101
+
Use of this option supercedes option:: --pack.
101
102
102
103
**Default:** ``off``
103
104
@@ -1870,7 +1871,8 @@ The following options are available when VPR's legalizer is invoked to reconstru
1870
1871
1871
1872
.. option:: --write_fixed_clusters <file>
1872
1873
1873
-
Write out a (possibly incomplete) clustered placement file listing placement coordinates for clusters reconstructed from an input flat placement file. If placement is run after the legalizer, this file is automatically set as an input placement constraints file.
1874
+
Write out a (possibly incomplete) clustered placement file listing placement coordinates for clusters reconstructed from an input flat placement file.
1875
+
If placement is run after legalization, this file is automatically set as an input placement constraints file.
Copy file name to clipboardExpand all lines: doc/src/vpr/file_formats.rst
+11-6Lines changed: 11 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -747,13 +747,18 @@ inferring mode and intra-cluster routing information and correcting legality vio
747
747
748
748
Each line in the flat placement file corresponds to a netlist primitive and has the following format::
749
749
750
-
primitive_name X Y SubtileSite # optional extra info
750
+
primitive_name X Y subtilesite # optional extra info
751
751
752
752
The ``primitive_name`` is the netlist name of the primitive (see :ref:`VPR netlist naming conventions<vpr_blif_naming_convention_primitives>`).
753
-
``X``, ``Y``, and ``Subtile`` describe the placement coordinates of the complex block within which the primitive should be placed (see :ref:`VPR Placement File Format<vpr_place_file>`).
754
-
``Site`` is the ``flat site index`` on which the primitive should be placed. The flat site index is the index of a primitive site within its primitive type within its complex block type. Values are in [0...total_primitive_count-1], e.g. if there are 10 ALMs per cluster, 2 FFS and 2 LUTs per ALM, then flat site indices for FFs would run from 0 to 19, and flat site indices for LUTs would run from 0 to 19.
753
+
754
+
``X``, ``Y``, and ``subtile`` describe the placement coordinates of the complex block within which the primitive should be placed (see :ref:`VPR Placement File Format<vpr_place_file>`).
755
+
756
+
The``site`` specifies the ``flat site index`` of the primitive site on which the primitive should be placed, i.e. the index of the primitive type site within its complex block type. For example, if there are 10 ALMs per cluster, 2 FFs and 2 LUTs per ALM, then flat site indices for FFs and LUTs would each run from 0 to 19.
757
+
755
758
Optional information, e.g. cluster index or primitive type name, may be included after the `Site`; the legalizer ignores this information.
756
759
760
+
.. note:: The primitives in a flat placement file can be listed in any order.
761
+
757
762
Example flat placement file entries are shown below:
758
763
759
764
.. code-block:: none
@@ -791,14 +796,14 @@ Example flat placement file entries are shown below:
For complex pack molecules such as carry chains (see :ref:`Pack Patterns in <arch_complex_blocks>`), it is only necessary to include the root primitive in the flat placement file; the legalizer ignores non-root primitives and places all primitives in each pack molecule based on the root primitive entry. In the example file above, all lcell_comb instances shown are part of a carry chain segment, and so all except the root primitive are ignored.
799
+
For complex pack molecules such as carry chains (see :ref:`Pack Patterns in <arch_complex_blocks>`), it is only necessary to include the root primitive in the flat placement file; the legalizer ignores non-root primitives and places all primitives in each pack molecule based on the root primitive entry. In the example file above, all lcell_comb instances shown are part of a carry chain segment, and so all except the root primitive are ignored.
795
800
VPR's legalizer does not require the flat placement file to contain every primitive in the netlist; it will reconstruct the portion of the netlist and print a warning if the file does not cover the entire netlist. This functionality is useful for debugging legalization in an external placement tool.
796
801
797
-
.. note:: Use :option:`vpr --legalize` and `vpr --flat_place_file <file>` to invoke the legalizer and specify an input flat placement file.
802
+
.. note:: Use :option:`vpr --legalize` and :option:`vpr --flat_place_file <file>` to invoke the legalizer and specify an input flat placement file.
798
803
799
804
.. note: Use :option:`vpr --write_flat_place <file>` to write out a post-placement flat placement file. Use :option:`vpr --echo_file on` to write out a (possibly incomplete) post-legalization flat placement file (the file will be named `post_legalizer_flat_placement.echo`).
800
805
801
-
.. note: A flat placement file must correspond to a specific XML architecture file and a specific fixed size device layout (see :ref:`FPGA Grid Layout <arch_grid_layout>`). Use :option:`vpr --device <fixed layout name>` to specify a fixed device layout.
806
+
.. note: A flat placement file must correspond to a specific XML architecture file and a specific fixed size device layout (see :ref:`FPGA Grid Layout <arch_grid_layout>`). Use :option:`vpr --device <fixed layout name>` to specify a fixed device layout.
0 commit comments