Skip to content

Commit

Permalink
add attribute for vwsll
Browse files Browse the repository at this point in the history
  • Loading branch information
Lucas-Wye committed Jul 23, 2024
1 parent 09cd0c5 commit 5d3c08b
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 12 deletions.
4 changes: 4 additions & 0 deletions t1/src/decoder/attribute/isCrossread.scala
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ object isCrossread {
"vwsub.wx",
"vwsubu.wv",
"vwsubu.wx",
// rv_zvbb
"vwsll.vv",
"vwsll.vx",
"vwsll.vi",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
Expand Down
4 changes: 4 additions & 0 deletions t1/src/decoder/attribute/isCrosswrite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ object isCrosswrite {
"vwsubu.vx",
"vwsubu.wv",
"vwsubu.wx",
// rv_zvbb
"vwsll.vv",
"vwsll.vx",
"vwsll.vi",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
Expand Down
2 changes: 1 addition & 1 deletion t1/src/decoder/attribute/isScheduler.scala
Original file line number Diff line number Diff line change
Expand Up @@ -274,5 +274,5 @@ object isScheduler {
}

case class isScheduler(value: TriState) extends BooleanDecodeAttribute {
override val description: String = "lane will send request to Sequencer and wait ack from Sequencer. instructions that will communicate with T1 top module.*/ "
override val description: String = "lane will send request to Sequencer and wait ack from Sequencer. Instructions that will communicate with T1 top module.*/ "
}
2 changes: 1 addition & 1 deletion t1/src/decoder/attribute/isSwrite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -224,5 +224,5 @@ object isSwrite {
}

case class isSwrite(value: TriState) extends BooleanDecodeAttribute {
override val description: String = "sWrite -> targetRd || readOnly || crossWrite || maskDestination || reduce || loadStore instruction will write vd or rd(scalar) from outside of lane. It will request vrf wait, and lane will not write. "
override val description: String = "sWrite -> targetRd || readOnly || crossWrite || maskDestination || reduce || loadStore instruction will write vd or rd(scalar) from outside of lane. It will request vrf wait, and lane will not write. No write to vd when isSwrite is True!!!"
}
1 change: 1 addition & 0 deletions t1/src/decoder/attribute/isVtype.scala
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ object isVtype {
"vrol.vv",
"vror.vv",
"vwsll.vv",
"vwsll.vv",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
Expand Down
3 changes: 3 additions & 0 deletions t1/src/decoder/attribute/isZvbb.scala
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ object isZvbb {
"vror.vv",
"vror.vx",
"vror.vi",
"vwsll.vv",
"vwsll.vx",
"vwsll.vi",
) else Seq()
allMatched.contains(t1DecodePattern.instruction.name)
}
Expand Down
28 changes: 18 additions & 10 deletions t1/src/decoder/attribute/zvbbUop.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,46 +30,54 @@ object ZvbbUOP {
}
def t0(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vbrev.v"
"vbrev.v"
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t1(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vbrev8.v"
"vbrev8.v"
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t2(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vrev8.v"
"vrev8.v"
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t3(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vclz.v"
"vclz.v"
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t4(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vctz.v"
"vctz.v"
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t5(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vrol.vv",
"vrol.vx",
"vrol.vv",
"vrol.vx",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t6(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vror.vv",
"vror.vx",
"vror.vi",
"vror.vv",
"vror.vx",
"vror.vi",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
def t7(t1DecodePattern: T1DecodePattern): Boolean = {
val allMatched: Seq[String] = Seq(
"vwsll.vv",
"vwsll.vx",
"vwsll.vi",
)
allMatched.contains(t1DecodePattern.instruction.name)
}
Expand Down

0 comments on commit 5d3c08b

Please sign in to comment.