提交 df764280 编写于 作者: X Xuan Hu 提交者: huxuan0307

iq: fix dontTouch with literal error

* Data in dontTouch should be hardware type not literal type.
* Mux1H will return input data directly, when there is only one sel input. When input data is not hardware type, a firrtl.annotations.AnnotationException will be raised.
上级 93226391
......@@ -529,9 +529,8 @@ class IssueQueueImp(override val wrapper: IssueQueue)(implicit p: Parameters, va
protected def getDeqLat(deqPortIdx: Int, fuType: UInt) : UInt = {
val fuLatUIntMaps: Map[UInt, UInt] = fuLatencyMaps(deqPortIdx).map { case (k, v) => (k.U, v.U) }
val lat = Mux1H(fuLatUIntMaps.keys.map(_ === fuType).toSeq, fuLatUIntMaps.values.toSeq)
val lat = WireInit(Mux1H(fuLatUIntMaps.keys.map(_ === fuType).toSeq, fuLatUIntMaps.values.toSeq))
dontTouch(lat)
// ParallelLookUp(fuType, fuLatencyMaps(deqPortIdx).map { case (k, v) => (k.U, v.U) }.toSeq)
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册