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
Controls how the timing-driven placer estimates delays.
985
985
986
-
* ``delta`` The router is used to profile delay from various locations in the grid for various differences in position
986
+
* ``simple`` The placement delay estimator is built from the router lookahead. This takes less CPU time to build and it and still as accurate as the ``delta` model.
987
+
* ``delta`` The router is used to profile delay from various locations in the grid for various differences in position.
987
988
* ``delta_override`` Like ``delta`` but also includes special overrides to ensure effects of direct connects between blocks are accounted for.
988
989
This is potentially more accurate but is more complex and depending on the architecture (e.g. number of direct connects) may increase place run-time.
constexpr std::array<e_side, NUM_SIDES> SIDES = {{TOP, RIGHT, BOTTOM, LEFT}}; //Set of all side orientations
182
-
constexpr std::array<constchar*, NUM_SIDES> SIDE_STRING = {{"TOP", "RIGHT", "BOTTOM", "LEFT"}}; //String versions of side orientations
184
+
185
+
constexpr std::array<e_side, NUM_2D_SIDES> TOTAL_2D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT}}; //Set of all side orientations
186
+
constexpr std::array<constchar*, NUM_2D_SIDES> TOTAL_2D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT"}}; //String versions of side orientations
187
+
188
+
constexpr std::array<e_side, NUM_3D_SIDES> TOTAL_3D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT, ABOVE, UNDER}}; //Set of all side orientations including different layers
189
+
constexpr std::array<constchar*, NUM_3D_SIDES> TOTAL_3D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT", "ABOVE", "UNDER"}}; //String versions of side orientations including different layers
183
190
184
191
/* pin location distributions */
185
192
enumclasse_pin_location_distr {
@@ -822,10 +829,11 @@ struct t_physical_pin {
822
829
823
830
/**
824
831
* @brief Describes The location of a physical tile
825
-
* @param layer_num The die number of the physical tile. If the FPGA only has one die, or the physical tile is located
826
-
* on the base die, layer_num is equal to zero. If it is one the die above base die, it is one, etc.
827
832
* @param x The x location of the physical tile on the given die
828
833
* @param y The y location of the physical tile on the given die
834
+
* @param layer_num The die number of the physical tile. If the FPGA only has one die, or the physical tile is located
835
+
* on the base die, layer_num is equal to zero. If the physical tile is location on the die immediately
836
+
* above the base die, the layer_num is 1 and so on.
829
837
*/
830
838
structt_physical_tile_loc {
831
839
int x = OPEN;
@@ -1285,7 +1293,6 @@ class t_pb_graph_node {
1285
1293
int total_pb_pins; /* only valid for top-level */
1286
1294
1287
1295
void* temp_scratch_pad; /* temporary data, useful for keeping track of things when traversing data structure */
1288
-
t_cluster_placement_primitive* cluster_placement_primitive; /* pointer to indexing structure useful during packing stage */
1289
1296
1290
1297
int* input_pin_class_size; /* Stores the number of pins that belong to a particular input pin class */
1291
1298
int num_input_pin_class; /* number of input pin classes that this pb_graph_node has */
@@ -1975,10 +1982,12 @@ struct t_router {
1975
1982
1976
1983
/** A value representing the approximate horizontal position on the FPGA device where the router
1977
1984
* tile is located*/
1978
-
double device_x_position = -1;
1985
+
float device_x_position = -1;
1979
1986
/** A value representing the approximate vertical position on the FPGA device where the router
1980
1987
* tile is located*/
1981
-
double device_y_position = -1;
1988
+
float device_y_position = -1;
1989
+
/** A value representing the exact layer in the FPGA device where the router tile is located.*/
1990
+
int device_layer_position = -1;
1982
1991
1983
1992
/** A list of router ids that are connected to the current router*/
0 commit comments