65 lines
1.1 KiB
Verilog
65 lines
1.1 KiB
Verilog
// Name: barrel_shifter.v
|
|
// Module: SHIFT32_L , SHIFT32_R, SHIFT32
|
|
//
|
|
// Notes: 32-bit barrel shifter
|
|
//
|
|
//
|
|
// Revision History:
|
|
//
|
|
// Version Date Who email note
|
|
//------------------------------------------------------------------------------------------
|
|
// 1.0 Sep 10, 2014 Kaushik Patra kpatra@sjsu.edu Initial creation
|
|
//------------------------------------------------------------------------------------------
|
|
`include "prj_definition.v"
|
|
|
|
// 32-bit shift amount shifter
|
|
module SHIFT32(Y,D,S, LnR);
|
|
// output list
|
|
output [31:0] Y;
|
|
// input list
|
|
input [31:0] D;
|
|
input [31:0] S;
|
|
input LnR;
|
|
|
|
// TBD
|
|
|
|
endmodule
|
|
|
|
// Shift with control L or R shift
|
|
module BARREL_SHIFTER32(Y,D,S, LnR);
|
|
// output list
|
|
output [31:0] Y;
|
|
// input list
|
|
input [31:0] D;
|
|
input [4:0] S;
|
|
input LnR;
|
|
|
|
// TBD
|
|
|
|
endmodule
|
|
|
|
// Right shifter
|
|
module SHIFT32_R(Y,D,S);
|
|
// output list
|
|
output [31:0] Y;
|
|
// input list
|
|
input [31:0] D;
|
|
input [4:0] S;
|
|
|
|
// TBD
|
|
|
|
endmodule
|
|
|
|
// Left shifter
|
|
module SHIFT32_L(Y,D,S);
|
|
// output list
|
|
output [31:0] Y;
|
|
// input list
|
|
input [31:0] D;
|
|
input [4:0] S;
|
|
|
|
// TBD
|
|
|
|
endmodule
|
|
|