DP_SHIFT(3)

ORIGIN
This software belongs to the ALLIANCE CAD system from the
CAO-VLSI team at MASI laboratory, University P. & M. Curie
4, Place Jussieu ; 75252 PARIS Cedex 05 ; FRANCE
Fax: (33-1) 44.27.62.86 ; E-mail: cao-vlsi@masi.ibp.fr

NAME
DP_SHIFT - Barrel Shifter

SYNOPSYS
#include  <fpgen.h>
void  DP_SHIFT(
    char *InstName,  /*             Instance name            */
    char *BusI0   ,  /*  IN              Shift number   DATA */
    char *BusSh   ,  /*  IN              Shift mode     CTRL */
    char *BusI1   ,  /*  IN   Operand to shift input    DATA */
    char *BusO    ,  /* OUT      Direct result output   DATA */
               EOL);

DESCRIPTION
    DP_SHIFT creates a barrel shifter and then instanciates it with the name InstName. The shifter bit-size is the full wide of the current data-path, set by the previous call to the function DP_DEFLOFIG.
    The three bit wide bus signal BusSh select which shift operation to perform :
    -    BusSh[0]    (ext)    :    When high the sign of the shifted
operand is extended.
    -    BusSh[1]    (rot)    :    When high the shift perform a rotate
operation, no rotate othewise.
    -    BusSh[2]    (left)    :    When high the direction of the shift
is left, else it is rigth.
    The environment variable MBK_CATA_LIB have to contain an additionnal library path when using this macro-function, see fpgen(1) for more details.

EXAMPLE
DP_SHIFT("shift_instance0", "shift_value[4:0]" ,
                             "shift_mode[2:0]" ,
                             "shift_oper[31:0]",
                           "shift_output[31:0]", EOL);

SEE ALSO
bsg(1) , fpgen(1), dpr(1), genlib(1), mbk(1), DP_INV(3), DP_AND2(3), DP_NAND2(3), DP_AND3(3), DP_NAND3(3), DP_OR2(3), DP_NOR2(3), DP_OR3(3), DP_NOR3(3), DP_XOR2(3), DP_XNOR2(3), DP_NAND2MASK(3), DP_NOR2MASK(3), DP_XNOR2MASK(3), DP_NMUX2CS(3), DP_MUX2CS(3), DP_MUX3CD(3), DP_BUSE(3), DP_NBUSE(3), DP_ADSB2F(3), DP_SHIFT(3), DP_NUL(3), DP_CONST(3), DP_DFF(3), DP_DFFT(3), DP_RFG1C0(3), fplib(5)