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/arch/reference.rst
+88-7Lines changed: 88 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -582,10 +582,12 @@ Grid Layout Example
582
582
Example FPGA grid
583
583
584
584
585
-
.. arch:tag:: <interposer_cut dim=x|y loc="int"/>
585
+
.. arch:tag:: <interposer_cut x="int" y="int"/>
586
586
587
-
:req_param dim: Dimension or axis of the cut. 'X' or 'x' means a horizontal cut while 'Y' or 'y' means a vertical cut.
588
-
:req_param loc: Location of the cut. Cuts are done above or to the right of the tiles at coordinate 'loc'. For example a cut with dim=x and loc=0 would cut the vertical wires above tiles in the 0th row. Currently only integer values are supported.
587
+
:opt_param x: Specifies the x-coordinate of a vertical interposer cut.
588
+
:opt_param y: Specifies the y-coordinate of a horizontal interposer cut.
589
+
590
+
.. note:: Exactly one of the ``x`` or ``y`` attributes must be specified.
589
591
590
592
.. note:: Interposers are experimental and are currently not supported by VPR and using the related tags will not actually result in any changes to the flow.
591
593
Defines an interposer cut for modelling 2.5D interposer-based architectures. An interposer cut will cut all connections at location 'loc' along the axis 'dim' Leaving the two sides completely unconnected.
@@ -2363,6 +2365,8 @@ Direct Inter-block Connections
2363
2365
The content within the ``<directlist>`` tag consists of a group of ``<direct>`` tags.
2364
2366
The ``<direct>`` tag and its contents are described below.
2365
2367
2368
+
.. note:: ``from_pin`` and ``to_pin`` only support big endian! For example, ``clb.out[8:0]``
:req_param name: is a unique alphanumeric string to name the connection.
@@ -2382,12 +2386,89 @@ The ``<direct>`` tag and its contents are described below.
2382
2386
The ``from_side`` and ``to_side`` options can usually be left unspecified.
2383
2387
However they can be used to explicitly control how direct connections to physically equivalent pins (which may appear on multiple sides) are handled.
2384
2388
2385
-
**Example:**
2386
-
Consider a carry chain where the ``cout`` of each CLB drives the ``cin`` of the CLB immediately below it, using the delay-less switch one would enter the following:
2389
+
**Example: Inter-tile connection**
2390
+
Consider a carry chain where the ``cout`` of each CLB drives the ``cin`` of the CLB immediately below it, using the delay-less switch one would enter the following:
Consider a feedback connection where the ``out`` of each CLB drives the ``in`` of the CLB in the same location, using the connection block switch one would enter the following:
As shown in :numref:`fig_example_subtile_direct_connection`, consider a connection where the ``out`` of a sub tile ``mult_8`` of tile ``cim8_1k`` drives the ``data_in`` of the sub tile ``memory`` of tile ``cim8_1k`` with an offset, using the delayless switch one would enter the following:
Copy file name to clipboardExpand all lines: doc/src/vpr/graphics.rst
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -308,6 +308,7 @@ Manual Moves
308
308
309
309
The manual moves feature allows the user to specify the next move in placement. If the move is legal, blocks are swapped and the new move is shown on the architecture.
310
310
311
+
.. _fig-misc-tab:
311
312
.. figure:: ../Images/manual_move.png
312
313
:align:center
313
314
:width:25%
@@ -335,3 +336,15 @@ If the manual move is legal, the cost summary window will display the delta cost
335
336
336
337
The user can Accept or Reject the manual move based on the values provided. If accepted the block's new location is shown.
337
338
339
+
Pause Button
340
+
------------
341
+
342
+
The pause button allows the user to temporarily stop the program during placement or routing.
343
+
When clicked during the placement stage, the program will pause at the next temperature update.
344
+
When clicked during the routing stage, it will pause at the next router iteration.
345
+
346
+
The button can be pressed at any time while the program is running. To enable the feature, click the **Pause** button under the **Misc.** tab (see :ref:`fig-misc-tab`).
347
+
Once the program reaches the next temperature update or router iteration after the button is pressed, it will automatically pause.
348
+
349
+
After the program has paused, clicking **Next Step** allows the user to resume execution from the point where the program was paused.
350
+
This can be continuing from the current temperature in placement or from the current router iteration in routing.
Copy file name to clipboardExpand all lines: doc/src/vtr/get_vtr.rst
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ How to Cite
9
9
Citations are important in academia, as they ensure contributors receive credit for their efforts.
10
10
Therefore please use the following paper as a general citation whenever you use VTR:
11
11
12
-
M. A. Elgammal, A. Mohaghegh, S. G. Shahrouz, F. Mahmoudi, F. Koşar, K. Talaei, J. Fife, D. Khadivi, K. E. Murray, A. Boutros, K.B. Kent, J. Goeders, V. Betz "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration" ACM TRETS, 2025
12
+
M. A. Elgammal, A. Mohaghegh, S. G. Shahrouz, F. Mahmoudi, F. Koşar, K. Talaei, J. Fife, D. Khadivi, K. E. Murray, A. Boutros, K.B. Kent, J. Goeders, V. Betz "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration" ACM TRETS, Vol. 13, No. 3, Sept. 2025, pp. 1 - 53.
13
13
14
14
Bibtex:
15
15
@@ -19,6 +19,10 @@ Bibtex:
19
19
title={VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration},
20
20
author={Elgammal, Mohamed A. and Mohaghegh, Amin and Shahrouz, Soheil G. and Mahmoudi, Fatemehsadat and Kosar, Fahrican and Talaei, Kimia and Fife, Joshua and Khadivi, Daniel and Murray, Kevin and Boutros, Andrew and Kent, Kenneth B. and Goeders, Jeff and Betz, Vaughn},
///@brief count_instances() counts the number of each tile type on each layer and store it in instance_counts_. It is called in the constructor.
215
+
/// @brief Counts the number of each tile type on each layer and store it in instance_counts_.
216
+
/// It is called in the constructor.
194
217
voidcount_instances();
195
218
196
219
std::string name_;
197
220
198
221
/**
199
222
* @brief grid_ is a 3D matrix that represents the grid of the FPGA chip.
200
-
* @note The first dimension is the layer number (grid_[0] corresponds to the bottom layer), the second dimension is the x coordinate, and the third dimension is the y coordinate.
223
+
* @note The first dimension is the layer number (grid_[0] corresponds to the bottom layer),
224
+
* the second dimension is the x coordinate, and the third dimension is the y coordinate.
201
225
* @note Note that vtr::Matrix operator[] returns and intermediate type
202
226
* @note which can be used for indexing in the second dimension, allowing
* @brief Struct containing information of interdire wires i.e. connections between the dies on an interposer
33
-
*
34
21
*/
35
22
structt_interdie_wire_inf {
36
23
std::string sg_name; ///< Name of the scatter-gather pattern to be used for the interdie connection
@@ -40,18 +27,18 @@ struct t_interdie_wire_inf {
40
27
* Contains starting and ending point (both inclusive) of scatter-gather instantiations and the increment/distance between the instantiations.
41
28
* offset_definition.repeat_expr is not relevant for interdie wires and is not set to anything or used.
42
29
*
43
-
* Locations defined by this offset definition define the starting point or the gathering point of the SG pattern. The end or scatter point of the SG pattern is defined by the sg_link.
30
+
* Locations defined by this offset definition define the starting point or the gathering point of the SG pattern.
31
+
* The end or scatter point of the SG pattern is defined by the sg_link.
44
32
*/
45
33
t_grid_loc_spec offset_definition;
46
34
int num; ///< Number of scatter-gather instantiations per switchblock location
47
35
};
48
36
49
37
/**
50
38
* @brief Struct containing information of an interposer cut
51
-
*
52
39
*/
53
40
structt_interposer_cut_inf {
54
-
e_interposer_cut_dim dim; ///< Dimension or axis of interposer cut.
41
+
e_interposer_cut_type dim; ///< Axis of interposer cut location. The cut is perpendicular to this axis. This specifies the dimension of `loc`.
55
42
int loc; ///< Location of the cut on the grid. Locations start from zero and cuts will happen above or to the right of the tiles at location=loc.
56
43
std::vector<t_interdie_wire_inf> interdie_wires; ///< Connectivity specification between the two sides of the cut.
0 commit comments