这种方法有什么优势吗?
object Lookup {
def apply[T <: Bits](addr: UInt, default: T, mapping: Seq[(BitPat, T)]): T =
ListLookup(addr, List(default), mapping.map(m => (m._1, List(m._2))).toArray).head
}
答案 0 :(得分:0)
它允许您构造一个可以匹配addr
中任意位的查找表。 BitPat
允许用户定义不关心位。没有很多示例用法,但请在/ucb-bar/riscv-mini
in /src/main/scala/CSR.scala中查看此用法。该代码使用BitPat
来选择csr_addr
中的相关位。