aboutsummaryrefslogtreecommitdiff
path: root/src/intersim2/.svn/pristine/55
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/55
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/55')
-rw-r--r--src/intersim2/.svn/pristine/55/5559780a67de13b98fb00d7f052ce254551f229b.svn-base88
-rw-r--r--src/intersim2/.svn/pristine/55/55ee19fa1932804a55ee815f4456c4a6f21a355f.svn-base239
2 files changed, 0 insertions, 327 deletions
diff --git a/src/intersim2/.svn/pristine/55/5559780a67de13b98fb00d7f052ce254551f229b.svn-base b/src/intersim2/.svn/pristine/55/5559780a67de13b98fb00d7f052ce254551f229b.svn-base
deleted file mode 100644
index 4387d46..0000000
--- a/src/intersim2/.svn/pristine/55/5559780a67de13b98fb00d7f052ce254551f229b.svn-base
+++ /dev/null
@@ -1,88 +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 _FlatFlyOnChip_HPP_
-#define _FlatFlyOnChip_HPP_
-
-#include "network.hpp"
-
-#include "routefunc.hpp"
-#include <cassert>
-
-
-class FlatFlyOnChip : public Network {
-
- int _m;
- int _n;
- int _r;
- int _k;
- int _c;
- int _radix;
- int _net_size;
- int _stageout;
- int _numinput;
- int _stages;
- int _num_of_switch;
-
- void _ComputeSize( const Configuration &config );
- void _BuildNet( const Configuration &config );
-
- int _OutChannel( int stage, int addr, int port, int outputs ) const;
- int _InChannel( int stage, int addr, int port ) const;
-
-public:
- FlatFlyOnChip( const Configuration &config, const string & name );
-
- int GetN( ) const;
- int GetK( ) const;
-
- static void RegisterRoutingFunctions() ;
- double Capacity( ) const;
- void InsertRandomFaults( const Configuration &config );
-};
-void adaptive_xyyx_flatfly( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void xyyx_flatfly( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void min_flatfly( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void ugal_xyyx_flatfly_onchip( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void ugal_flatfly_onchip( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void ugal_pni_flatfly_onchip( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-void valiant_flatfly( const Router *r, const Flit *f, int in_channel,
- OutputSet *outputs, bool inject );
-
-int find_distance (int src, int dest);
-int find_ran_intm (int src, int dest);
-int flatfly_outport(int dest, int rID);
-int flatfly_transformation(int dest);
-int flatfly_outport_yx(int dest, int rID);
-
-#endif
diff --git a/src/intersim2/.svn/pristine/55/55ee19fa1932804a55ee815f4456c4a6f21a355f.svn-base b/src/intersim2/.svn/pristine/55/55ee19fa1932804a55ee815f4456c4a6f21a355f.svn-base
deleted file mode 100644
index 5d38938..0000000
--- a/src/intersim2/.svn/pristine/55/55ee19fa1932804a55ee815f4456c4a6f21a355f.svn-base
+++ /dev/null
@@ -1,239 +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 _BUFFER_STATE_HPP_
-#define _BUFFER_STATE_HPP_
-
-#include <vector>
-#include <queue>
-
-#include "module.hpp"
-#include "flit.hpp"
-#include "credit.hpp"
-#include "config_utils.hpp"
-
-class BufferState : public Module {
-
- class BufferPolicy : public Module {
- protected:
- BufferState const * const _buffer_state;
- public:
- BufferPolicy(Configuration const & config, BufferState * parent,
- const string & name);
- virtual void SetMinLatency(int min_latency) {}
- virtual void TakeBuffer(int vc = 0);
- virtual void SendingFlit(Flit const * const f);
- virtual void FreeSlotFor(int vc = 0);
- virtual bool IsFullFor(int vc = 0) const = 0;
- virtual int AvailableFor(int vc = 0) const = 0;
- virtual int LimitFor(int vc = 0) const = 0;
-
- static BufferPolicy * New(Configuration const & config,
- BufferState * parent, const string & name);
- };
-
- class PrivateBufferPolicy : public BufferPolicy {
- protected:
- int _vc_buf_size;
- public:
- PrivateBufferPolicy(Configuration const & config, BufferState * parent,
- const string & name);
- virtual void SendingFlit(Flit const * const f);
- virtual bool IsFullFor(int vc = 0) const;
- virtual int AvailableFor(int vc = 0) const;
- virtual int LimitFor(int vc = 0) const;
- };
-
- class SharedBufferPolicy : public BufferPolicy {
- protected:
- int _buf_size;
- vector<int> _private_buf_vc_map;
- vector<int> _private_buf_size;
- vector<int> _private_buf_occupancy;
- int _shared_buf_size;
- int _shared_buf_occupancy;
- vector<int> _reserved_slots;
- void ProcessFreeSlot(int vc = 0);
- public:
- SharedBufferPolicy(Configuration const & config, BufferState * parent,
- const string & name);
- virtual void SendingFlit(Flit const * const f);
- virtual void FreeSlotFor(int vc = 0);
- virtual bool IsFullFor(int vc = 0) const;
- virtual int AvailableFor(int vc = 0) const;
- virtual int LimitFor(int vc = 0) const;
- };
-
- class LimitedSharedBufferPolicy : public SharedBufferPolicy {
- protected:
- int _vcs;
- int _active_vcs;
- int _max_held_slots;
- public:
- LimitedSharedBufferPolicy(Configuration const & config,
- BufferState * parent,
- const string & name);
- virtual void TakeBuffer(int vc = 0);
- virtual void SendingFlit(Flit const * const f);
- virtual bool IsFullFor(int vc = 0) const;
- virtual int AvailableFor(int vc = 0) const;
- virtual int LimitFor(int vc = 0) const;
- };
-
- class DynamicLimitedSharedBufferPolicy : public LimitedSharedBufferPolicy {
- public:
- DynamicLimitedSharedBufferPolicy(Configuration const & config,
- BufferState * parent,
- const string & name);
- virtual void TakeBuffer(int vc = 0);
- virtual void SendingFlit(Flit const * const f);
- };
-
- class ShiftingDynamicLimitedSharedBufferPolicy : public DynamicLimitedSharedBufferPolicy {
- public:
- ShiftingDynamicLimitedSharedBufferPolicy(Configuration const & config,
- BufferState * parent,
- const string & name);
- virtual void TakeBuffer(int vc = 0);
- virtual void SendingFlit(Flit const * const f);
- };
-
- class FeedbackSharedBufferPolicy : public SharedBufferPolicy {
- protected:
- int _ComputeRTT(int vc, int last_rtt) const;
- int _ComputeLimit(int rtt) const;
- int _ComputeMaxSlots(int vc) const;
- int _vcs;
- vector<int> _occupancy_limit;
- vector<int> _round_trip_time;
- vector<queue<int> > _flit_sent_time;
- int _min_latency;
- int _total_mapped_size;
- int _aging_scale;
- int _offset;
- public:
- FeedbackSharedBufferPolicy(Configuration const & config,
- BufferState * parent, const string & name);
- virtual void SetMinLatency(int min_latency);
- virtual void SendingFlit(Flit const * const f);
- virtual void FreeSlotFor(int vc = 0);
- virtual bool IsFullFor(int vc = 0) const;
- virtual int AvailableFor(int vc = 0) const;
- virtual int LimitFor(int vc = 0) const;
- };
-
- class SimpleFeedbackSharedBufferPolicy : public FeedbackSharedBufferPolicy {
- protected:
- vector<int> _pending_credits;
- public:
- SimpleFeedbackSharedBufferPolicy(Configuration const & config,
- BufferState * parent, const string & name);
- virtual void SendingFlit(Flit const * const f);
- virtual void FreeSlotFor(int vc = 0);
- };
-
- bool _wait_for_tail_credit;
- int _size;
- int _occupancy;
- vector<int> _vc_occupancy;
- int _vcs;
-
- BufferPolicy * _buffer_policy;
-
- vector<int> _in_use_by;
- vector<bool> _tail_sent;
- vector<int> _last_id;
- vector<int> _last_pid;
-
-#ifdef TRACK_BUFFERS
- int _classes;
- vector<queue<int> > _outstanding_classes;
- vector<int> _class_occupancy;
-#endif
-
-public:
-
- BufferState( const Configuration& config,
- Module *parent, const string& name );
-
- ~BufferState();
-
- inline void SetMinLatency(int min_latency) {
- _buffer_policy->SetMinLatency(min_latency);
- }
-
- void ProcessCredit( Credit const * const c );
- void SendingFlit( Flit const * const f );
-
- void TakeBuffer( int vc = 0, int tag = 0 );
-
- inline bool IsFull() const {
- assert(_occupancy <= _size);
- return (_occupancy == _size);
- }
- inline bool IsFullFor( int vc = 0 ) const {
- return _buffer_policy->IsFullFor(vc);
- }
- inline int AvailableFor( int vc = 0 ) const {
- return _buffer_policy->AvailableFor(vc);
- }
- inline int LimitFor( int vc = 0 ) const {
- return _buffer_policy->LimitFor(vc);
- }
- inline bool IsEmptyFor(int vc = 0) const {
- assert((vc >= 0) && (vc < _vcs));
- return (_vc_occupancy[vc] == 0);
- }
- inline bool IsAvailableFor( int vc = 0 ) const {
- assert( ( vc >= 0 ) && ( vc < _vcs ) );
- return _in_use_by[vc] < 0;
- }
- inline int UsedBy(int vc = 0) const {
- assert( ( vc >= 0 ) && ( vc < _vcs ) );
- return _in_use_by[vc];
- }
-
- inline int Occupancy() const {
- return _occupancy;
- }
-
- inline int OccupancyFor( int vc = 0 ) const {
- assert((vc >= 0) && (vc < _vcs));
- return _vc_occupancy[vc];
- }
-
-#ifdef TRACK_BUFFERS
- inline int OccupancyForClass(int c) const {
- assert((c >= 0) && (c < _classes));
- return _class_occupancy[c];
- }
-#endif
-
- void Display( ostream & os = cout ) const;
-};
-
-#endif