summaryrefslogtreecommitdiff
path: root/techlibs/common/pmux2mux.v
blob: 72e97c080ae30746c296f48fffb59502eb96c969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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