Я хочу перевернуть входной сигнал в Chisel3. Например, если на входе 12345678
, я хочу, чтобы на выходе было 87654321
. Может ли кто-нибудь помочь мне с этим?
Код:
import chisel3._
import chisel3.util._
import chisel3.iotesters.{ChiselFlatSpec, Driver, PeekPokeTester}
import chisel3.util.Reverse
class Length extends Module {
val in = Input(UInt(64.W))
val out = Output(UInt(8.W))
out := Reverse(in.x)
}
String
и вызватьreverse
, а затем преобразовать обратно в число? Например,12345.toString.reverse.toInt
вернет54321
- person Duelist   schedule 05.07.2018type mismatch; [error] found : Int [error] required: chisel3.core.UInt [error] out = in.toString.reverse.toInt [error]
^ - person Rahul   schedule 05.07.2018out = Output(UInt(in.getWidth.toString.reverse.toInt.W))
- person Duelist   schedule 05.07.2018class Rev needs to be abstract, since method io in class LegacyModule of type => chisel3.core.Record is not defined
. Если я изменю класс на abstract или trait, это вызовет много проблем при создании экземпляра - person Rahul   schedule 05.07.2018chisel3.util.Reverse
. Может быть, это поможет:out := Reverse(in.x)
- person Duelist   schedule 05.07.2018io
метод isideLength
class, например:override def io: Record = IO( new Bundle { val in = Input(UInt(64.W)) val out = Output(UInt(8.W)) out := Reverse(in.x) } )
- person Duelist   schedule 05.07.2018