Question: PLEASE INCLUDE ACTUAL CIRCUIT CODE, ACTUAL TEST BENCH CODE AND WAVEFORM IMAGE, BY ACTUAL I MEAN DO NOT USE HANDWRITTEN FOR SYNTAX PURPOSES Problem 2:
PLEASE INCLUDE ACTUAL CIRCUIT CODE, ACTUAL TEST BENCH CODE AND WAVEFORM IMAGE, BY ACTUAL I MEAN DO NOT USE HANDWRITTEN FOR SYNTAX PURPOSES Problem 2: (20 pts) 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: Op_Type Direction Operation Shift Left(A,B) Shift Right(A,B) Rotate Left(A,B) Rotate Right(A,B)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
