Description This assignment is about adding a controller to a datapath to control its components. Tasks The controller that you have to create, will output the signals to store data in the correct register and also choose the operation that should be performed. The system will work as follows: In the first state, the value of the input is stored to the first register. Any change that is made to the input will be directly updated in the register. As soon as the user presses the Number 2 button, the system will store the input value in the second register. After two numbers are entered and stored, the user can then select the operation that should be performed (addition or subtraction). After pressing the respective button, the user will see the correct result on the systems output. Pressing the Number 1 button, will allow the user to start over and input the first number. Follow the creation process for a FSM controller circuit for the following system description (start with the state diagram) and add the controller to the provided template: • The system has three outputs: 1. ER1: Enables register 1 to store data. 2. ER2: Enables register 2 to store data. 3. SOP: Selects the operation that should be performed. SOP = 0 performs addition, SOP = 1 performs subtraction. • The system has two bit inputs: B1 and B0. These two bits represent four buttons that are encoded as follows: – Number 1 button: B1=0, B0=0 – Number 2 button: B1=0, B0=1 – Add button: B1=1, B0=0 – Sub button: B1=1, B0=1 • The system has four states: 1. Num1: Register 1 will store the input value. Output ER1 will be 1. State encoding: c1c0=00 2. Num2: Register 2 will store the input value. Output ER2 will be 1. State encoding: c1c0=01 3. Add: Numbers will be added. Output SOP will be 0. State encoding: c1c0=10 4. Sub: Numbers will be subtracted. Output SOP will be 1. State encoding: c1c0=11 • If not mentioned differently (see above), all system outputs will be 0 by default in all states. • The system starts in state Num1. (This will be the default, due to how the states are encoded.) • Only pressing the number 2 button, transitions the system from Num1 into Num2. • Only pressing the add button, transitions the system from Num2 into Add. • Only pressing the sub button, transitions the system from Num2 into Sub. • Only pressing the number 1 button, transitions the system from Add or Sub into Num1. Deliverables The following deliverables must be submitted on Canvas before the due date (see Canvas) as a single submission: 1. Logisim circuit file, name: lastname_EC.circ Important: • Do not modify the template by removing existing elements or wiring. Removing elements from the template results into a deduction. Moving existing elements is not necessary to finish this assignment. • Using the tunneling feature of Logisim is not allowed. • Due to time limitations, this assignment will solely graded based on the main circuit behavior. Do not submit your design document and make sure the system