module \$add (A, B, Y); parameter A_SIGNED = 0; parameter B_SIGNED = 0; parameter A_WIDTH = 1; parameter B_WIDTH = 1; parameter Y_WIDTH = 1; input [A_WIDTH-1:0] A; input [B_WIDTH-1:0] B; output [Y_WIDTH-1:0] Y; generate if ((A_WIDTH == 32) && (B_WIDTH == 32)) begin wire [16:0] S1 = A[15:0] + B[15:0]; wire [15:0] S2 = A[31:16] + B[31:16] + S1[16]; assign Y = {S2[15:0], S1[15:0]}; end else wire _TECHMAP_FAIL_ = 1; endgenerate endmodule
aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-lists.ads
blob: 498eaf10327f87572d86e4017a023f20f3ef1279 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19