11.3.2.2 Example 2
This example uses poor resource sharing to implement adders.
if (select)
sum <= A + B;
else
sum <= C + D;
Adders use valuable resources. To reduce resource usage, rewrite the code to infer two multiplexors and one adder, as shown below.
if (sel)
temp1 <= A;
temp2 <= B;
else
temp1 <= C;
temp2 <= D;
sum <= temp1 + temp2;
Note: This example assumes the select line is not a late arriving
signal.
