@@ -251,18 +251,6 @@ class t_rr_graph_storage {
251251 return std::nullopt ; // Return an empty optional if key is not found
252252 }
253253
254- /* * @brief Find the twist number that RR node uses to change ptc number across the same track.
255- * By default this number is zero, meaning that ptc number across the same track should be the same.
256- * This number is only meaningful for CHANX/CHANY nodes, not the other nodes.
257- */
258- short node_ptc_twist (RRNodeId id) const {
259- // check whether node_ptc_twist_incr has been allocated
260- if (node_ptc_twist_incr_.empty ()){
261- return 0 ;
262- }
263- return node_ptc_twist_incr_[id];
264- }
265-
266254 /* *
267255 * @brief Returns the node ID of the virtual sink for the specified clock network name.
268256 *
@@ -504,7 +492,6 @@ class t_rr_graph_storage {
504492 node_ptc_.reserve (node_storage_.capacity ());
505493 node_ptc_.resize (node_storage_.size ());
506494 node_layer_.resize (node_storage_.size ());
507- node_ptc_twist_incr_.resize (node_storage_.size ());
508495 }
509496
510497 /* * @brief Reserve storage for RR nodes. */
@@ -525,11 +512,6 @@ class t_rr_graph_storage {
525512 node_layer_.resize (size);
526513 }
527514
528- /* * @brief We only allocate the ptc twist increment array while building tileable rr-graphs */
529- void resize_ptc_twist_incr (size_t size){
530- node_ptc_twist_incr_.resize (size);
531- }
532-
533515 /* * @brief Number of RR nodes that can be accessed. */
534516 size_t size () const {
535517 return node_storage_.size ();
@@ -551,7 +533,6 @@ class t_rr_graph_storage {
551533 node_layer_.clear ();
552534 node_name_.clear ();
553535 virtual_clock_network_root_idx_.clear ();
554- node_ptc_twist_incr_.clear ();
555536 edge_src_node_.clear ();
556537 edge_dest_node_.clear ();
557538 edge_switch_.clear ();
@@ -585,7 +566,6 @@ class t_rr_graph_storage {
585566 node_first_edge_.shrink_to_fit ();
586567 node_fan_in_.shrink_to_fit ();
587568 node_layer_.shrink_to_fit ();
588- node_ptc_twist_incr_.shrink_to_fit ();
589569 edge_src_node_.shrink_to_fit ();
590570 edge_dest_node_.shrink_to_fit ();
591571 edge_switch_.shrink_to_fit ();
@@ -620,7 +600,6 @@ class t_rr_graph_storage {
620600 void set_node_name (RRNodeId id, const std::string& new_name);
621601 void set_node_coordinates (RRNodeId id, short x1, short y1, short x2, short y2);
622602 void set_node_layer (RRNodeId id, short layer);
623- void set_node_ptc_twist_incr (RRNodeId id, short twist);
624603 void set_node_cost_index (RRNodeId, RRIndexedDataId new_cost_index);
625604 void set_node_rc_index (RRNodeId, NodeRCIndex new_rc_index);
626605 void set_node_capacity (RRNodeId, short new_capacity);
@@ -872,15 +851,6 @@ class t_rr_graph_storage {
872851 */
873852 std::unordered_map<std::string, RRNodeId> virtual_clock_network_root_idx_;
874853
875- /* * @brief
876- *Twist Increment number is defined for CHANX/CHANY nodes; it is useful for layout of tileable FPGAs used by openFPGA.
877- *It gives us a new track index in each tile a longer wire crosses, which enables us to make long wires with a repeated single-tile pattern that "twists" the wires as they cross the tile.
878- *For example, an L4 wire would change tracks 4 times with metal shorts [e.g. 0, 2, 4, 6] and track 6 would drive a switch -- together this implements an L4 wire with only one layout tile.
879- * Twist increment number is only meaningful for CHANX and CHANY nodes; it is 0 for other node types.
880- * We also don't bother allocating this storage if the FPGA is not specified to be tileable; instead in that case the twist for all nodes will always be returned as 0.
881- */
882- vtr::vector<RRNodeId, short > node_ptc_twist_incr_;
883-
884854 /* * @brief Edge storage */
885855 vtr::vector<RREdgeId, RRNodeId> edge_src_node_;
886856 vtr::vector<RREdgeId, RRNodeId> edge_dest_node_;
@@ -954,7 +924,6 @@ class t_rr_graph_view {
954924 const vtr::array_view_id<RRNodeId, const t_edge_size> node_fan_in,
955925 const vtr::array_view_id<RRNodeId, const short > node_layer,
956926 const std::unordered_map<RRNodeId, std::string>& node_name,
957- const vtr::array_view_id<RRNodeId, const short > node_ptc_twist_incr,
958927 const vtr::array_view_id<RREdgeId, const RRNodeId> edge_src_node,
959928 const vtr::array_view_id<RREdgeId, const RRNodeId> edge_dest_node,
960929 const vtr::array_view_id<RREdgeId, const short > edge_switch,
@@ -965,7 +934,6 @@ class t_rr_graph_view {
965934 , node_fan_in_(node_fan_in)
966935 , node_layer_(node_layer)
967936 , node_name_(node_name)
968- , node_ptc_twist_incr_(node_ptc_twist_incr)
969937 , edge_src_node_(edge_src_node)
970938 , edge_dest_node_(edge_dest_node)
971939 , edge_switch_(edge_switch)
@@ -1055,20 +1023,6 @@ class t_rr_graph_view {
10551023 return std::nullopt ; // Return an empty optional if key is not found
10561024 }
10571025
1058- /* *
1059- * @brief Retrieve the twist number (if available) that the given RRNodeId used for its PTC number.
1060- *
1061- * @param id The RRNodeId for which to retrieve the twist number.
1062- * @return The twist number used for the PTC number, or a default value if not available.
1063- */
1064- short node_ptc_twist_incr (RRNodeId id) const {
1065- // check if ptc twist increment allocated
1066- if (node_ptc_twist_incr_.empty ()){
1067- return 0 ; // if it is not allocated we just assume that is zero
1068- }
1069- return node_ptc_twist_incr_[id];
1070- }
1071-
10721026 /* *
10731027 * @brief Prefetches hot RR node data required for optimization.
10741028 *
@@ -1183,7 +1137,6 @@ class t_rr_graph_view {
11831137 vtr::array_view_id<RRNodeId, const t_edge_size> node_fan_in_;
11841138 vtr::array_view_id<RRNodeId, const short > node_layer_;
11851139 const std::unordered_map<RRNodeId, std::string>& node_name_;
1186- vtr::array_view_id<RRNodeId, const short > node_ptc_twist_incr_;
11871140 vtr::array_view_id<RREdgeId, const RRNodeId> edge_src_node_;
11881141 vtr::array_view_id<RREdgeId, const RRNodeId> edge_dest_node_;
11891142 vtr::array_view_id<RREdgeId, const short > edge_switch_;
0 commit comments