aboutsummaryrefslogtreecommitdiff
path: root/src/intersim2/.svn/pristine/b6
diff options
context:
space:
mode:
authorMyrice <[email protected]>2015-04-07 14:43:05 -0700
committerMyrice <[email protected]>2015-04-07 14:43:05 -0700
commit6b9eb92bd0b03d69a2f2e9c075a8af99d860d4d1 (patch)
treec741ac460cb86219446070765be97536143def55 /src/intersim2/.svn/pristine/b6
parent4dc9d53085b568aea0cefe75d599f87bb5e0841f (diff)
Booksim2 abandoned svn and moved to github (https://github.com/booksim/booksim2). This .svn folder is useless now and should be deleted.
For further integration, a git submodule/git subtree may be used. Since I modified their source code, we cannot use git submodule/git subtree easily. Signed-off-by: Myrice <[email protected]>
Diffstat (limited to 'src/intersim2/.svn/pristine/b6')
-rw-r--r--src/intersim2/.svn/pristine/b6/b6c4fdbece4c23327c9e321b130c2ec595705f98.svn-base183
1 files changed, 0 insertions, 183 deletions
diff --git a/src/intersim2/.svn/pristine/b6/b6c4fdbece4c23327c9e321b130c2ec595705f98.svn-base b/src/intersim2/.svn/pristine/b6/b6c4fdbece4c23327c9e321b130c2ec595705f98.svn-base
deleted file mode 100644
index aeb258a..0000000
--- a/src/intersim2/.svn/pristine/b6/b6c4fdbece4c23327c9e321b130c2ec595705f98.svn-base
+++ /dev/null
@@ -1,183 +0,0 @@
-// $Id$
-
-/*
- Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this
- list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _IQ_ROUTER_HPP_
-#define _IQ_ROUTER_HPP_
-
-#include <string>
-#include <deque>
-#include <queue>
-#include <set>
-#include <map>
-
-#include "router.hpp"
-#include "routefunc.hpp"
-
-using namespace std;
-
-class VC;
-class Flit;
-class Credit;
-class Buffer;
-class BufferState;
-class Allocator;
-class SwitchMonitor;
-class BufferMonitor;
-
-class IQRouter : public Router {
-
- int _vcs;
-
- bool _vc_busy_when_full;
- bool _vc_prioritize_empty;
- bool _vc_shuffle_requests;
-
- bool _speculative;
- bool _spec_check_elig;
- bool _spec_check_cred;
- bool _spec_mask_by_reqs;
-
- bool _active;
-
- int _routing_delay;
- int _vc_alloc_delay;
- int _sw_alloc_delay;
-
- map<int, Flit *> _in_queue_flits;
-
- deque<pair<int, pair<Credit *, int> > > _proc_credits;
-
- deque<pair<int, pair<int, int> > > _route_vcs;
- deque<pair<int, pair<pair<int, int>, int> > > _vc_alloc_vcs;
- deque<pair<int, pair<pair<int, int>, int> > > _sw_hold_vcs;
- deque<pair<int, pair<pair<int, int>, int> > > _sw_alloc_vcs;
-
- deque<pair<int, pair<Flit *, pair<int, int> > > > _crossbar_flits;
-
- map<int, Credit *> _out_queue_credits;
-
- vector<Buffer *> _buf;
- vector<BufferState *> _next_buf;
-
- Allocator *_vc_allocator;
- Allocator *_sw_allocator;
- Allocator *_spec_sw_allocator;
-
- vector<int> _vc_rr_offset;
- vector<int> _sw_rr_offset;
-
- tRoutingFunction _rf;
-
- int _output_buffer_size;
- vector<queue<Flit *> > _output_buffer;
-
- vector<queue<Credit *> > _credit_buffer;
-
- bool _hold_switch_for_packet;
- vector<int> _switch_hold_in;
- vector<int> _switch_hold_out;
- vector<int> _switch_hold_vc;
-
- bool _noq;
- vector<vector<int> > _noq_next_output_port;
- vector<vector<int> > _noq_next_vc_start;
- vector<vector<int> > _noq_next_vc_end;
-
-#ifdef TRACK_FLOWS
- vector<vector<queue<int> > > _outstanding_classes;
-#endif
-
- bool _ReceiveFlits( );
- bool _ReceiveCredits( );
-
- virtual void _InternalStep( );
-
- bool _SWAllocAddReq(int input, int vc, int output);
-
- void _InputQueuing( );
-
- void _RouteEvaluate( );
- void _VCAllocEvaluate( );
- void _SWHoldEvaluate( );
- void _SWAllocEvaluate( );
- void _SwitchEvaluate( );
-
- void _RouteUpdate( );
- void _VCAllocUpdate( );
- void _SWHoldUpdate( );
- void _SWAllocUpdate( );
- void _SwitchUpdate( );
-
- void _OutputQueuing( );
-
- void _SendFlits( );
- void _SendCredits( );
-
- void _UpdateNOQ(int input, int vc, Flit const * f);
-
- // ----------------------------------------
- //
- // Router Power Modellingyes
- //
- // ----------------------------------------
-
- SwitchMonitor * _switchMonitor ;
- BufferMonitor * _bufferMonitor ;
-
-public:
-
- IQRouter( Configuration const & config,
- Module *parent, string const & name, int id,
- int inputs, int outputs );
-
- virtual ~IQRouter( );
-
- virtual void AddOutputChannel(FlitChannel * channel, CreditChannel * backchannel);
-
- virtual void ReadInputs( );
- virtual void WriteOutputs( );
-
- void Display( ostream & os = cout ) const;
-
- virtual int GetUsedCredit(int o) const;
- virtual int GetBufferOccupancy(int i) const;
-
-#ifdef TRACK_BUFFERS
- virtual int GetUsedCreditForClass(int output, int cl) const;
- virtual int GetBufferOccupancyForClass(int input, int cl) const;
-#endif
-
- virtual vector<int> UsedCredits() const;
- virtual vector<int> FreeCredits() const;
- virtual vector<int> MaxCredits() const;
-
- SwitchMonitor const * const GetSwitchMonitor() const {return _switchMonitor;}
- BufferMonitor const * const GetBufferMonitor() const {return _bufferMonitor;}
-
-};
-
-#endif