Я определил несколько varabiales, включая post_addra, h_rdata и addra.
val post_addra=RegInit(0.U)
val addra=RegInit(0.U)
val h_rdata=RegInit(0.U)
Поскольку post_addra определяется h_rdata и addra. Итак, я пишу этот код.
post_addra := h_rdata(((addra+1.U) << 4.U)-1.U , (addra << 4.U) + 8.U)
Однако у меня возникла ошибка.
"[ошибка] (x: BigInt, y: BigInt) chisel3.core.UInt
[ошибка] (x: Int, y: Int) chisel3.core.UInt
[ошибка] не может быть применена к (chisel3.core.UInt, chisel3.core.UInt)
[error] post_addra: = h_rdata (((addra + 1.U) ‹закрыть 4.U) -1.U, (addra‹ закрыть 4.U) + 8.U) "
Chisel не поддерживает использование uint для извлечения. Что я должен делать.