CSC 480 Lab #9

"This is the end..." Lab

Purpose

Design a simple computer consisting of:

Components used

We will be using:

Pinouts are attached.

Lab Problems

With our previous lab experience, I won't detail how each component should be connected. The 74175 D flipflops are new, but their interface is quite simple. Here, however, is a block diagram of the system you should be building:

Once complete, the system has four inputs:

The outputs will be:

Once your computer is built, there are two problems to complete.

Part 1. Execute Prof Bill's ROM program

Hard-code the following settings for this problem:

Place the following instructions in your EEPROM, excute the program and complete the table.

PC

(octal)

Instruction ALU Func

(F=)

A B "Next A"
00 0000 A' 0000 0101  
01 1010 B   0101  
02 0110 A xor B   0101  
03 0001 (A+B)'   0101  
04 1110 A+B   0101  
05 0011 0   0101  
06 1101 A+B'   0101  
07 0010 A'B   0101  
10 1000 A'+B   0101  
11 0101 B'   0101  
12 1100 1   0101  
13 0100 (AB)'   0101  
14 1111 A   0101  
15 1011 AB   0101  
16 1001 (A xor B)'   0101  
17 0011 0   0101  

In the table, A and "Next A" are each the output of your A register or flipflops. A is before the clock pulse, and "Next A" is the value after the clock pulse. The value of "Next A" is then used as A in the next instruction.

For part 1, please turn in the following deliverables:

Part 2. Program your own instructions and execute them

Now, it's your turn. Build a 16 step or so program with the following modifications:

I will have a logic box setup for programming your EEPROM, so try to keep your EEPROM clear of the rat's nest, so that it can be removed and replaced with your new program. Also, if the ALU's mode and/or carry-in input are a part of the instruction, then you will have to do some minor rewiring, and you probably won't have room on your LED's to view your entire instruction. We can verify your 5 or 6 bit instructions at my "burn-a-prom" station.

For part 2, the deliverable is a new table with your program and results.


Hints and such

This is our largest design in lab. It will require your patience and discipline. Some general thoughts before starting:

Here are the major steps I took in completing the lab... these are not required steps, but rather just a cheat sheet:

STEP 1: Hookup and program the 2816 EEPROM

Move on to step 2 once you are satisfied that your EEPROM is correctly programmed.

STEP 2: Hookup the 7493 Counter

Move on to step 3 once you can reset your counter to zero and correctly step through EEPROM instructions 0 through 15.

STEP 3: Hookup the 74181 ALU

First off, use active high inputs as we did in lab. Go:

With most of your system setup, you can verify that your instructions correctly exercise the ALU by setting the A value with your switches and observing the outputs on the LED's.

STEP 4: Hookup the 74175 D flipflops

Almost there... before starting, clear your counter and your flipflops to zero.

STEP 5: Close the loop

Complete the system and run your program...

Go! Show me your program running (correctly, eh) before moving on.