Create a design in Logisim that meets the following requirements.
1. Five state Counter. You may use logic gates (AND, OR, etc.) and premade individual memory bits, not a premade block.
2. The circuit should cycle through 5 states, indicated by the current counter value. States correspond to: hold/nothing, add, subtract, multiply, divide.
a. See example state diagram below.
3. A button or switch that activates the ALU. Input to state 0.
4. Arithmetic Logic Unit containing:
a. A 2bit + 2bit adder with carry out (carry in optional).
b. A 2bit-2bit subtractor with borrow out (borrow in optional).
c. A 2bit*2bit multiplier with carry out.
d. A 2bit/2bit divider with borrow out.
*Units should be constructed at gate level, not premade.
5. A 4-bit input register & a means for the user to set its values (such as buttons or type input).
a. Pass these values to the ALU
6. A 4x4-bit output register that can store the last result from each arithmetic unit.
a. 1 row for each unit
*Registers can be made using premade individual memory bits & logic gates. Not prefab registers.
7. 7-segment displays (or equivalent) for each output register row, to show the result of each calculation (binary).
8. Premade clock properly integrated into system.