aboutsummaryrefslogtreecommitdiff
path: root/src/intersim2/.svn/pristine/c3
diff options
context:
space:
mode:
authorDongdong Li <[email protected]>2013-11-22 11:32:14 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:50:59 -0700
commitbdc0e550448f04c7c8f030b7421209bae37e651d (patch)
treed59135ebbc05d7ddcd77c3b647e647e159073359 /src/intersim2/.svn/pristine/c3
parent3f74773ce1ffe8ed5044a103d84459b56d4e9c20 (diff)
Add .svn file so other people can keep update with changes from Stanford
Code Review: Issue 103001 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 17411]
Diffstat (limited to 'src/intersim2/.svn/pristine/c3')
-rw-r--r--src/intersim2/.svn/pristine/c3/c3580bf85e8bc6015a74e1f37916987e00accdaa.svn-base146
-rw-r--r--src/intersim2/.svn/pristine/c3/c3dce16b735e5ff4045d124ee30299d4ff39f5b1.svn-base95
2 files changed, 241 insertions, 0 deletions
diff --git a/src/intersim2/.svn/pristine/c3/c3580bf85e8bc6015a74e1f37916987e00accdaa.svn-base b/src/intersim2/.svn/pristine/c3/c3580bf85e8bc6015a74e1f37916987e00accdaa.svn-base
new file mode 100644
index 0000000..076ca87
--- /dev/null
+++ b/src/intersim2/.svn/pristine/c3/c3580bf85e8bc6015a74e1f37916987e00accdaa.svn-base
@@ -0,0 +1,146 @@
+# $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.
+
+#
+# Makefile
+#
+LEX = flex
+YACC = bison -y
+DEFINE =
+INCPATH = -I. -Iarbiters -Iallocators -Irouters -Inetworks -Ipower
+CPPFLAGS += -Wall $(INCPATH) $(DEFINE)
+CPPFLAGS += -O3
+CPPFLAGS += -g
+LFLAGS +=
+
+
+OBJDIR := obj
+PROG := booksim
+
+# simulator source files
+CPP_SRCS = main.cpp \
+ config_utils.cpp \
+ booksim_config.cpp \
+ module.cpp \
+ buffer.cpp \
+ vc.cpp \
+ routefunc.cpp \
+ traffic.cpp \
+ flitchannel.cpp \
+ trafficmanager.cpp \
+ batchtrafficmanager.cpp \
+ packet_reply_info.cpp \
+ buffer_state.cpp \
+ stats.cpp \
+ credit.cpp \
+ outputset.cpp \
+ flit.cpp \
+ injection.cpp\
+ misc_utils.cpp\
+ rng_wrapper.cpp\
+ rng_double_wrapper.cpp\
+ power_module.cpp \
+ switch_monitor.cpp \
+ buffer_monitor.cpp
+
+
+
+LEX_OBJS = ${OBJDIR}/lex.yy.o
+YACC_OBJS = ${OBJDIR}/y.tab.o
+
+# networks
+NETWORKS:= $(wildcard networks/*.cpp)
+ALLOCATORS:= $(wildcard allocators/*.cpp)
+ARBITERS:= $(wildcard arbiters/*.cpp)
+ROUTERS:= $(wildcard routers/*.cpp)
+POWER:= $(wildcard power/*.cpp)
+
+#--- Make rules ---
+OBJS := $(LEX_OBJS) $(YACC_OBJS)\
+ $(CPP_SRCS:%.cpp=${OBJDIR}/%.o)\
+ $(NETWORKS:networks/%.cpp=${OBJDIR}/%.o)\
+ $(ALLOCATORS:allocators/%.cpp=${OBJDIR}/%.o)\
+ $(ARBITERS:arbiters/%.cpp=${OBJDIR}/%.o)\
+ $(ROUTERS:routers/%.cpp=${OBJDIR}/%.o)\
+ $(POWER:power/%.cpp=${OBJDIR}/%.o)
+
+.PHONY: clean
+
+all:$(PROG)
+
+$(PROG): $(OBJS)
+ $(CXX) $(LFLAGS) $^ -o $@
+
+# rules to compile simulator
+
+
+${LEX_OBJS}: lex.yy.c y.tab.h
+ $(CC) $(CPPFLAGS) -c $< -o $@
+
+${YACC_OBJS}: y.tab.c y.tab.h
+ $(CC) $(CPPFLAGS) -c $< -o $@
+
+${OBJDIR}/%.o: %.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile networks
+${OBJDIR}/%.o: networks/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile arbiters
+${OBJDIR}/%.o: arbiters/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile allocators
+${OBJDIR}/%.o: allocators/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile routers
+${OBJDIR}/%.o: routers/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile power classes
+${OBJDIR}/%.o: power/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
+ rm -f $(PROG)
+ rm -f *~
+ rm -f allocators/*~
+ rm -f arbiters/*~
+ rm -f networks/*~
+ rm -f runfiles/*~
+ rm -f routers/*~
+ rm -f examples/*~
+ rm -f y.tab.c y.tab.h lex.yy.c
+ rm -f moc_bgui.cpp
+
+y.tab.c y.tab.h: config.y
+ $(YACC) -d $<
+
+lex.yy.c: config.l
+ $(LEX) $<
diff --git a/src/intersim2/.svn/pristine/c3/c3dce16b735e5ff4045d124ee30299d4ff39f5b1.svn-base b/src/intersim2/.svn/pristine/c3/c3dce16b735e5ff4045d124ee30299d4ff39f5b1.svn-base
new file mode 100644
index 0000000..7d12faf
--- /dev/null
+++ b/src/intersim2/.svn/pristine/c3/c3dce16b735e5ff4045d124ee30299d4ff39f5b1.svn-base
@@ -0,0 +1,95 @@
+// $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 _CONFIG_UTILS_HPP_
+#define _CONFIG_UTILS_HPP_
+
+#include "booksim.hpp"
+
+#include<cstdio>
+#include<string>
+#include<map>
+#include<vector>
+
+extern "C" int yyparse();
+
+class Configuration {
+ static Configuration * theConfig;
+ FILE * _config_file;
+ string _config_string;
+
+protected:
+ map<string,string> _str_map;
+ map<string,int> _int_map;
+ map<string,double> _float_map;
+
+public:
+ Configuration();
+
+ void AddStrField(string const & field, string const & value);
+
+ void Assign(string const & field, string const & value);
+ void Assign(string const & field, int value);
+ void Assign(string const & field, double value);
+
+ string GetStr(string const & field) const;
+ int GetInt(string const & field) const;
+ double GetFloat(string const & field) const;
+
+ vector<string> GetStrArray(const string & field) const;
+ vector<int> GetIntArray(const string & field) const;
+ vector<double> GetFloatArray(const string & field) const;
+
+ void ParseFile(string const & filename);
+ void ParseString(string const & str);
+ int Input(char * line, int max_size);
+ void ParseError(string const & msg, unsigned int lineno = 0) const;
+
+ void WriteFile(string const & filename);
+ void WriteMatlabFile(ostream * o) const;
+
+ inline const map<string, string> & GetStrMap() const {
+ return _str_map;
+ }
+ inline const map<string, int> & GetIntMap() const {
+ return _int_map;
+ }
+ inline const map<string, double> & GetFloatMap() const {
+ return _float_map;
+ }
+
+ static Configuration * GetTheConfig();
+
+};
+
+bool ParseArgs(Configuration * cf, int argc, char **argv);
+
+vector<string> tokenize_str(string const & data);
+vector<int> tokenize_int(string const & data);
+vector<double> tokenize_float(string const & data);
+
+#endif