This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
DP_SHIFT - Barrel Shifter
#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 */
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 datapath,
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.
Operator wide : Depends on the data-path wide.
DP_SHIFT("shift_instance0", shift_value[4:0] , shift_mode[2:0] , shift_oper[31:0]", shift_output[31:0]", EOL);
bsg(1) , fpgen(1) , dpr(1) , genlib(1) , mbk(1) , DP_DEFLOFIG(3) ,
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.