diff options
| author | kryptoish <krish_thakur7@icloud.com> | 2024-12-03 16:58:07 -0800 |
|---|---|---|
| committer | kryptoish <krish_thakur7@icloud.com> | 2024-12-03 16:58:07 -0800 |
| commit | f665f0ff80397ab10dbbea6cfcb302bb131f9719 (patch) | |
| tree | 131ba7ab978dd127992111d354e8460c61fbc626 /shifter.sv | |
added files
Diffstat (limited to '')
| -rw-r--r-- | shifter.sv | 18 |
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 |