1
0

tilelink: split Acquire into Acquire{Block,Perm} (#1030)

We had planned for a while to add an 'Overwrite' message which obtains
permissions without requiring retrieval of data. This is useful whenever
a master knows it will completely replace the contents of a cache block.

Instead of calling it Overwrite, we decided to split the Acquire type.

If you AcquirePerm, you MUST Release and ProbeAck with Data.
This commit is contained in:
Wesley W. Terpstra
2017-10-05 12:49:49 -07:00
committed by GitHub
parent 81b9ac42a3
commit bd045a3b95
9 changed files with 55 additions and 25 deletions

View File

@ -116,7 +116,7 @@ class TLRAMModel(log: String = "")(implicit p: Parameters) extends LazyModule
when (a_fire) {
// Record the request so we can handle it's response
assert (a.opcode =/= TLMessages.Acquire)
assert (a.opcode =/= TLMessages.AcquireBlock && a.opcode =/= TLMessages.AcquirePerm)
// Mark the operation as valid
valid(a.source) := Bool(true)