CSE370 Assignment 8
Distributed: 20 November
Due: 27 November
Chapter 4 (pp. 194-202), Chapter 8 (pp. 413-432), Chapter 9 (pp. 449-455 and 460-470), and Chapter 10 (pp. 498-524) of the Katz text.
- Design the main data-path component of the CSE370 processor you will
complete in the last assignment. The data-path consists of two parts, one
for data and one for instruction processing. We will design our processor
so that the same component can be used for both parts. This component will
consist of the ALU you designed in Assignment 6 augmented with 2 8-bit
registers at its inputs. One of the registers will serve as the
accumulator register and will have its inputs directly connected to the
outputs of the ALU. Each register should also have a separate control
signal indicating when it should be loaded with a new value and when it
should just hold its current value. Thus, the data path element should
have 6 control signals (LoadA, LoadB, ALUop1, ALUop2, ALUop3, EnaA), 3
status outputs (equal to zero, less than zero, and overflow), an 8-bit data
inputs (to register B), and an 8-bit tri-stateable output (from register
A). The data path element should look like this:
To be able to tri-state an output, you'll need to use the ABEL .OE
suffix. Writing Areg.OE = EnaA; in your EQUATIONS is all
you need to do if Areg is aliased to the 8 flip-flops in your A
register (e.g., Areg = [A7..A0];).
Turn in your ABEL and/or schematic files along with simulation waveforms
that show in consecutive cycles: the value 7 being loaded into the B register,
the value in B transferred to the register A while a new value of 1 is loaded
into B, the ALU performing the "A+B" operation and placing the result in A,
clear the value of A to 0.
- Katz exercise 8.5.
- Katz exercise 8.6.
- Katz exercise 8.11.
- Katz exercise 8.21 using a state diagram rather than an ASM chart.
- Katz exercise 8.27 using a synchronous Mealy machine implementation.
Describe the state machine using ABEL-HDL and simulate its operation for
the case where 2 quarters are dropped into the coin slot (assume enough
change is available). Show the waveforms for two sub-cases: one where
these is enough change available and one where there isn't.
Turn in your ABEL file and waveforms for the two situations described
above. Also include a rationale for why you picked the state encoding
- To develop an understanding of basic data-path elements.
- To design finite state machines from English-language specifications to
realization in flip-flops and combinational logic.
- To gain familiarity with the issue of state encoding.
- To learn how to specify state machines using a hardware description
Comments to: firstname.lastname@example.org (Last Update: