build.sc (7720a3764fdc343fc9dc5e2997099909fa9e8bd3) build.sc (15ee59e46c33fe60e4408711f9ea0a6078d50510)
1/***************************************************************************************
2* Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3* Copyright (c) 2020-2021 Peng Cheng Laboratory
4*
5* XiangShan is licensed under Mulan PSL v2.
6* You can use this software according to the terms and conditions of the Mulan PSL v2.
7* You may obtain a copy of Mulan PSL v2 at:
8* http://license.coscl.org.cn/MulanPSL2

--- 105 unchanged lines hidden (view full) ---

114 override def millSourcePath = os.pwd / "huancun"
115
116 override def moduleDeps = super.moduleDeps ++ Seq(
117 rocketchip,
118 utility
119 )
120}
121
1/***************************************************************************************
2* Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3* Copyright (c) 2020-2021 Peng Cheng Laboratory
4*
5* XiangShan is licensed under Mulan PSL v2.
6* You can use this software according to the terms and conditions of the Mulan PSL v2.
7* You may obtain a copy of Mulan PSL v2 at:
8* http://license.coscl.org.cn/MulanPSL2

--- 105 unchanged lines hidden (view full) ---

114 override def millSourcePath = os.pwd / "huancun"
115
116 override def moduleDeps = super.moduleDeps ++ Seq(
117 rocketchip,
118 utility
119 )
120}
121
122object coupledL2 extends XSModule with SbtModule {
123
124 override def millSourcePath = os.pwd / "coupledL2"
125
126 override def moduleDeps = super.moduleDeps ++ Seq(
127 rocketchip,
128 huancun,
129 utility
130 )
131}
132
122object difftest extends XSModule with SbtModule {
123 override def millSourcePath = os.pwd / "difftest"
124}
125
133object difftest extends XSModule with SbtModule {
134 override def millSourcePath = os.pwd / "difftest"
135}
136
126object yunsuan extends XSModule with SbtModule {
127 override def millSourcePath = os.pwd / "yunsuan"
128}
129
130object fudian extends XSModule with SbtModule
131
132object utility extends XSModule with SbtModule {
133
134 override def millSourcePath = os.pwd / "utility"
135
136 override def moduleDeps = super.moduleDeps ++ Seq(
137 rocketchip
138 )
139}
140
141// extends this trait to use XiangShan in other projects
142trait CommonXiangShan extends XSModule with SbtModule { m =>
143
144 // module deps
145 def rocketModule: PublishModule
146 def difftestModule: PublishModule
147 def huancunModule: PublishModule
137object fudian extends XSModule with SbtModule
138
139object utility extends XSModule with SbtModule {
140
141 override def millSourcePath = os.pwd / "utility"
142
143 override def moduleDeps = super.moduleDeps ++ Seq(
144 rocketchip
145 )
146}
147
148// extends this trait to use XiangShan in other projects
149trait CommonXiangShan extends XSModule with SbtModule { m =>
150
151 // module deps
152 def rocketModule: PublishModule
153 def difftestModule: PublishModule
154 def huancunModule: PublishModule
148 def yunsuanModule: PublishModule
155 def coupledL2Module: PublishModule
149 def fudianModule: PublishModule
150 def utilityModule: PublishModule
151
152 override def millSourcePath = os.pwd
153
156 def fudianModule: PublishModule
157 def utilityModule: PublishModule
158
159 override def millSourcePath = os.pwd
160
154 override def forkArgs = Seq("-Xmx100G", "-Xss256m")
161 override def forkArgs = Seq("-Xmx64G", "-Xss256m")
155
162
156 val resourcesPATH = os.pwd.toString() + "/src/main/resources"
157 val envPATH = sys.env("PATH") + ":" + resourcesPATH
158 override def forkEnv = Map("PATH" -> envPATH)
159
160 override def ivyDeps = super.ivyDeps() ++ Seq(ivys.chiseltest)
161
162 override def moduleDeps = super.moduleDeps ++ Seq(
163 rocketModule,
164 difftestModule,
165 huancunModule,
163 override def ivyDeps = super.ivyDeps() ++ Seq(ivys.chiseltest)
164
165 override def moduleDeps = super.moduleDeps ++ Seq(
166 rocketModule,
167 difftestModule,
168 huancunModule,
166 yunsuanModule,
169 coupledL2Module,
167 fudianModule,
168 utilityModule
169 )
170
171 object test extends Tests with TestModule.ScalaTest {
172
173 override def forkArgs = m.forkArgs
174
170 fudianModule,
171 utilityModule
172 )
173
174 object test extends Tests with TestModule.ScalaTest {
175
176 override def forkArgs = m.forkArgs
177
175 override def forkEnv = m.forkEnv
176
177 override def ivyDeps = super.ivyDeps() ++ Agg(
178 ivys.scalatest
179 )
180
181 }
182
183}
184
185object XiangShan extends CommonXiangShan {
186 override def rocketModule = rocketchip
187 override def difftestModule = difftest
188 override def huancunModule = huancun
178 override def ivyDeps = super.ivyDeps() ++ Agg(
179 ivys.scalatest
180 )
181
182 }
183
184}
185
186object XiangShan extends CommonXiangShan {
187 override def rocketModule = rocketchip
188 override def difftestModule = difftest
189 override def huancunModule = huancun
189 override def yunsuanModule = yunsuan
190 override def coupledL2Module = coupledL2
190 override def fudianModule = fudian
191 override def utilityModule = utility
192}
191 override def fudianModule = fudian
192 override def utilityModule = utility
193}