1
0

don't use ROM for partial writemask regression

This commit is contained in:
Howard Mao 2016-03-25 14:06:06 -07:00
parent 5372f181b1
commit af3bc1cb79

View File

@ -215,16 +215,13 @@ class WriteMaskedPutBlockRegression(implicit p: Parameters) extends Regression()
val (put_beat, put_block_done) = Counter( val (put_beat, put_block_done) = Counter(
io.mem.acquire.fire() && acq.hasData(), tlDataBeats) io.mem.acquire.fire() && acq.hasData(), tlDataBeats)
val put_data = UInt(0x30010040, tlDataBits) + (put_beat << UInt(2))
val data_beats = Vec.tabulate(tlDataBeats) {
i => UInt(0x3001040 + i * 4, tlDataBits)
}
val put_acq = PutBlock( val put_acq = PutBlock(
client_xact_id = UInt(0), client_xact_id = UInt(0),
addr_block = UInt(7), addr_block = UInt(7),
addr_beat = put_beat, addr_beat = put_beat,
data = Mux(put_beat(0) === stage, data_beats(put_beat), UInt(0)), data = Mux(put_beat(0) === stage, put_data, UInt(0)),
wmask = Mux(put_beat(0) === stage, Acquire.fullWriteMask, Bits(0))) wmask = Mux(put_beat(0) === stage, Acquire.fullWriteMask, Bits(0)))
val get_acq = GetBlock( val get_acq = GetBlock(
@ -237,6 +234,7 @@ class WriteMaskedPutBlockRegression(implicit p: Parameters) extends Regression()
val (get_cnt, get_done) = Counter( val (get_cnt, get_done) = Counter(
io.mem.grant.fire() && gnt.hasData(), tlDataBeats) io.mem.grant.fire() && gnt.hasData(), tlDataBeats)
val get_data = UInt(0x30010040, tlDataBits) + (get_cnt << UInt(2))
val (stall_cnt, stall_done) = Counter(state === s_stall, 16) val (stall_cnt, stall_done) = Counter(state === s_stall, 16)
@ -262,7 +260,7 @@ class WriteMaskedPutBlockRegression(implicit p: Parameters) extends Regression()
assert(!io.mem.grant.valid || assert(!io.mem.grant.valid ||
!io.mem.grant.bits.hasData() || !io.mem.grant.bits.hasData() ||
stage === UInt(0) || stage === UInt(0) ||
io.mem.grant.bits.data === data_beats(get_cnt), io.mem.grant.bits.data === get_data,
"WriteMaskedPutBlockRegression: data does not match") "WriteMaskedPutBlockRegression: data does not match")
} }