Problem 2:
Design a 16-bit Shifter unit with A, B, Type and Direction as inputs and ShiftOut as output. The value of A should be shifted or rotated by the value specified in B. The “Direction” bit is used to determine whether to shift/rotate left(0) or right(1). The “Op_Type” bit is used to determine whether to Shift(0) or Rotate(1) the data. This 16-bit Shifter has the following entity declaration:
entity ShiftUnit16Bits is
port(A, B : IN std_logic_vector(15 downto 0);
Direction, Op_Type : IN std_logic;
ShiftOut : OUT std_logic_vector(15 downto 0));
end ShiftUnit16Bits;
The “Direction” bit is used to determine whether to shift/rotate left (0) or right (1).
The “Op_Type” bit is used to determine whether to shift(0) or rotate(1)
The value of A should be shifted by the value specified in B.
The shifted bits are replaced by 0.
Write a test bench that verifies the functionality of your design; make sure to have all possible operations of this unit in your test bench.
Below table describes this unit’s behavior:
Report : VHDL code and waveforms
Students succeed in their courses by connecting and communicating with an expert until they receive help on their questions
Consult our trusted tutors.