src/mem/ruby/network/garnet/OutputUnit.cc
// Assign a free output VC to the winner of Switch Allocation
Assign a free output VC to the winner of Switch Allocation
Assign a free output VC to the winner of Switch Allocation
int
OutputUnit::select_free_vc(int vnet)
{
    int vc_base = vnet*m_vc_per_vnet;
    for (int vc = vc_base; vc < vc_base + m_vc_per_vnet; vc++) {
        if (is_vc_idle(vc, curTick())) {
            outVcState[vc].setState(ACTIVE_, curTick());
            return vc;
        }
    }
    return -1;
}
int OutputUnit :: select_free_vc ( int vnet ) { int vc_base = vnet * m_vc_per_vnet ; for ( int vc = vc_base ; vc < vc_base + m_vc_per_vnet ; vc ++ ) { if ( is_vc_idle ( vc , curTick ( ) ) ) { outVcState [ vc ] . setState ( ACTIVE_ , curTick ( ) ) ; return vc ; } } return -1 ; }
Assign a free output VC to the winner of Switch Allocation
Assign a free output VC to the winner of Switch Allocation