module \$pmux (A, B, S, Y); wire [1023:0] _TECHMAP_DO_ = "proc; clean"; parameter WIDTH = 1; parameter S_WIDTH = 1; input [WIDTH-1:0] A; input [WIDTH*S_WIDTH-1:0] B; input [S_WIDTH-1:0] S; output reg [WIDTH-1:0] Y; integer i; always @* begin Y <= A; for (i = 0; i < S_WIDTH; i=i+1) if (S[i]) Y <= B[WIDTH*i +: WIDTH]; end endmodule