1package utils 2 3import chisel3._ 4import chisel3.util._ 5object SeqUtils { 6 type Seq2[+T] = Seq[Seq[T]] 7 type Seq3[+T] = Seq2[Seq[T]] 8 type MixedVec2[T <: Data] = MixedVec[MixedVec[T]] 9 type MixedVec3[T <: Data] = MixedVec2[MixedVec[T]] 10 11 def mapToMixedVec[T, A <: Data](in: Seq[T], f: T => A): MixedVec[A] = { 12 MixedVec(in.map(f)) 13 } 14 15 def mapToMixedVec2[T, A <: Data](in: Seq2[T], f: T => A): MixedVec2[A] = { 16 MixedVec(in.map(x => mapToMixedVec(x, f))) 17 } 18 19 def mapToMixedVec3[T, A <: Data](in: Seq3[T], f: T => A): MixedVec3[A] = { 20 MixedVec(in.map(x => mapToMixedVec2(x, f))) 21 } 22} 23