用凿子索引Seq字符串中的元素

时间:2017-10-21 17:36:08

标签: chisel

我有,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转换为Int
tab.map(case idx=>Y(peek(idx).toInt)

但我发现没有找到。我还看到我无法将凿子UInt转换为Int here但是不明白使用peek与给出的示例。那么请问,还有另一种方法可以做到吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

当前的问题是您无法使用像UInt或SInt这样的硬件构造来访问scala集合的元素。如果你将Y包裹在Vec中,它应该可以工作。根据您的整体模块,这可能看起来像

val YVec = VecInit(Y)
val mappedY = tab.map { case idx => YVec(idx) }