-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathcommon.sc
28 lines (25 loc) · 947 Bytes
/
common.sc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2022 Jiuyang Liu <[email protected]>
import mill._
import mill.scalalib._
trait HasChisel
extends ScalaModule {
// Define these for building chisel from ivy
def chiselIvy: Option[Dep]
def chiselPluginIvy: Option[Dep]
override def ivyDeps = super.ivyDeps() ++ Agg(chiselIvy.get) ++ Agg(chiselPluginIvy.get)
override def scalacPluginIvyDeps = super.scalacPluginIvyDeps() ++ Agg(chiselPluginIvy.get)
// override def scalacPluginIvyDeps: T[Agg[Dep]] = T(super.scalacPluginIvyDeps() ++ chiselPluginIvy.map(Agg(_)).getOrElse(Agg.empty[Dep]))
}
trait VentusModule extends HasChisel {
def hardfloatModule : ScalaModule
def fpuv2Module : ScalaModule
def rocketchipModule : ScalaModule
def inclusivecacheModule : ScalaModule
override def moduleDeps = super.moduleDeps ++ Seq(
hardfloatModule,
fpuv2Module,
rocketchipModule,
inclusivecacheModule,
)
}