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