Esempio n. 1
0
        public Router_SortNet(Coord myCoord)
            : base(myCoord)
        {
            m_injectSlot  = null;
            m_injectSlot2 = null;

            if (Config.sortnet_full)
            {
                m_sort = new SortNet_COW(new SortNode.Rank(rank));
            }
            else
            {
                if (Config.bFtfly)
                {
                    m_sort = new SortNet_CALF_FBFLY(new SortNode.Rank(rank), this);
                }
                else
                {
                    m_sort = new SortNet_CALF(new SortNode.Rank(rank));
                }
            }

            if (!Config.edge_loop)
            {
                throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option.");
            }
        }
Esempio n. 2
0
        public Router_SortNet(Coord myCoord)
            : base(myCoord)
        {
            m_injectSlot  = null;
            m_injectSlot2 = null;
            ejectBuffer   = new Queue <Flit> [4];
            for (int n = 0; n < 4; n++)
            {
                ejectBuffer[n] = new Queue <Flit>();
            }

            if (Config.sortnet_full)
            {
                m_sort = new SortNet_COW(new SortNode.Rank(rank));
            }
            else
            {
                m_sort = new SortNet_CALF(new SortNode.Rank(rank));
            }

            if (!Config.edge_loop)
            {
                throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option.");
            }
        }
Esempio n. 3
0
        public Router_SortNet(Coord myCoord)
            : base(myCoord)
        {
            m_injectSlot = null;
            m_injectSlot2 = null;
			ejectBuffer = new Queue<Flit>[4];
			for (int n =0 ;n < 4; n++)
				ejectBuffer[n] = new Queue<Flit>();
            
			if (Config.sortnet_full)
                m_sort = new SortNet_COW(new SortNode.Rank(rank));
            else
                m_sort = new SortNet_CALF(new SortNode.Rank(rank));

            if (!Config.edge_loop)
                throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option.");
        }
Esempio n. 4
0
        public Router_SortNet(Coord myCoord)
            : base(myCoord)
        {
            m_injectSlot = null;
            m_injectSlot2 = null;

            if (Config.sortnet_full)
                m_sort = new SortNet_COW(new SortNode.Rank(rank));
            else
            {
                if (Config.bFtfly)
                    m_sort = new SortNet_CALF_FBFLY(new SortNode.Rank(rank), this);
                else
                    m_sort = new SortNet_CALF(new SortNode.Rank(rank));
            }

            if (!Config.edge_loop)
                throw new Exception("SortNet (CALF) router does not support mesh without edge loop. Use -edge_loop option.");
        }