Skip to content

Commit 3e20954

Browse files
authored
Merge pull request #3665 from chipsalliance/v_exts
Support vector extensions
2 parents 306467d + ee7f6a6 commit 3e20954

File tree

4 files changed

+5
-2
lines changed

4 files changed

+5
-2
lines changed

Diff for: src/main/scala/rocket/RocketCore.scala

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ case class RocketCoreParams(
7171
override def eLen = vector.map(_.eLen).getOrElse(0)
7272
override def vfLen = vector.map(_.vfLen).getOrElse(0)
7373
override def vfh = vector.map(_.vfh).getOrElse(false)
74+
override def vExts = vector.map(_.vExts).getOrElse(Nil)
7475
override def vMemDataBits = vector.map(_.vMemDataBits).getOrElse(0)
7576
override val customIsaExt = Option.when(haveCease)("xrocket") // CEASE instruction
7677
override def minFLen: Int = fpu.map(_.minFLen).getOrElse(32)

Diff for: src/main/scala/rocket/VectorUnit.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ case class RocketCoreVectorParams(
1616
vMemDataBits: Int,
1717
decoder: Parameters => RocketVectorDecoder,
1818
useDCache: Boolean,
19-
issueVConfig: Boolean
19+
issueVConfig: Boolean,
20+
vExts: Seq[String]
2021
)
2122

2223
class VectorCoreIO(implicit p: Parameters) extends CoreBundle()(p) {

Diff for: src/main/scala/tile/BaseTile.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ trait HasNonDiplomaticTileParameters {
125125
Option.when(tileParams.core.useConditionalZero)(Seq("zicond")) ++
126126
Some(Seq("zicsr", "zifencei", "zihpm")) ++
127127
Option.when(tileParams.core.fpu.nonEmpty && tileParams.core.fpu.get.fLen >= 16 && tileParams.core.fpu.get.minFLen <= 16)(Seq("zfh")) ++
128-
zvl ++ zve ++ zvfh ++
128+
zvl ++ zve ++ zvfh ++ Some(tileParams.core.vExts) ++
129129
tileParams.core.customIsaExt.map(Seq(_))
130130
).flatten
131131
val multiLetterString = multiLetterExt.mkString("_")

Diff for: src/main/scala/tile/Core.scala

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ trait CoreParams {
6969
def eLen: Int = 0
7070
def vfLen: Int = 0
7171
def vfh: Boolean = false
72+
def vExts: Seq[String] = Nil
7273
def hasV: Boolean = vLen >= 128 && eLen >= 64 && vfLen >= 64
7374
def vMemDataBits: Int = 0
7475
}

0 commit comments

Comments
 (0)