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/file_formats.rst
+5-8Lines changed: 5 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -616,35 +616,32 @@ The io pad is set to inpad mode and is driven by the inpad:
616
616
617
617
Placement File Format (.place)
618
618
------------------------------
619
-
The placement file format is used to specify the position of blocks in an FPGA design. It includes information about the netlist and architecture files, the size of the logic block array, and the placement details of each block.
619
+
The placement file format is used to specify the position of cluster-level blocks in an FPGA design. It includes information about the netlist and architecture files, the size of the logic block array, and the placement details of each block in the CLB netlist..
620
620
621
621
The first line of the placement file lists the netlist (.net) and architecture (.xml) files used to create this placement.
622
622
This information is used to ensure you are warned if you accidentally route this placement with a different architecture or netlist file later.
623
623
The second line of the file gives the size of the logic block array used by this placement.
624
624
625
625
All subsequent lines follow this format:
626
626
627
-
block_name x y subblk [layer_number] block_number
627
+
block_name x y subblk [layer_number] [#block_number]
628
628
629
629
- **block_name**: Refers to either:
630
630
- The name of a clustered block, as given in the input .net formatted netlist.
631
631
- The name of a primitive within a clustered block.
632
632
633
633
- **x** and **y**: Represent the row and column in which the block is placed, respectively.
634
634
635
-
- **subblk**: Specifies which of several possible subtile locations in row **x** and column **y** contains this block, especially when the block capacity is greater than 1. The subtile number should be in the range `0` to `(grid[i][j].capacity - 1)`. The subtile numbers for a particular **x, y** location do not have to be used in order.
635
+
- **subblk**: Specifies which of several possible subtile locations in row **x** and column **y** contains this block, which is useful when the tile capacity is greater than 1. The subtile number should be in the range `0` to `(grid[i][j].capacity - 1)`. The subtile numbers for a particular **x, y** location do not have to be used in order.
636
636
637
637
- **layer_number**: Indicates the layer (or die) on which the block is placed. If omitted, the block is assumed to be placed on layer `0` (a single die system). In 3D FPGA architectures, multiple dies can be stacked, with the bottom die considered as layer `0`.
638
638
639
-
640
639
.. note:: The blocks in a placement file can be listed in any order.
641
640
642
-
Since we can have more than one block in a row or column when the block capacity is set to be greater than 1 in the architecture file, the subtile number specifies which of the several possible subtile locations in row x and column y contains this block.
643
-
Note that the subtile number used should be in the range 0 to (grid[i][j].capacity - 1). The subtile numbers for a particular x,y location do not have to be used in order.
641
+
If a layer_number is provided, it specifies the layer (or die) on which the block is placed. If the layer_number is omitted, the block is assumed to be placed on layer 0 (a single die system). In 3D FPGA architectures, multiple dies can be stacked on top of each other, with the bottom die considered as layer 0. A # character on a line indicates that all text after the # to the end of a line is a comment.
644
642
645
-
If a layer_number is provided, it specifies the layer (or die) on which the block is placed. If the layer_number is omitted, the block is assumed to be placed on layer 0 (a single die system). In 3D FPGA architectures, multiple dies can be stacked on top of each other, with the bottom die considered as layer 0.
646
643
647
-
The placement files output by VPR also include (as a comment) a sixth field: the block_number. This is the internal index used by VPR to identify a block -- it may be useful to know this index if you are modifying VPR and trying to debug something.
644
+
.. note:: A `#` character on a line indicates that all text after the `#` to the end of a line is a comment.
0 commit comments