From 207f6a8dbfcba57eb11800492767b9a02700799a Mon Sep 17 00:00:00 2001 From: "tkojima.am" Date: Sun, 27 Jun 2021 19:29:53 +0900 Subject: [PATCH] add copyright information --- ISA.h | 20 ++++++++++++++++++++ Makefile | 20 ++++++++++++++++++++ README.md | 6 +++++- accelerator.cc | 20 ++++++++++++++++++++ accelerator.h | 21 +++++++++++++++++++++ busarbiter.cc | 21 +++++++++++++++++++++ busarbiter.h | 21 +++++++++++++++++++++ cache.cc | 21 +++++++++++++++++++++ cache.h | 21 +++++++++++++++++++++ cacheinstr.h | 21 +++++++++++++++++++++ cma.cc | 21 +++++++++++++++++++++ cma.h | 21 +++++++++++++++++++++ cmaAddressMap.h | 21 +++++++++++++++++++++ cmamodules.cc | 21 +++++++++++++++++++++ cmamodules.h | 20 ++++++++++++++++++++ config.h | 2 +- cpu.cc | 39 +++++++++++++++++++++------------------ cpu.h | 37 ++++++++++++++++++++----------------- cpzero.cc | 44 +++++++++++++++++++++----------------------- cpzero.h | 37 ++++++++++++++++++++----------------- cpzeroreg.h | 39 +++++++++++++++++++++------------------ dbuf.cc | 20 ++++++++++++++++++++ dbuf.h | 20 ++++++++++++++++++++ debug.cc | 39 +++++++++++++++++++++------------------ debug.h | 29 ++++++++++++++++------------- debugutils.cc | 20 ++++++++++++++++++++ debugutils.h | 20 ++++++++++++++++++++ deviceexc.h | 39 +++++++++++++++++++++------------------ dmac.cc | 20 ++++++++++++++++++++ dmac.h | 20 ++++++++++++++++++++ mapper.cc | 39 +++++++++++++++++++++------------------ mapper.h | 37 ++++++++++++++++++++----------------- memorymodule.h | 39 +++++++++++++++++++++------------------ options.cc | 39 +++++++++++++++++++++------------------ options.h | 29 ++++++++++++++++------------- optiontbl.h | 41 ++++++++++++++++++++++------------------- range.cc | 39 +++++++++++++++++++++------------------ range.h | 29 ++++++++++++++++------------- remoteram.cc | 20 ++++++++++++++++++++ remoteram.h | 20 ++++++++++++++++++++ router.cc | 20 ++++++++++++++++++++ router.h | 20 ++++++++++++++++++++ routerinterface.cc | 20 ++++++++++++++++++++ routerinterface.h | 20 ++++++++++++++++++++ rs232c.cc | 20 ++++++++++++++++++++ rs232c.h | 20 ++++++++++++++++++++ snacc.cc | 20 ++++++++++++++++++++ snacc.h | 20 ++++++++++++++++++++ snaccAddressMap.h | 20 ++++++++++++++++++++ snacccore.cc | 21 +++++++++++++++++++++ snacccore.h | 21 +++++++++++++++++++++ snaccmodules.cc | 21 +++++++++++++++++++++ snaccmodules.h | 21 +++++++++++++++++++++ state.h | 21 +++++++++++++++++++++ test_vec/Makefile | 19 +++++++++++++++++++ test_vec/dump.py | 20 ++++++++++++++++++++ vmips.cc | 41 ++++++++++++++++++++++------------------- vmips.h | 39 +++++++++++++++++++++------------------ 58 files changed, 1142 insertions(+), 315 deletions(-) diff --git a/ISA.h b/ISA.h index 89a66b4..4d99988 100644 --- a/ISA.h +++ b/ISA.h @@ -1,3 +1,23 @@ +/* Utilities to decode MIPS ISA + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "cpu.h" #include diff --git a/Makefile b/Makefile index c312a10..972d6e7 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,23 @@ +# Makefile to build CubeSim on x86-64 computers +# Copyright (c) 2021 Amano laboratory, Keio University. +# Author: Takuya Kojima + +# This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + +# CubeSim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +# CubeSim is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with CubeSim. If not, see . + + # Config SYSCONFDIR = "." DEFAULT_INCLUDES = -I. diff --git a/README.md b/README.md index 8ae1820..995458a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ # cube_sim VMIPSをベースにしたCubeシステムのサイクルアキュレイトシミュレータ +## 関連論文 +1. 小島拓也, 池添赳治, 天野英晴, “3次元積層SiPを用いたマルチコアシステムのためのサイクルアキュレートシミュレータCubeSimの開発”, 電子情報通信学会論文誌D, Vol.J104-D,No.04,pp.228-241,Apr. 2021. DOI:10.14923/transinfj.2020PDP0046 [[Open access]](http://www.am.ics.keio.ac.jp/open_access/2021/ieicej_kojima.pdf) + + ## 特徴 Verilogシミュレーションではキャッシュのサイズやway数、メモリバンド幅など変更するのは容易ではないが、本シミュレーターはそれを可能にする。 また、必要に応じて実行した命令のダンプや、各種レポートを表示可能である。 @@ -26,7 +30,7 @@ C++で実装されているため、CADのライセンスなどは不要で、 ビルドに成功すると実行ファイル `cube_sim` ができていると思います。 ### 3. プログラムバイナリの用意 -Geyser用のプログラムコードをそのまま実行することが可能です。アプリケーション開発環境は[Cube2_TOPリポジトリ](https://github.com/hungalab/Cube2_TOP/)を利用してください。アプリケーションの作成方法についてもこのリポジトリのマニュアルを参照してください。 +Geyser用のプログラムコードをそのまま実行することが可能です。アプリケーション開発環境は[Cube2_TOPリポジトリ](https://github.com/hungalab/Cube2_TOP/)(現在内部公開のみ)を利用してください。アプリケーションの作成方法についてもこのリポジトリのマニュアルを参照してください。 VMIPSでは古い実行ファイル形式ECOFFでしたが、こちらのフローではELFにも対応しています。 下記pythonスクリプトを用いることで生成したアプリケーションhexファイルをバイナリに変換できます。 diff --git a/accelerator.cc b/accelerator.cc index 809e47e..614b18d 100644 --- a/accelerator.cc +++ b/accelerator.cc @@ -1,3 +1,23 @@ +/* A base class for stacked accelerators + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "accelerator.h" #include "error.h" #include "vmips.h" diff --git a/accelerator.h b/accelerator.h index 628ba27..bc0180d 100644 --- a/accelerator.h +++ b/accelerator.h @@ -1,3 +1,24 @@ +/* Headers for stacked accelerator class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _ACCELERATOR_H_ #define _ACCELERATOR_H_ diff --git a/busarbiter.cc b/busarbiter.cc index 58fb2d7..3cc769f 100644 --- a/busarbiter.cc +++ b/busarbiter.cc @@ -1,3 +1,24 @@ +/* Bus arbiter for connecting multiple bus masters + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Takeharu Ikezoe + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "busarbiter.h" #include diff --git a/busarbiter.h b/busarbiter.h index d0e96ec..0c9e443 100644 --- a/busarbiter.h +++ b/busarbiter.h @@ -1,3 +1,24 @@ +/* Headers for the bus arbiter class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Takeharu Ikezoe + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _BUSARBITER_H_ #define _BUSARBITER_H_ diff --git a/cache.cc b/cache.cc index 13884d0..09e7273 100644 --- a/cache.cc +++ b/cache.cc @@ -1,3 +1,24 @@ +/* Write back cache for more practical simulation + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "cache.h" #include "excnames.h" #include "mapper.h" diff --git a/cache.h b/cache.h index bbd942c..afe5940 100644 --- a/cache.h +++ b/cache.h @@ -1,3 +1,24 @@ +/* Headers for the cache class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _CACHE_H_ #define _CACHE_H_ diff --git a/cacheinstr.h b/cacheinstr.h index 5f79c29..7e7615e 100644 --- a/cacheinstr.h +++ b/cacheinstr.h @@ -1,3 +1,24 @@ +/* Macros for decoding cache instruction which is compatible to MIPS 32 + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _CACHEINSTR_H_ #define _CACHEINSTR_H_ diff --git a/cma.cc b/cma.cc index 1190d04..0ac8cbf 100644 --- a/cma.cc +++ b/cma.cc @@ -1,3 +1,24 @@ +/* Implementation of Cool Mega array as an accelerator + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "cma.h" #include "debugutils.h" diff --git a/cma.h b/cma.h index a98c8dd..8fad540 100644 --- a/cma.h +++ b/cma.h @@ -1,3 +1,24 @@ +/* Headers for CMA class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _CMA_H_ #define _CMA_H_ diff --git a/cmaAddressMap.h b/cmaAddressMap.h index 00192ae..4bbd050 100644 --- a/cmaAddressMap.h +++ b/cmaAddressMap.h @@ -1,3 +1,24 @@ +/* Address mapping of local memory space in CMA + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _CMAADDRESSMAP_H_ #define _CMAADDRESSMAP_H_ diff --git a/cmamodules.cc b/cmamodules.cc index 2fc9f16..524722f 100644 --- a/cmamodules.cc +++ b/cmamodules.cc @@ -1,3 +1,24 @@ +/* Each component of CMA + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "cmamodules.h" #define CMA_COUNT 1 diff --git a/cmamodules.h b/cmamodules.h index c1daba7..5456759 100644 --- a/cmamodules.h +++ b/cmamodules.h @@ -1,3 +1,23 @@ +/* Headers for each component of CMA + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _CMACORE_H_ #define _CMACORE_H_ diff --git a/config.h b/config.h index dad5534..00f7e55 100644 --- a/config.h +++ b/config.h @@ -5,7 +5,7 @@ #define AS /**/ /* Currently not used. */ -#define ASFLAGS /**/ +#define ASFLAGS /**/ /* Currently not used. */ #define CCAS /**/ diff --git a/cpu.cc b/cpu.cc index 91e036f..0d6eed6 100644 --- a/cpu.cc +++ b/cpu.cc @@ -1,21 +1,24 @@ -/* MIPS R3000 CPU emulation. - Copyright 2001, 2002, 2003, 2004 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* MIPS R3000 CPU emulation modified to simulate traditional 5-stage pipeline, memory access stall (due to e.g., cache miss) + Original work Copyright 2001, 2002, 2003, 2004 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include #include "cpu.h" diff --git a/cpu.h b/cpu.h index c2ec1b6..d0c14f8 100644 --- a/cpu.h +++ b/cpu.h @@ -1,21 +1,24 @@ /* Definitions and declarations to support the MIPS R3000 emulation. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _CPU_H_ #define _CPU_H_ diff --git a/cpzero.cc b/cpzero.cc index 30dfd7b..6bb655a 100644 --- a/cpzero.cc +++ b/cpzero.cc @@ -1,26 +1,24 @@ -/* R3000 system control coprocessor emulation ("coprocessor zero"). - Copyright 2001, 2002, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* Code to implement MIPS coprocessor zero (the "system control - * coprocessor"), which provides for address translation and - * exception handling. - */ +/* R3000 system control coprocessor emulation ("coprocessor zero") modified in associated with the pipeline simulation + Original work Copyright 2001, 2002, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "cpzero.h" #include "mapper.h" diff --git a/cpzero.h b/cpzero.h index 731b206..98ca684 100644 --- a/cpzero.h +++ b/cpzero.h @@ -1,21 +1,24 @@ /* Definitions to support the system control coprocessor. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _CPZERO_H_ #define _CPZERO_H_ diff --git a/cpzeroreg.h b/cpzeroreg.h index 30ba53a..dab1af8 100644 --- a/cpzeroreg.h +++ b/cpzeroreg.h @@ -1,21 +1,24 @@ -/* Useful constants for system control coprocessor registers. - Copyright 2001, 2002 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Useful constants for system control coprocessor registers, modified to add CPU ID in cp0 reg + Original work Copyright 2001, 2002 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _CPZEROREG_H_ #define _CPZEROREG_H_ diff --git a/dbuf.cc b/dbuf.cc index 9f6a18b..9cf375f 100644 --- a/dbuf.cc +++ b/dbuf.cc @@ -1,3 +1,23 @@ +/* Double buffer for accelerator's memory module + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "dbuf.h" #include "vmips.h" #include "options.h" diff --git a/dbuf.h b/dbuf.h index 2066ad2..43d6f34 100644 --- a/dbuf.h +++ b/dbuf.h @@ -1,3 +1,23 @@ +/* Headers for the double buffer class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _DOUBLEBUFFER_H_ #define _DOUBLEBUFFER_H_ diff --git a/debug.cc b/debug.cc index 08b39ae..9033a2c 100644 --- a/debug.cc +++ b/debug.cc @@ -1,21 +1,24 @@ -/* Interface to an external GNU debugger over TCP/IP. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Interface to an external GNU debugger over TCP/IP modified to provide debugging functionality for stacked accelerators. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "debug.h" #include "remotegdb.h" diff --git a/debug.h b/debug.h index 379c916..c1784b4 100644 --- a/debug.h +++ b/debug.h @@ -1,21 +1,24 @@ /* Defintions to support the remote debugging interface. - Copyright 2001, 2003 Brian R. Gaeke. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima -This file is part of VMIPS. + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _DEBUG_H_ #define _DEBUG_H_ diff --git a/debugutils.cc b/debugutils.cc index cb975d8..46d3c0d 100644 --- a/debugutils.cc +++ b/debugutils.cc @@ -1,3 +1,23 @@ +/* utilities to debug the stacked accelerators + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "debugutils.h" #include "vmips.h" #include "mapper.h" diff --git a/debugutils.h b/debugutils.h index 9b0847f..ad5b07c 100644 --- a/debugutils.h +++ b/debugutils.h @@ -1,3 +1,23 @@ +/* Headers for the debugger utilities + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _DEBUGUTILS_H_ #define _DEBUGUTILS_H_ diff --git a/deviceexc.h b/deviceexc.h index f419e47..a7c9490 100644 --- a/deviceexc.h +++ b/deviceexc.h @@ -1,21 +1,24 @@ -/* Definitions to support devices that can handle exceptions. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Definitions to support devices that can handle exceptions modified to consider pipelining. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _DEVICEEXC_H_ #define _DEVICEEXC_H_ diff --git a/dmac.cc b/dmac.cc index b4ce5a6..01e0100 100644 --- a/dmac.cc +++ b/dmac.cc @@ -1,3 +1,23 @@ +/* DMA controller of Geyser CPU + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "dmac.h" #include "accesstypes.h" #include "vmips.h" diff --git a/dmac.h b/dmac.h index 63d94f7..cab9b8e 100644 --- a/dmac.h +++ b/dmac.h @@ -1,3 +1,23 @@ +/* Headers for DMAC class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _DMAC_H_ #define _DMAC_H_ diff --git a/mapper.cc b/mapper.cc index 32ded05..f8ab5d1 100644 --- a/mapper.cc +++ b/mapper.cc @@ -1,21 +1,24 @@ -/* Physical memory system for the virtual machine. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Physical memory system for the virtual machine, modified to simulate memory access latency, etc.. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "cpu.h" #include "devicemap.h" diff --git a/mapper.h b/mapper.h index 459d7f9..8f38410 100644 --- a/mapper.h +++ b/mapper.h @@ -1,21 +1,24 @@ /* Definitions to support the physical memory system. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _MAPPER_H_ #define _MAPPER_H_ diff --git a/memorymodule.h b/memorymodule.h index 552bbec..f0b59f8 100644 --- a/memorymodule.h +++ b/memorymodule.h @@ -1,21 +1,24 @@ -/* Definitions to support the memory module wrapper class. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Definitions to support the memory module wrapper class, modified to be able to initilize memory with a binary file. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _MEMORYMODULE_H_ #define _MEMORYMODULE_H_ diff --git a/options.cc b/options.cc index b07a0dd..62bbb79 100644 --- a/options.cc +++ b/options.cc @@ -1,21 +1,24 @@ -/* Command-line and preferences-file options processing. - Copyright 2001, 2003, 2004, 2009 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Command-line and preferences-file options processing, added a new type of option parser. + Original work Copyright 2001, 2003, 2004, 2009 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "error.h" #include "fileutils.h" diff --git a/options.h b/options.h index 32f7d6e..4ad10dc 100644 --- a/options.h +++ b/options.h @@ -1,21 +1,24 @@ /* Definitions to support options processing. - Copyright 2001 Brian R. Gaeke. + Original work Copyright 2001 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima -This file is part of VMIPS. + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _OPTIONS_H_ #define _OPTIONS_H_ diff --git a/optiontbl.h b/optiontbl.h index f6fea16..02efa01 100644 --- a/optiontbl.h +++ b/optiontbl.h @@ -1,22 +1,25 @@ -/* Table of supported options, their meanings, and defaults. - Copyright 2001, 2003 Brian R. Gaeke. - Copyright 2002 Paul Twohey. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Table of supported options, their meanings, and defaults, added new options for CubeSim + Original work Copyright 2001, 2003 Brian R. Gaeke. + Original work Copyright 2002 Paul Twohey. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _OPTIONTBL_H_ #define _OPTIONTBL_H_ diff --git a/range.cc b/range.cc index 0f343ff..d243967 100644 --- a/range.cc +++ b/range.cc @@ -1,21 +1,24 @@ -/* Mapping ranges, the building blocks of the physical memory system. - Copyright 2001, 2003 Brian R. Gaeke. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Mapping ranges, the building blocks of the physical memory system, modified for morery access latencys. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "range.h" #include "accesstypes.h" diff --git a/range.h b/range.h index 468532b..5a69ef9 100644 --- a/range.h +++ b/range.h @@ -1,21 +1,24 @@ /* Definitions to support mapping ranges. - Copyright 2001, 2003 Brian R. Gaeke. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima -This file is part of VMIPS. + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _RANGE_H_ #define _RANGE_H_ diff --git a/remoteram.cc b/remoteram.cc index 89085ff..8fbe19c 100644 --- a/remoteram.cc +++ b/remoteram.cc @@ -1,3 +1,23 @@ +/* A simple memory module accessed through stacked chip network + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "remoteram.h" RemoteRam::RemoteRam(uint32 node_ID, Router* upperRouter, int mem_size) diff --git a/remoteram.h b/remoteram.h index 576f59a..52587ff 100644 --- a/remoteram.h +++ b/remoteram.h @@ -1,3 +1,23 @@ +/* Headers for the stacked memory class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _REMOTERAM_H_ #define _REMOTERAM_H_ diff --git a/router.cc b/router.cc index 1f1f685..2bfac14 100644 --- a/router.cc +++ b/router.cc @@ -1,3 +1,23 @@ +/* Router to communicate between stacked chips + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "router.h" #include "options.h" #include diff --git a/router.h b/router.h index 752ba9c..3ce2c6f 100644 --- a/router.h +++ b/router.h @@ -1,3 +1,23 @@ +/* Headers for the router class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _ROUTER_H_ #define _ROUTER_H_ diff --git a/routerinterface.cc b/routerinterface.cc index d0b1eeb..e703dc6 100644 --- a/routerinterface.cc +++ b/routerinterface.cc @@ -1,3 +1,23 @@ +/* An interface of router as a memory mapped device + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include #include "routerinterface.h" #include "accesstypes.h" diff --git a/routerinterface.h b/routerinterface.h index 4afc969..27fb57f 100644 --- a/routerinterface.h +++ b/routerinterface.h @@ -1,3 +1,23 @@ +/* Headers for the router interface + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _ROUTERINTERFACE_H_ #define _ROUTERINTERFACE_H_ diff --git a/rs232c.cc b/rs232c.cc index a028551..5e32d19 100644 --- a/rs232c.cc +++ b/rs232c.cc @@ -1,3 +1,23 @@ +/* An emurator of serial port RS-232C + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Tetsui Okubo + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "rs232c.h" #include "vmips.h" #include "mapper.h" diff --git a/rs232c.h b/rs232c.h index 19d7531..19b3ec8 100644 --- a/rs232c.h +++ b/rs232c.h @@ -1,3 +1,23 @@ +/* Headers for the RS-232c serial port class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _RS232C_H_ #define _RS232C_H_ diff --git a/snacc.cc b/snacc.cc index 18f4932..2e1d372 100644 --- a/snacc.cc +++ b/snacc.cc @@ -1,3 +1,23 @@ +/* Implementation of SNACC as an accelerator + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #include "snacc.h" #include "snaccmodules.h" #include "error.h" diff --git a/snacc.h b/snacc.h index b7fc155..45904c9 100644 --- a/snacc.h +++ b/snacc.h @@ -1,3 +1,23 @@ +/* Headers for SNACC class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + #ifndef _SNACC_H_ #define _SNACC_H_ diff --git a/snaccAddressMap.h b/snaccAddressMap.h index 8ef71a8..219eab5 100644 --- a/snaccAddressMap.h +++ b/snaccAddressMap.h @@ -1,3 +1,23 @@ +/* Address mapping of local memory space in SNACC + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + //Global Address #define SNACC_CORE_ADDR_SIZE 0x04000 #define SNACC_GLB_IMEM_OFFSET 0x00000 diff --git a/snacccore.cc b/snacccore.cc index 74346ea..fe1329c 100644 --- a/snacccore.cc +++ b/snacccore.cc @@ -1,3 +1,24 @@ +/* SNACC core inside SNACC chip + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Tetsui Okubo + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "snacccore.h" #include "snaccmodules.h" diff --git a/snacccore.h b/snacccore.h index 3aa840b..3fba390 100644 --- a/snacccore.h +++ b/snacccore.h @@ -1,3 +1,24 @@ +/* Headers for the SNACC core class + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Tetsui Okubo + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _SNACCCORE_H_ #define _SNACCCORE_H_ diff --git a/snaccmodules.cc b/snaccmodules.cc index 09e5045..6d90f60 100644 --- a/snaccmodules.cc +++ b/snaccmodules.cc @@ -1,3 +1,24 @@ +/* SNACC modules inside SNACC cores + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Tetsui Okubo + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #include "snaccmodules.h" #include "accesstypes.h" diff --git a/snaccmodules.h b/snaccmodules.h index 37f6362..f245b90 100644 --- a/snaccmodules.h +++ b/snaccmodules.h @@ -1,3 +1,24 @@ +/* Headers for the SNACC module classes + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima, Tetsui Okubo + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _SNACCMODULES_H_ #define _SNACCMODULES_H_ diff --git a/state.h b/state.h index e17d619..e1a84ca 100644 --- a/state.h +++ b/state.h @@ -1,3 +1,24 @@ +/* Macros for pipeline status of CPU + Copyright (c) 2021 Amano laboratory, Keio University. + Author: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ + + #ifndef _STATE_H_ #define _STATE_H_ diff --git a/test_vec/Makefile b/test_vec/Makefile index 7fb8f26..5171520 100644 --- a/test_vec/Makefile +++ b/test_vec/Makefile @@ -1,3 +1,22 @@ +# Makefile to drive test for each teshbench application +# Copyright (c) 2021 Amano laboratory, Keio University. +# Author: Takuya Kojima + +# This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + +# CubeSim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +# CubeSim is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with CubeSim. If not, see . + SIMULATOR = ../cube_sim SIMFLAGS = -F ../vmipsrc TIMEOUT_SEC = 10 diff --git a/test_vec/dump.py b/test_vec/dump.py index 2a74a84..18a85c8 100644 --- a/test_vec/dump.py +++ b/test_vec/dump.py @@ -1,3 +1,23 @@ +# Converter from Geyser program in hex format to binary for CubeSim +# Copyright (c) 2021 Amano laboratory, Keio University. +# Author: Takuya Kojima + +# This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + +# CubeSim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +# CubeSim is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with CubeSim. If not, see . + + import codecs import sys import re diff --git a/vmips.cc b/vmips.cc index 68dda69..50b6de0 100644 --- a/vmips.cc +++ b/vmips.cc @@ -1,22 +1,25 @@ -/* Main driver program for VMIPS. - Copyright 2001, 2003 Brian R. Gaeke. - Copyright 2002, 2003 Paul Twohey. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Main driver program for VMIPS, modified for CubeSim. + Original work Copyright 2001, 2003 Brian R. Gaeke. + Original work Copyright 2002, 2003 Paul Twohey. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #include "clock.h" #include "clockdev.h" diff --git a/vmips.h b/vmips.h index 71f4c28..3c8786a 100644 --- a/vmips.h +++ b/vmips.h @@ -1,22 +1,25 @@ /* Definitions to support the main driver program. -*- C++ -*- - Copyright 2001, 2003 Brian R. Gaeke. - Copyright 2002, 2003 Paul Twohey. - -This file is part of VMIPS. - -VMIPS is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. - -VMIPS is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with VMIPS; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Original work Copyright 2001, 2003 Brian R. Gaeke. + Original work Copyright 2002, 2003 Paul Twohey. + Modified work Copyright (c) 2021 Amano laboratory, Keio University. + Modifier: Takuya Kojima + + This file is part of CubeSim, a cycle accurate simulator for 3-D stacked system. + It is derived from a source code of VMIPS project under GPLv2. + + CubeSim is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + CubeSim is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with CubeSim. If not, see . +*/ #ifndef _VMIPS_H_ #define _VMIPS_H_