Read
the whole lab first before starting on any work. The first lab for CSE 370
will introduce you to the Altera’s Terasic DE1 prototyping board and our
primary design tool this quarter, Aldec's Active- HDL. Both of these components
are very important for all future labs so please pay attention and do not rush
through this first lab. Though we typically encourage you to work together, it is
recommended you do this lab individually to gain the full benefits of the lab.
If you have any questions at any point in the lab, make sure you have read the
entire lab thoroughly. If you still cannot find the answer you should ask your
TA. And as always, there are no dumb questions, please ask them, you don’t want
to damage any of the expensive hardware that is provided for you.
The
design kits contain everything you need to construct most of the circuits
assigned to you over the course of the quarter. You are responsible for your
lab kit and we expect that you will return the kit in good working order with
all pieces intact. This especially applies to the chips, which have very
delicate pins. Use care when extracting them from the solder-less breadboard.
Please
make sure all of the above are provided for you in your kit. We will provide
additional materials later on in the quarter if they are necessary to complete
a lab.
We are aware that accidents can happen and the pins on chips may already been
weakened from years of use. Typically if you break a pin the chip will be
replaced and the damage will be forgiven; however in cases of gross negligence
you will have to pay for a replacement. Take care not to Short out your
board by connecting Ground to Power. This results in infinite current which can
quickly burn all the components of the board including the board itself.
Finally be careful not to snap off wires inside the I/O connectors or the holes
in the solder-less breadboard. Wires are best extracted with the needle-nosed
pliers.
The picture above is a diagram of the prototyping board with most of the major
components highlighted. For the first few labs you will be using the various
input/output devices located directly on the board such as the switches and
LEDs. Further details will be provided in each lab. Take note of the large FPGA
(Field Programmable Gate Array) that is highlighted on the board. Later on in
the quarter you will be programming this and directly interfacing with all the
devices on the board. Think of it like a CPU that all the devices can talk to.
For now there is a program loaded into the FPGA to allow you to use the
Input/Output connectors on the board to make the earlier labs easier.
An
FPGA is short for Field Programmable Gate Array. Essentially it is a large
array of logical elements that have been connected together. What makes the
FPGA unique is that the connections between these logical elements can be
programmed, which means the FPGA can be used to build many different kinds of
hardware all on the same chip. If you look at the HEX display on the bottom
left hand corner of your DE1 board you will see that it has a scrolling message
which says CSE 370. This is a program that the TAs have written and programmed
into your FPGA’s non-volatile memory. By programming into the non-volatile
memory, each time the board is turned on the CSE 370 program will be loaded,
regardless of what you did previously.
The image is a zoomed in picture of the prototyping board. As you can see, each
little hole has a corresponding pin mapping (more on this in later labs) and a pre-programmed
functionality. Remember the program that the TA’s put in the non-volatile
memory mentioned above? Well in addition to having the HEX display scroll CSE
370, the program also maps those holes to the indicated switches, keys, or
LEDs. So for example, if I hooked up the hole labeled "A13 SW9" to
the hole labeled "D21 LEDR9" with a wire, I would be controlling the
red led labeled LEDR9 on the DE1 board with the switch labeled SW9.
The solder-less breadboard attached to your prototyping
board is where you will be building all of your circuits. Notice the red and
black wires going to each of the rows at the top and bottom of the board. The
red wire denotes VDD (+5 Volts) and the black wire denotes Ground (0 Volts)
Never directly connect these two rows together in any way. You should have both
a VDD and Ground at the top of your board and a set at the bottom. Even though
there are spaces between the rows all of the holes are directly connected to
each other. This means you have rails of VDD and Ground both at the top and
bottom of your board.
In addition to the rails of VDD and Ground provided for you on the board there
are two 43 column holes separated by an indented divider. All 5 holes in one
column are connected to each other, however the column on the top of the
divider is not connected to the column below the divider. All of these
connections are underneath the board so you cannot see them. So remember, if
you connect VDD into one of the five holes in a column, all five holes now have
VDD running across them.
|
You
will now need to plug the solder-less bread board into the prototyping board.
As depicted above, You should plug the bread board connector which is on the
bottom of the right-hand side of the bread board circuit into Expansion Header
1(JP1) (the left one) on the Altera Terasic DE1 Prototyping Board. Make certain
that this is properly aligned before you press it in. Note: It is very easy
to mis-align the connectors by one pin from front to back. To make sure
that everything is properly aligned, take a look from the side at how the pins
from the bread board meet the Expansion Header. They should be entirely within
the outer edge of the Expansion Header. If everything is correctly aligned the
green LED on the bread board should light up.
Wires
should be inserted as perpendicular as possible to the breadboard and should
slide in and out with just a little force. If you find that there is a lot of
resistance in either direction, first review the wiring guidelines below, and
if that doesn't work, then please call over the TA or one of the lab staff.
Do not try to force anything larger than stripped wires into the holes, because
this could damage the protoboard (at great cost). If you need more wire help
yourself to the provided spools of uncut wire at the front of the lab.
Before doing any work on the protoboard such as wiring and inserting/removing
chips, be sure the power is OFF. That is, unplug the power
connector while you are constructing the circuit. After you have finished
wiring up your design and before you turn on the power, double check the power
and ground connections.
Wiring
your circuit together can often feel tedious, especially in the beginning.
However, if you are patient and wire your circuit nicely, you will find that
you will spend a lot less time tracking down wiring errors. To aid you in this,
here are a few tips to consider while wiring up your circuit. If anything is
unclear, ask your TA for an example.
For
those of you that learn better by seeing, here is a good
wiring example and a bad wiring example.
The
logic probe provides a very convenient way to check the value of any signal in
your circuit. The probe has two lights, HI and LO, which indicate the value of
the signal. The logic probe responds to the input voltage in two ways depending
on whether CMOS or TTL is selected. We will use the TTL setting which lights
the LO (Logical 0) light for voltages <0.8v. and lights the HI (Logical 1) light for voltages >2.3v.
If neither light is lit, then the signal is floating (i.e. not being driven by
any active output) or has some value between 0.8 and 2.3v.
Once Active-HDL is open and you have created your first workspace/design, click on the library button, then click the "Attach Library" button. Finally, go to where you extracted lib370.lib and select it.
|
Once
again, turn off the power before making any connections. We won't repeat this again, but you should always remove
power before making any wiring changes and only reconnect it after you've
double-checked that you've wired things correctly.
This
is your very first chip. We refer to the chip packages by the last two or three
numbers in the long string of characters printed on the top of the chip. Find the '04 inverter packaged chip and
insert it into the empty region straddling the divider on the breadboard. Each
pin of the chip is now connected to a 5-hole column on the breadboard. Be sure
to wire up VDD and Ground, chips need power in order to function, and if you
don't provide them with a ground, they won't function correctly. Make sure you
connect the right pins, Ground is pin 7 and VDD is pin 14 on the '04 chip.
The best way to determine the orientation of inputs and outputs for any of the
chips we have provided for you is to look at the chip maps.
This '04 Chip has 6 inverters in one package, pick one of them to use and hook
up the switch's wire to one of the inputs and hook up the output of the chip
for that particular input to the LED. Now turn on the power and flip the switch
a few times. Does it behave correctly? Does the LED turn on when the switch is
"Off" and turn off when the switch is "on"?
Finally, to make sure that inverter is really doing what it is should be doing,
turn off the power to the board. Now take the wire that used to go to the LED
and wire it to the input of another inverter located on the chip. Now wire the
output of that input to the LED. Turn on the board and check to make sure that
the inverter is behaving as expected. Is the LED now following the switch?
Turning on when the switch is "On" and turning off when the switch is
"Off?" It should do that because two NOTs would logically cancel. The
TAs will need to check you off for this.
We
won't give you detailed explanations on how to do this final task, however you
should be able to apply your knowledge from the previous tasks to complete this
one. Think about how a NOR gate works and see if you can find all four
combinations. The TAs will need to check you off for this. Finally if you
aren’t sure which chip is the NOR chip, look at your chip map.
Read
This, this can simplify later labs. Now that you have begun to use NOT and NOR gates, did you
know there are ways to duplicate the behavior of a NOT gate with a NOR or NAND gate?
Consider the two logic tables below: Notice what happens when drive both the
inputs of a NOR gate with the same output, it acts like a NOT gate. The same
applies for an NAND gate, when you drive both of the inputs of a NAND gate with
the same signal it acts like a NOT gate as well. Now if you are short an
inverter, but you have NANDs and NORs on your prototyping board you can use
them instead for a NOT gate instead of digging out your other NOT chip.
NOT
GATE |
NOR
GATE |
NAND
GATE |
|||||||||||||||||||||||||||||||||||||||
|
|
|
A TA
needs to "Check You Off" for each of the tasks listed below.
Comments
to:cse370-webmaster@cs.washington.edu