track operand size for Gets
This commit is contained in:
parent
172c372d3e
commit
a7fa77c7fc
@ -16,6 +16,7 @@ trait MemoryOpConstants {
|
|||||||
val MT_BU = Bits("b100")
|
val MT_BU = Bits("b100")
|
||||||
val MT_HU = Bits("b101")
|
val MT_HU = Bits("b101")
|
||||||
val MT_WU = Bits("b110")
|
val MT_WU = Bits("b110")
|
||||||
|
val MT_Q = Bits("b111")
|
||||||
|
|
||||||
val NUM_XA_OPS = 9
|
val NUM_XA_OPS = 9
|
||||||
val M_SZ = 5
|
val M_SZ = 5
|
||||||
|
@ -283,6 +283,8 @@ object Acquire {
|
|||||||
* @param client_xact_id client's transaction id
|
* @param client_xact_id client's transaction id
|
||||||
* @param addr_block address of the cache block
|
* @param addr_block address of the cache block
|
||||||
* @param addr_beat sub-block address (which beat)
|
* @param addr_beat sub-block address (which beat)
|
||||||
|
* @param addr_byte sub-block address (which byte)
|
||||||
|
* @param operand_size {byte, half, word, double} from [[uncore.MemoryOpConstants]]
|
||||||
* @param alloc hint whether the block should be allocated in intervening caches
|
* @param alloc hint whether the block should be allocated in intervening caches
|
||||||
*/
|
*/
|
||||||
object Get {
|
object Get {
|
||||||
@ -297,7 +299,22 @@ object Get {
|
|||||||
client_xact_id = client_xact_id,
|
client_xact_id = client_xact_id,
|
||||||
addr_block = addr_block,
|
addr_block = addr_block,
|
||||||
addr_beat = addr_beat,
|
addr_beat = addr_beat,
|
||||||
union = Cat(M_XRD, alloc))
|
union = Cat(MT_Q, M_XRD, alloc))
|
||||||
|
}
|
||||||
|
def apply(
|
||||||
|
client_xact_id: UInt,
|
||||||
|
addr_block: UInt,
|
||||||
|
addr_beat: UInt,
|
||||||
|
addr_byte: UInt,
|
||||||
|
operand_size: UInt,
|
||||||
|
alloc: Bool): Acquire = {
|
||||||
|
Acquire(
|
||||||
|
is_builtin_type = Bool(true),
|
||||||
|
a_type = Acquire.getType,
|
||||||
|
client_xact_id = client_xact_id,
|
||||||
|
addr_block = addr_block,
|
||||||
|
addr_beat = addr_beat,
|
||||||
|
union = Cat(addr_byte, operand_size, M_XRD, alloc))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user