This example describes a two-input, 8-bit, adder/subtractor design in Verilog HDL. The design unit multiplexes add and subtract operations with an addnsub input. Synthesis tools detect add and subtract units in HDL code that share inputs and whose outputs are multiplexed by a common signal. Software infers lpm_addsub megafunction for such add/subtract designs.

Download the files used in this example:
The use of this design is governed by, and subject to, the terms and conditions of the Altera Hardware Reference Design License Agreement.
Table 1 lists the ports and gives a description for each.
| Table 1. Adder/Subtractor Port Listing | ||
| Port Name | Type | Description |
a[7:0], b[7:0] |
Input | 8-bit data inputs to adder/subtractor |
addnsub |
Input | Multiplexing input for add and subtract operations |
result[8:0] |
Output | 8-bit output along with 1-bit carry/borrow |
Design Examples Disclaimer
These design examples may only be used within Altera Corporation devices and remain the property of Altera. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.

