GenLib User's Manual
<<< Previous |  | Next >>>

# DPGEN_ADSB2F

## Name

DPGEN_ADSB2F -- Adder/Substractor Macro-Generator

## Synopsis

    #include  <genlib.h>

``void `GENLIB_MACRO``(DPGEN_ADSB2F, char *`modelname`, long `flags`, long `N`);`

## Description

Generate a `N` bits adder/substractor named `modelname`.

How it works :

- if the `add_sub` signal is set to `'0'` an addition is performed, otherwise it's a substraction.

- Operation can be either signed or unsigned. In unsigned mode `c31` is the overflow, in unsigned mode you have to compute overflow by XORing `c31` and `c30`.

### Terminal Names

1. `add_sub` : select addition or substraction (input, 1 bit).

2. `c31` : carry out. In unsigned mode, this is the overflow (output, 1 bits).

3. `c30` : used to compute overflow in signed mode : `overflow := c31 xor c30` (output, 1 bits).

4. `i1` : first operand (input, `N` bits).

5. `i0` : second operand (input, `N` bits).

6. `q` : output (`N` bits).

7. `vdd` : power.

8. `vss` : ground.

## Example

    GENLIB_MACRO(DPGEN_ADSB2F, "model_adsb2f_32"
                                , F_BEHAV|F_PLACE
                                , 32
                                );

    GENLIB_LOINS( "model_adsb2f_32"
                , "instance1_adsb2f_32"
                , "add_sub"
                , "c32"
                , "c31"
                , "i1[31:0]"
                , "i0[31:0]"
                ,  "q[31:0]"
                , "vdd", "vss", NULL
                );

## See Also

GENLIB_MACRO(3), genlib(1)

<<< Previous | Home | Next >>>
DPGEN_XNOR2MASK | Up | DPGEN_SHIFT