tilelink2: define is{Request,Response} based on spec
This commit is contained in:
@ -57,7 +57,7 @@ class TLEdge(
|
||||
}
|
||||
}
|
||||
|
||||
def hasFollowUp(x: TLChannel): Bool = {
|
||||
def isRequest(x: TLChannel): Bool = {
|
||||
x match {
|
||||
case a: TLBundleA => Bool(true)
|
||||
case b: TLBundleB => Bool(true)
|
||||
@ -71,6 +71,18 @@ class TLEdge(
|
||||
}
|
||||
}
|
||||
|
||||
def isResponse(x: TLChannel): Bool = {
|
||||
x match {
|
||||
case a: TLBundleA => Bool(false)
|
||||
case b: TLBundleB => Bool(false)
|
||||
case c: TLBundleC => !c.opcode(2) || !c.opcode(1)
|
||||
// opcode =/= TLMessages.Release &&
|
||||
// opcode =/= TLMessages.ReleaseData
|
||||
case d: TLBundleD => Bool(true) // Grant isResponse + isRequest
|
||||
case e: TLBundleE => Bool(true)
|
||||
}
|
||||
}
|
||||
|
||||
def hasData(x: TLChannel): Bool = {
|
||||
val opdata = x match {
|
||||
case a: TLBundleA => !a.opcode(2)
|
||||
|
Reference in New Issue
Block a user