SER232 Assignment 7 - [10 Points] Description This assignment covers the datapath components: Register File and...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
SER232 Assignment 7 - [10 Points] Description This assignment covers the datapath components: Register File and ALU. You are supposed to create a custom register file that can store up to 4 different values using registers, and output two of the stored values. Those two numbers are then passed into a custom ALU that calculates the result of one of eight possible operations. Key aspect of this assignment is to understand how to control registers, how to utilize logic components and how to design a custom ALU. Tasks Use the provided template to implement your custom register file and ALU. Register File The register file must fulfill the following requirements and functions: . The register file must be able to store four different 4-bit numbers. . With every rising edge of the clock, the register file will store the current input value into the selected register. The write select input is used to determine where this value will be stored. For each possible input value of write select, a different register is being selected. . This custom register file has two 4-bit outputs: number 1 and number 2. Using the num 1 select and num 2 select inputs, the user can select two of the four stored values that will be used as output value (separately for each of the two outputs). It is possible to select the same value for both outputs. Notes: . You are allowed to (and should) use the built-in logic components provided by Lo- gisim. Think about the storing and retrieving part separately, review the function of all logic components we covered, and find the component(s) that allows you to implement the required function of the register file. You do not have to create a circuit on your own and can implement the entire register file by utilizing the correct logic components with the provided inputs and outputs. . The clear input of the register should not be used (do not connect anything to it). However, the enable input (marked with WE on the schematic symbol) is a very important input for this assignment: It allows you to disable the register (enable input =0), so it will keep the currently stored value and ignores rising edges. Only if the register is enabled (enable input = 1) it will store the current input with the next rising edge. Remember to generate rising edges (toggle the clock input) for testing. Otherwise the registers will not store anything. The clock input of the register is located on the left side of the schematic symbol (marked with a small triangle). Custom ALU Use the empty ALU subcircuit in the template to implement your ALU. You do not have to create additional subcircuits to do this. The ALU has a total of three inputs: first number, second number (coming from your register file) and select operation input. And one output: result. The first and second number are used as input for the operations the ALU performs. The select input decides which operation result will be the output value of the ALU. The ALU is supposed to calculate: number 1 SELECTED OPERATION number 2. The ALU must be able to compute signals with a 4-bit width. Make sure to add labels to all inputs and outputs (choose your own descriptive labels). The following operations (OP input of ALU) should be performed for each binary select input combination: . 010: Addition .011: Subtraction 000: Multiplication 001: Division 100: Logic Bitwise XOR 101: Logic Bitwise NOR 110: Logic Bitwise AND 111: Logic Bitwise OR Notes: You are allowed to use the built-in arithmetic components and logic components provided by Logisim. You can change the inputs bit width / data bits of any gate to more that 1-bit. This will apply the logic operation bitwise and allow you do to this operation with a single gate. If the result is larger than 4 bits, it will be truncated (only 4 LSB will be shown). This behavior is intended for this assignment. Also, negative results do not have to be considered. Test your circuit with values within the possible range (positive values that can be represented with 4 bits). Once you have implemented the ALU circuit, connect the wires in the Main DataPath circuit properly and test all operations of your ALU in combination with the register file. It is recommended to test the register file and ALU separately first and then test both in combination in the datapath circuit. Make sure the Logisim clock is running before you test the Datapath circuit (Simulate, Auto-Tick Enabled; you can also increase the Tick Frequency to 64 Hz to make the circuit respond faster). Deliverables Important: Do not modify the template by moving or removing existing elements or wiring. Removing or moving elements given in the template can result into errors and make the circuit not work correctly. Points will be deducted if the existing elements in the template are modified. Moving existing elements is not necessary to finish this assignment. In the main datapath circuit it is only allowed to add wiring for connecting the ALU. Using the tunneling feature of Logisim is not allowed. The following deliverables must be submitted on Canvas before the due date (see Canvas) as a single submission: 1. Your Assignment 7 Logisim circuit file, name: lastname_a7.circ SER232 Assignment 7 - [10 Points] Description This assignment covers the datapath components: Register File and ALU. You are supposed to create a custom register file that can store up to 4 different values using registers, and output two of the stored values. Those two numbers are then passed into a custom ALU that calculates the result of one of eight possible operations. Key aspect of this assignment is to understand how to control registers, how to utilize logic components and how to design a custom ALU. Tasks Use the provided template to implement your custom register file and ALU. Register File The register file must fulfill the following requirements and functions: . The register file must be able to store four different 4-bit numbers. . With every rising edge of the clock, the register file will store the current input value into the selected register. The write select input is used to determine where this value will be stored. For each possible input value of write select, a different register is being selected. . This custom register file has two 4-bit outputs: number 1 and number 2. Using the num 1 select and num 2 select inputs, the user can select two of the four stored values that will be used as output value (separately for each of the two outputs). It is possible to select the same value for both outputs. Notes: . You are allowed to (and should) use the built-in logic components provided by Lo- gisim. Think about the storing and retrieving part separately, review the function of all logic components we covered, and find the component(s) that allows you to implement the required function of the register file. You do not have to create a circuit on your own and can implement the entire register file by utilizing the correct logic components with the provided inputs and outputs. . The clear input of the register should not be used (do not connect anything to it). However, the enable input (marked with WE on the schematic symbol) is a very important input for this assignment: It allows you to disable the register (enable input =0), so it will keep the currently stored value and ignores rising edges. Only if the register is enabled (enable input = 1) it will store the current input with the next rising edge. Remember to generate rising edges (toggle the clock input) for testing. Otherwise the registers will not store anything. The clock input of the register is located on the left side of the schematic symbol (marked with a small triangle). Custom ALU Use the empty ALU subcircuit in the template to implement your ALU. You do not have to create additional subcircuits to do this. The ALU has a total of three inputs: first number, second number (coming from your register file) and select operation input. And one output: result. The first and second number are used as input for the operations the ALU performs. The select input decides which operation result will be the output value of the ALU. The ALU is supposed to calculate: number 1 SELECTED OPERATION number 2. The ALU must be able to compute signals with a 4-bit width. Make sure to add labels to all inputs and outputs (choose your own descriptive labels). The following operations (OP input of ALU) should be performed for each binary select input combination: . 010: Addition .011: Subtraction 000: Multiplication 001: Division 100: Logic Bitwise XOR 101: Logic Bitwise NOR 110: Logic Bitwise AND 111: Logic Bitwise OR Notes: You are allowed to use the built-in arithmetic components and logic components provided by Logisim. You can change the inputs bit width / data bits of any gate to more that 1-bit. This will apply the logic operation bitwise and allow you do to this operation with a single gate. If the result is larger than 4 bits, it will be truncated (only 4 LSB will be shown). This behavior is intended for this assignment. Also, negative results do not have to be considered. Test your circuit with values within the possible range (positive values that can be represented with 4 bits). Once you have implemented the ALU circuit, connect the wires in the Main DataPath circuit properly and test all operations of your ALU in combination with the register file. It is recommended to test the register file and ALU separately first and then test both in combination in the datapath circuit. Make sure the Logisim clock is running before you test the Datapath circuit (Simulate, Auto-Tick Enabled; you can also increase the Tick Frequency to 64 Hz to make the circuit respond faster). Deliverables Important: Do not modify the template by moving or removing existing elements or wiring. Removing or moving elements given in the template can result into errors and make the circuit not work correctly. Points will be deducted if the existing elements in the template are modified. Moving existing elements is not necessary to finish this assignment. In the main datapath circuit it is only allowed to add wiring for connecting the ALU. Using the tunneling feature of Logisim is not allowed. The following deliverables must be submitted on Canvas before the due date (see Canvas) as a single submission: 1. Your Assignment 7 Logisim circuit file, name: lastname_a7.circ
Expert Answer:
Related Book For
Posted Date:
Students also viewed these programming questions
-
pop T3 is taken. Give definitions for offset and delay, and compute both for each set of timestamps. Which of the two offsets you have computed would you prefer to use to adjust the time at C, and...
-
. The following is given: EBIT = $50 000, Q=60 000, P =$6, V = $4. a) If sales should increase by 10%, by what percent would EBIT increase? b) If sales should increase by 10%, for what interest...
-
Show that 2 is irrational. Try a proof by contradiction. Suppose that 2 = p/q, where p and q are natural numbers (necessarily different from 1). Then 2 = p2/q2, and so 2q2 = p2. Now use problem 76 to...
-
Continuing from the previous question, we now consider Russias external wealth position. a. What is Russias external wealth W in year 0 and later? After a few years, the world interest rate rises to...
-
True or False: Multiple roots can exist when using IRR and MIRR methods.
-
Using financial statements to prepare a statement of cash flows'Indirect method The comparative balance sheets and an income statement for Redwood Corporation follow. Other Information 1. Purchased...
-
Which statement about the acquisition of Rohm and Hass by Dow is correct? Group of answer choices The Revlon Standard implied that Rohm could not consider the welfare of its employees in the...
-
Cantilevered beam is loaded at the center of the free end as follows: Fx= 1000 N, Fy= 1000 N, Fz= 1000 N. Note that Fz is in negative z direction, while Fx and Fy are in positive x and y direction,...
-
Consider the following weighted directed graph A 13 D B 10 17 20 [1] E 20 5 C 30 18 22 F a) Using Dijkstra's algorithm to determine the shortest path from vertex A to each of the other vertices, what...
-
Propose a new payment system/structure that has been explored and comment on its feasibility?
-
What are the names of the two main family law statutes that a legal assistant in a family law practice would deal with on a daily basis?
-
Family Law and Ethical Dilemmas Facing Attorneys. What are some ethical problems that might come about based on the nuances of family law.
-
What are the Child Support Guidelines in family law practice and how are they utilized in a case?Please include some important points regarding the Child Support Guidelines in an explanation of what...
-
Describe net operating loss carry-backs and carry-forwards and how they can be used, and discuss how many years they can be used.
-
A Alkynes can be made by dehydrohalogenation of vinylic halides in a reaction that is essentially an E2 process. In studying the stereochemistry of this elimination, it was found that...
-
Using tha data file usmacro, estimate the ARDL \((2,1)\) model Your estimates should agree with the results given in equation (9.42). Use these estimates to verify the forecast results given in Table...
-
Using the data file usmacro, estimate the \(\operatorname{AR}(1)\) model \(G_{t}=\alpha+\phi G_{t-1}+v_{t}\). From these estimates and those obtained in Exercise 9.16, use the results from Exercise...
-
Consider the \(\operatorname{ARDL}(p, q)\) equation and the data in the file usmacro. For \(p=2\) and \(q=1\), results from the LM test for serially correlated errors were reported in Table 9.6 for...
Study smarter with the SolutionInn App