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 |