Skip to content

Commit

Permalink
add copyright information
Browse files Browse the repository at this point in the history
  • Loading branch information
tkojima.am committed Jun 27, 2021
1 parent 302825d commit 207f6a8
Show file tree
Hide file tree
Showing 58 changed files with 1,142 additions and 315 deletions.
20 changes: 20 additions & 0 deletions ISA.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/

#include "cpu.h"
#include <map>

Expand Down
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.


# Config
SYSCONFDIR = "."
DEFAULT_INCLUDES = -I.
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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数、メモリバンド幅など変更するのは容易ではないが、本シミュレーターはそれを可能にする。
また、必要に応じて実行した命令のダンプや、各種レポートを表示可能である。
Expand All @@ -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ファイルをバイナリに変換できます。
Expand Down
20 changes: 20 additions & 0 deletions accelerator.cc
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/

#include "accelerator.h"
#include "error.h"
#include "vmips.h"
Expand Down
21 changes: 21 additions & 0 deletions accelerator.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _ACCELERATOR_H_
#define _ACCELERATOR_H_

Expand Down
21 changes: 21 additions & 0 deletions busarbiter.cc
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#include "busarbiter.h"
#include <cstddef>

Expand Down
21 changes: 21 additions & 0 deletions busarbiter.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _BUSARBITER_H_
#define _BUSARBITER_H_

Expand Down
21 changes: 21 additions & 0 deletions cache.cc
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#include "cache.h"
#include "excnames.h"
#include "mapper.h"
Expand Down
21 changes: 21 additions & 0 deletions cache.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _CACHE_H_
#define _CACHE_H_

Expand Down
21 changes: 21 additions & 0 deletions cacheinstr.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _CACHEINSTR_H_
#define _CACHEINSTR_H_

Expand Down
21 changes: 21 additions & 0 deletions cma.cc
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#include "cma.h"
#include "debugutils.h"

Expand Down
21 changes: 21 additions & 0 deletions cma.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _CMA_H_
#define _CMA_H_

Expand Down
21 changes: 21 additions & 0 deletions cmaAddressMap.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#ifndef _CMAADDRESSMAP_H_
#define _CMAADDRESSMAP_H_

Expand Down
21 changes: 21 additions & 0 deletions cmamodules.cc
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/


#include "cmamodules.h"

#define CMA_COUNT 1
Expand Down
20 changes: 20 additions & 0 deletions cmamodules.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/>.
*/

#ifndef _CMACORE_H_
#define _CMACORE_H_

Expand Down
2 changes: 1 addition & 1 deletion config.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define AS /**/

/* Currently not used. */
#define ASFLAGS /**/
#define ASFLAGS /**/

/* Currently not used. */
#define CCAS /**/
Expand Down
Loading

0 comments on commit 207f6a8

Please sign in to comment.