Is there any other kind?
Mountain Girl and I are lurching on ahead with our part of the group project. We've figured out how to wire everything up and (supposedly) Dr. Science is acquiring the line drivers we need. If we don't hear anything by the end of the week, we're having Dr. Flight order them for us. Line drivers are the chips we use to convert signals between the RJ45 signals (Ethernet) and the low voltage pulses that can be handled by the CPLD, which we're using as a controller. Even without the line drivers, we can get started with the controller logic.
Our next step is to create the file that informs the hardware definition language of the CPLD pinouts (the pins of the CPLD chip are wired to various I/O devices like LEDs and switches and to the open pins through which the CPLD will send signals to the Hamsters). In our previous classes, this file was always provided to us but now we're sort of on our own. Because the CPLD is different and therefore has different pinouts from the devices we used before, we can't simply copy over the file we used before. Not without changing all the pin numbers anyway.
First we try to scavenge a UCF file off the Internet. We aren't the first people to do this and perhaps our predecessors have posted a file online. No joy. Oh well. Doing things yourself is good for you.
We take the schematics for the CPLD prototyping board and the schematics for the I/O board. These two boards are connected with two 40 pin sockets. Matching up the pin for LED 1 with the corresponding pin on the CPLD would be a simple matter if Pin 1 on the header of the CPLD board matched Pin 1 on the socket of the I/O board. Naturally, the pins don't match. Pin 1 matches Pin 39, Pin 2 matches Pin 40, Pin 3 matches Pin 37, and so on for forty pins times two. So say you're trying to hook the CPLD to LED 1. On the schematic of the I/O board, you find the I/O board pin that's connected to LED 1 and match it with the corresponding pin on the CPLD board, then you look at the pinout chart for the CPLD (which has 144 pins so big chart), match the connector pin to the CPLD pin, and write down the CPLD pin number for LED 1. Phew. We have plenty of devices to hook up: eight LEDs, eight switches, five buttons, and a seven segment display which is run with twelve wires. With two pairs of eyes and two heads, this is not too bad. I'm glad I didn't have to do this on my own, because I'd have gotten everything upside down and backwards before I got it right.
After we do all that, we use one of our old UCF files and just change the pin numbers. Then we surf around and look at pictures of groundhogs. "Ooh! This one's cute!" "That one looks like a prairie dog." "Eew. That one has yucky yellow teeth!" "Do you think they should do dental hygiene before they photo-op him?"
I notice that the grad student in the corner keeps shooting us the "My God! Will you people shut up? I can't concentrate!" look. He's going to have a really long semester.
569 words | February 2, 2005 10:33 PM | Ivory tower