vpr/src/tileable_rr_graph/openfpga_rr_graph_utils.cpp
/************************************************************************
 * Check if an IPIN of a rr_graph is directly connected to an OPIN
 * To meet this requirement, the IPIN must:
 *   - Have only 1 fan-in
 *   - The only fan-in is an OPIN
 ***********************************************************************/
Check if an IPIN of a rr_graph is directly connected to an OPIN
To meet this requirement, the IPIN must:
- Have only 1 fan-in
- The only fan-in is an OPIN
Check if an IPIN of a rr_graph is directly connected to an OPIN To meet this requirement the IPIN must : - Have only 1 fan - in - The only fan - in is an OPIN
bool is_ipin_direct_connected_opin(const RRGraph& rr_graph,
                                   const RRNodeId& node) {
  VTR_ASSERT(IPIN == rr_graph.node_type(node));
  if (1 != rr_graph.node_in_edges(node).size()) {
    return false;
  }
  VTR_ASSERT(1 == rr_graph.node_in_edges(node).size());
  for (const RREdgeId& edge: rr_graph.node_in_edges(node)) {
    const RRNodeId& src_node = rr_graph.edge_src_node(edge);
    if (OPIN != rr_graph.node_type(src_node)) {
      return false;
    }
  }
  return true;
}
bool is_ipin_direct_connected_opin ( const RRGraph & rr_graph , const RRNodeId & node ) { VTR_ASSERT ( IPIN == rr_graph . node_type ( node ) ) ; if ( 1 != rr_graph . node_in_edges ( node ) . size ( ) ) { return false ; } VTR_ASSERT ( 1 == rr_graph . node_in_edges ( node ) . size ( ) ) ; for ( const RREdgeId & edge : rr_graph . node_in_edges ( node ) ) { const RRNodeId & src_node = rr_graph . edge_src_node ( edge ) ; if ( OPIN != rr_graph . node_type ( src_node ) ) { return false ; } } return true ; }
Check if an IPIN of a rr_graph is directly connected to an OPIN
 To meet this requirement, the IPIN must:
   - Have only 1 fan-in
   - The only fan-in is an OPIN
Check if an IPIN of a rr_graph is directly connected to an OPIN To meet this requirement the IPIN must : - Have only 1 fan - in - The only fan - in is an OPIN
/* We only accept IPIN */