【发布时间】:2018-05-11 01:24:43
【问题描述】:
我一直在关注这里的答案:How to do a vector of modules?。 我有一个问题,关于如何解决 Seq 中的先前项目。这是我的代码:
val ccfLinks = for (j <- 0 until (len - 1)) yield {
val exe_unit = Module(new Ccflink(bitwidth))
if (j == 0) {
// connnect the first stage //
exe_unit.io.i_in := io.i_in
exe_unit.io.q_in := io.q_in
exe_unit.io.coeff_i := coeffs_i(0)
exe_unit.io.coeff_q := coeffs_q(0)
exe_unit.io.pre_i_product := SInt(0)
exe_unit.io.pre_q_product := SInt(0)
} else {
// connect the rest of the chain //
exe_unit.io.i_in := ccfLinks(j-1).io.i_out
exe_unit.io.q_in := ccfLinks(j-1).io.q_out
exe_unit.io.coeff_i := coeffs_i(j)
exe_unit.io.coeff_q := coeffs_q(j)
exe_unit.io.pre_i_product := ccfLinks(j-1).io.i_product
exe_unit.io.pre_q_product := ccfLinks(j-1).io.q_product
}
exe_unit
}
我正在尝试将当前模块连接到前一个模块,如何寻址前一个模块? 尝试编译上面的代码会导致下一个错误:
“Ccf.scala:240:递归值 ccfLinks 需要类型 [error] exe_unit.io.i_in := ccfLinks(j-1).io.i_out”
【问题讨论】:
标签: chisel