From d844bee3109e28bf20f77850e9f24bd72044ca13 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Sat, 31 Oct 2015 18:58:05 -0700 Subject: [PATCH] properly shift grant data when checking correctness --- groundtest/src/main/scala/generator.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/groundtest/src/main/scala/generator.scala b/groundtest/src/main/scala/generator.scala index a8afe4c0..06daf48e 100644 --- a/groundtest/src/main/scala/generator.scala +++ b/groundtest/src/main/scala/generator.scala @@ -93,8 +93,14 @@ class UncachedTileLinkGenerator(id: Int) io.mem.acquire.bits := Mux(state === s_put, put_acquire, get_acquire) io.mem.grant.ready := !sending + def wordFromBeat(addr: UInt, dat: UInt) = { + val offset = addr(tlByteAddrBits - 1, wordOffset) + val shift = Cat(offset, UInt(0, wordOffset + 3)) + (dat >> shift)(wordBits - 1, 0) + } + assert(!io.mem.grant.valid || state =/= s_get || - io.mem.grant.bits.data(63, 0) === word_data, + wordFromBeat(full_addr, io.mem.grant.bits.data) === word_data, s"Get received incorrect data in uncached generator ${id}") }