我有,tab = Array(1.U,6.U,5.U,2.U,4.U,3.U)和Y = Seq(b,g,g,g,b,g ),tab是一个UInt数组。 我想在标签上做一个地图如下:
tab.map(case idx=>Y(idx))
但我一直得到错误:找到了chisel3.core.UInt,需要Int。 我尝试使用函数 peek()通过执行
将idx转换为Inttab.map(case idx=>Y(peek(idx).toInt)
但我发现没有找到。我还看到我无法将凿子UInt转换为Int here但是不明白使用peek与给出的示例。那么请问,还有另一种方法可以做到吗? 谢谢!
答案 0 :(得分:0)
当前的问题是您无法使用像UInt或SInt这样的硬件构造来访问scala集合的元素。如果你将Y包裹在Vec中,它应该可以工作。根据您的整体模块,这可能看起来像
val YVec = VecInit(Y)
val mappedY = tab.map { case idx => YVec(idx) }