11.3.2.2 Example 2

This example uses poor resource sharing to implement adders.

Figure 11-24. 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.

Figure 11-25. Improved Resource Sharing Using Two Multiplexors and One Adder
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.