# 1. Objective

The purpose of this laboratory is to give you a little more practice with the FSM design techniques you have learned so far. You will design a scrolling door sign for the EE 260 professor, simulate it in LogicWorks and implement it in TTL.

You will work on this experiment for two weeks in the lab.

# 2. Materials that you need

For this experiment you will need the following equipment:

• one 7-segment display
• one 2716 EPROM
• one 74'00 (Quad 2-input NANDs),
• one or more resistors.
You will only be allowed to use these parts in your implementation.

(See the data sheets in the lab for descriptions of the circuits.)

# 3. Prelab

1. Read over the sections of this experiment. Be sure you understand what is to be done.
2. Complete the ASM chart for the state machine.
3. Complete as much of the design, at least up to the state table, before the lab.
It is important to start early on this lab so you have time to ask questions.

# 4. The Specification

The sign has a single 7-segment display for output and a single switch for input. A 7-segment display is something most of you have seen in calculator displays:
The display is made up of 7 LEDs, each controlled by distinct inputs labeled a, b, c, d, e, f, and g. If a pin is asserted then the LED will light up. By asserting the right combination of pins, the display can show characters. For example, here is a list of characters (including the space character ' ') and their corresponding combination of inputs:
```     Character     a     b     c     d     e     f     g

'A'        1     1     1     0     1     1     1
'L'        0     0     0     1     1     1     0
'O'        1     1     1     1     1     1     0
'H'        0     1     1     0     1     1     1
'P'        1     1     0     0     1     1     1
'U'        0     1     1     1     1     1     0
' '        0     0     0     0     0     0     0

```
The inputs to the 7-segment display have the negative logic convention.

The scrolling door sign should work as follows. If the switch is turned on then the display should scroll through

```'A', 'L', 'O', 'H', 'A', '  ', '  ', 'A', 'L', 'O', 'H', 'A', '   ', '   ', .....

```
which indicates that the professor is in. Note that there are exactly two spaces between ALOHAs.

On the other hand, if the switch is turned off then the display should scroll through

```'P', 'A', 'U', '  ', '  ', 'P', 'A', 'U', '  ', '  ',.....

```
which indicates that the professor has gone home. Note that there are exactly two spaces between PAUs.

• A clock input. This will be connected to a clock generator, and you may adjust the clock period so that the scrolling goes at a proper rate (say a clock period of around half a second).
• An input DI. This is connected to the switch. So if DI = 1 then the Doctor is In and the ALOHAs should scroll on the sign. On the other hand, if DI = 0 then the doctor is out, and the PAUs should scroll. DI will have the positive logic convention.
• Outputs that go to the 7-segment display.

Complete a neatly drawn ASM chart for the circuit. Note that your output boxes may have a large list of outputs for the 7-segment display, making it difficult to draw. You may use the following informal shorthand notation:
Convert the ASM chart into an encoded state table. You will note you will need at least 7 states in your FSM, thus requiring 3 state bits to encode the state. With 3 bits of Next State values, and 7 outputs for the 7-segment display, this is 10 outputs from the combinational logic. However, you are limited to a single 2716 chip, which only has 8 outputs. You will need to look at your design and find a way to eliminate outputs, or implement some outputs in external logic. But, remember, you are also limited to a single 74'00 chip (4 gates) to implement this logic.
Complete a working circuit in LogicWorks, and turn it in to the TA on disk with your group members' names. Be sure to label your circuit "ALOHA-PAU" and put it in a folder labeled "LAB7."
Build a working circuit on the protoboard. First, decide among your team members which circuit to build (choose one that works). Make a hard copy of the circuit. Convert the circuit diagram into a "schematic diagram" by writing in the pin numbers. Build the circuit. Once you have the circuit working, demonstrate it to the TA. The TA should sign the schematic diagram to be included in the lab report.

# 6. What You Turn In

You will have two weeks to work on this lab experiment, however, you should budget your time and set goals to be able to complete the lab by the end of the second week. ALLOW TIME FOR REDESIGN AND DEBUGGING.

• Your ASM chart for the state machine (this should be done in the Prelab before the first week lab period).
• Your derivation of the state table and equations (can also be done in the prelab, and revised as needed). Turn in only the derivation of the design you implemented.
• You LogicWorks circuit on disk. (VERY VERY IMPORTANT:  You should have this working by the end of the first lab period.  Get started on your design as early as possible since you can do it outside of the lab period. You should have some design before the first lab period and then perhaps get some help from the TA if you have questions)
• The schematic diagram for the final circuit, signed by the TA indicating your circuit was successfully demonstrated.
Note: It is encouraged that you and your team members work together on the design. The project may be a bit small to split up into parts, but you may freely discuss how to do the design. Try to get everyone involved, and have all understand the working circuit. However, at the end of the lab period, each lab team should turn in their own working LogicWorks circuit (on disk), and their own lab report.

# 7. Hints

Hint 1:
Your circuit should look something like this (although perhaps not exactly):
Note that six outputs of the 2716 in the above diagram have bubbles.
Hint 2:
Note that there are SIX outputs of the 2716 going to the SEVEN-segment display. It looks like you have one less output than you need, but in fact it's all you need.
Hint 3:
Your ASM chart should have lots of output boxes (the oval ones). In fact, for each state, there may be two possible 7-segment displays depending on the value of DI.
Hint 4:
Once you've decided on an ASM chart, you may find out that you do not have enough NANDs for the resulting circuit. Then look for ways to put don't cares into your state transition table to realize a circuit using at most 4 NANDs. Convert these don't cares into the appropriate 1s and 0s, and then modify your ASM chart.
Hint 5:
Be neat and be careful. Miscopying literals in your equations or bits in your tables often leads to hours of debugging frustration.