1package xiangshan.backend.fu.vector 2 3import chisel3._ 4 5object Utils { 6 def VecDataToMaskDataVec(vecData: UInt): Vec[UInt] = { 7 val maskDataWidth = vecData.getWidth / 8 8 val maskDataVec = Wire(Vec(8, UInt(maskDataWidth.W))) 9 require(8 * maskDataWidth == vecData.getWidth, "can not split this vector data into mask data vec") 10 for ((maskData, i) <- maskDataVec.zipWithIndex) { 11 maskData := vecData((i + 1) * maskDataWidth - 1, i * maskDataWidth) 12 } 13 maskDataVec 14 } 15} 16