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
            );

RELATED TO DPGEN_ADSB2F…