data/full_repos/permissive/515890445/ARM_MultiCycle/MultiCycle/Modules/BarrelShifter.v
data/verilator_xmls/0b79ea3e-eac0-4043-b0bf-d4eb15c1c021.xml
module BarrelShifter #(
	parameter WIDTH = 32
) (
	input wire [4:0] 				ShiftSize,
	input wire [WIDTH-1:0]		Number,
	output wire [WIDTH-1:0] 	Out
);

	wire [2*WIDTH-1:0] NumberDouble;
	assign NumberDouble = {Number, Number};
	assign Out = NumberDouble[ShiftSize+WIDTH-1-:WIDTH];


endmodule
module BarrelShifter #(
	parameter WIDTH = 32
) (
	input wire [4:0] 				ShiftSize,
	input wire [WIDTH-1:0]		Number,
	output wire [WIDTH-1:0] 	Out
);


	wire [2*WIDTH-1:0] NumberDouble;
	assign NumberDouble = {Number, Number};
	assign Out = NumberDouble[ShiftSize+WIDTH-1-:WIDTH];


endmodule