aboutsummaryrefslogtreecommitdiff
path: root/shifter.sv
diff options
context:
space:
mode:
authorkryptoish <krish_thakur7@icloud.com>2024-12-03 16:58:07 -0800
committerkryptoish <krish_thakur7@icloud.com>2024-12-03 16:58:07 -0800
commitf665f0ff80397ab10dbbea6cfcb302bb131f9719 (patch)
tree131ba7ab978dd127992111d354e8460c61fbc626 /shifter.sv
added files
Diffstat (limited to 'shifter.sv')
-rw-r--r--shifter.sv18
1 files changed, 18 insertions, 0 deletions
diff --git a/shifter.sv b/shifter.sv
new file mode 100644
index 0000000..da6fd77
--- /dev/null
+++ b/shifter.sv
@@ -0,0 +1,18 @@
+module shifter(in,shift,sout);
+ input [15:0] in;
+ input [1:0] shift;
+ output reg [15:0] sout;
+
+ always_comb begin
+ case (shift)
+ //no shift
+ 2'b00: sout = in;
+ 2'b01: sout = in << 1; //left bit shift
+ 2'b10: sout = in >> 1; //right bit shift
+ 2'b11: begin
+ sout = in >> 1;
+ sout[15] = sout[14]; //in[15] copied to to MSB after right bit shift
+ end
+ endcase
+ end
+endmodule \ No newline at end of file