chisel3 report producing java.lang.NullPointerException

Viewed 56

Here is the code that causes java.lang.NullPointerException:

val confidence  = SyncReadMem(params.numEntries, UInt(params.confidenceBitsNum.W))
val s0_valid         = io.mem.valid
val s0_index         = io.mem.bits.pc(params.indxBitsNum-1, 0)
val s1_confidence     = RegNext(confidence.read(s0_index, s0_valid))
val s1_inc_confidence = Mux(s1_confidence + 1.U === 0.U, s1_confidence, s1_confidence + 1.U)
val s2_dec_confidence = Mux(s1_confidence === 0.U, s1_confidence, s1_confidence - 1.U)
// val s1_new_confidence = Mux(s1_tag_match && s1_stride_match, s1_confidence + 1.U, s1_confidence - 1.U)
val s1_new_confidence = Mux(s1_tag_match && s1_stride_match, s1_inc_confidence, s2_dec_confidence)

when compile I got error with:

[error] java.lang.NullPointerException
[error]         ...
[error]         at boom.lsu.IPStridePrefetcherBank.$anonfun$s1_new_confidence$2(IPStirdePrefetcher.scala:82)
[error]         at chisel3.internal.prefix$.apply(prefix.scala:49)
[error]         at boom.lsu.IPStridePrefetcherBank.$anonfun$s1_new_confidence$1(IPStirdePrefetcher.scala:82)
[error]         at chisel3.internal.plugin.package$.autoNameRecursively(package.scala:52)
[error]         at boom.lsu.IPStridePrefetcherBank.<init>(IPStirdePrefetcher.scala:82)
[error]         at boom.lsu.PrefetchBuffer.$anonfun$banks$2(pre.....

Why does this throw?

0 Answers
Related