diff options
Diffstat (limited to 'manual/PRESENTATION_ExSyn/techmap_01_map.v')
-rw-r--r-- | manual/PRESENTATION_ExSyn/techmap_01_map.v | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/manual/PRESENTATION_ExSyn/techmap_01_map.v b/manual/PRESENTATION_ExSyn/techmap_01_map.v new file mode 100644 index 00000000..64c0b87c --- /dev/null +++ b/manual/PRESENTATION_ExSyn/techmap_01_map.v @@ -0,0 +1,24 @@ +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 [15:0] CARRY = |{A[15:0], B[15:0]} && ~|Y[15:0]; + assign Y[15:0] = A[15:0] + B[15:0]; + assign Y[31:16] = A[31:16] + B[31:16] + CARRY; + end + else + wire _TECHMAP_FAIL_ = 1; +endgenerate + +endmodule |