You are part of the ""Chakra" design team, a combined smart-watch and goggles. A senior manager is coming for a design review in the afternoon. Your project leader has to go out to lunch with the manager, and has left you to design the last state machine in the system before the design review

The functional requirements of the state machine are given below, where “a” means that a is true (in VHDL: equal to ’1’) and “!a” means that a is false (in VHDL: not equal to ’1’): Functional requirements:

1. The inputs are: a, b, j, k, m, and n.

2. The outputs are: y and z.

3. The initial state is S0.

4. If (the current state is S0) and a, then in the current clock cycle assign j to y.

5. If (the current state is S0) and !a, then in the current clock cycle assign k to y.

6. If (the current state is S0) and b, then in the next clock cycle assign m to z.

7. If (the current state is S0) and !b, then in the next clock cycle assign n to z.

8. If (the current state is S0) and b, then the next state shall be S1.

9. If (the current state is S0) and !b, then the next state shall be S2.

10. If the current state is S1, then the next state shall be S2.

11. If the current state is S2, then the next state shall be S0.

1. You may choose y and z to be either registered or combinational. Both may be combinational, both registered, or one combinational and one registered. One of the optimization goals below is to minimize the number of registers.

2. Your design shall satisfy the functional requirements

3. Your goals, in order of decreasing importance are

(a) minimum number of clocked (i.e., real) states

(b) minimum number of edges

(c) minimum number of transient states

(d) minimum number of registers

## Post a Comment

Your comments will be moderated before it can appear here.